semvec/pypi-packages huggingface dataset:
burstH2MM 0.1.7
API for using H2MM_C with FRETBursts
Requires Python: >=3.8

# burstH2MM

[![Tests](https://github.com/harripd/burstH2MM/actions/workflows/Test.yml/badge.svg)](https://github.com/harripd/burstH2MM/actions)

[![Documentation Status](https://readthedocs.org/projects/bursth2mm/badge/?version=latest)](https://bursth2mm.readthedocs.io/en/latest/?badge=latest)

## Introduction

burstH2MM is a package designed to make processing FRETBursts data with photon-by-photon hidden Markov Modeling (H<sup>2</sup>MM) easy to use, and to calculate things such as E, S, transition rates, and other dwell and model parameters, removing the need to manually recode such details each time.

The basic units of burstH2MM are:

- **BurstData** the container of a set of photon streams
- **H2MM_list** The container for a divisor scheme
- **H2MM_resutl** A H<sup>2</sup>MM optimization. This is contains most analysis parameters. Things such as dwell E, dwell S, and dwell mean nanotime

While each class can be assigned to a new variable or list, all three classes keep a record of the object they create, and the object that created them. Therefore it is generally encouraged to simply work with the originating BurstData object and refer to all subfield through it following the appropirate referencing of attributes.

# Documentation

See full documentation at [https://bursth2mm.readthedocs.io](https://bursth2mm.readthedocs.io)

# Installation

This package can be installed with

```bash
$ pip install burstH2MM
```

# Background

H<sup>2</sup>MM was developed by [Pirchi and Tsukanov et. al. J. Phys. Chem. B 2016](https://doi.org/10.1021/acs.jpcb.6b10726), and extended in [Harris et.al. Nat. Comm. 2022](https://doi.org/10.1038/s41467-022-28632-x). This modeule requies the H2MM_C packaged introduced in *Harris et.al.*, and [FRETBursts](https://fretbursts.readthedocs.io/en/latest/), developed by [Ingariola et. al. Plos ONE 2016](https://doi.org/10.1371/journal.pone.0160716) to make the process of anlaysis far easier for single molecule FRET data.

When using `burstH2MM` please cite all three papers.
aws-eni-identifier 0.1.4
Identify to which AWS service network interface is associated
Requires Python: >=3.9.0,<4.0.0

[![FivexL](https://releases.fivexl.io/fivexlbannergit.jpg)](https://fivexl.io/)
# AWS ENI Identifier
Identify to which AWS service network interface is associated

![aws-eni-identifier-cli.png](https://github.com/fivexl/aws-eni-identifier/raw/master/docs/usage.gif?raw=true)

# Installation

```bash
pip install aws-eni-identifier
```

# Usage
aws-eni-identifier does not connect to AWS by itself, so you will need to load data with aws-cli

Login to aws:
```bash
aws sso login --profile my-profile
```

Use pipe:
```bash
aws ec2 describe-network-interfaces | aws-eni-identifier
```

Or save to file with aws-cli and read it:
```bash
aws ec2 describe-network-interfaces > ni.json
aws-eni-identifier -i ni.json
```

## Show extra columns
```bash
aws ec2 describe-network-interfaces | 
aws-eni-identifier \
    --add-column Attachment.Status \
    --add-column AvailabilityZone
```
![extra-columns.png](https://github.com/fivexl/aws-eni-identifier/raw/master/docs/extra-columns.png?raw=true)

## Filter
Find unused network interfaces:
```bash 
aws ec2 describe-network-interfaces \
    --filters "Name=status,Values=available" |
aws-eni-identifier
```
Find AWS resource by IP address (you can use public or private IP address)
```bash 
export IP='51.21.223.193';
aws ec2 describe-network-interfaces \
    --query "NetworkInterfaces[?PrivateIpAddresses[?PrivateIpAddress=='${IP}' || Association.PublicIp=='${IP}']]" | 
aws-eni-identifier
```
Determine what is using specific AWS network interface
```bash
aws ec2 describe-network-interfaces \
    --network-interface-ids eni-0068ac3f8786de59a | 
aws-eni-identifier
```

You can find more information about filters and queries in [AWS documentation](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interfaces.html#options)
 

# Developing

Install the package:
```bash
poetry install
```
Run tests:
```bash
poetry run pytest
```
slackops 0.1.7
Easily post good looking slack messages about your operations
Requires Python: >=3.9.0,<4.0.0

# SlackOps
Post process information to the slack without clogging up the channel with a bunch of messages. Easily update status, see when operation started / finished and how much time it took.

[![PyPI version](https://badge.fury.io/py/slackops.svg)](https://pypi.org/project/slackops/)

## Installation

```bash
$ pip install slackops
```
## Table of contents
* [Basic usage](#basic-usage)
* [Simple message](#basic-usage-of-the-web-client)
* [Formatting. Default and persistent values](#basic-usage-of-the-web-client)
* [AWS Lambda]()

## Basic usage
```python
import slackops

slack = slackops.Operation(token=SLACK_BOT_TOKEN, channel=CHANNEL_NAME)

slack.start("Application update", "Backup")
```

![1. Start](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/1-start.png)

```python
slack.update("2. Updating application")
```
![2. Updating application"](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/2-update.png)

```python
slack.update("3. Healthchecks")
```
![3. Healthchecks](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/3-update.png)

```python
slack.finish("4. Application successfully updated!")
```
![4. Application successfully updated!](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/4-finish.png)

Operation statuses also posted to thread:

![Thread messages](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/5-thread-messages.png)

## Simple message
Note: any formatting you see in 'Message' template (header, text, context), can also be used with 'Operation' template you seen before.

```python
slack = slackops.Message(token=SLACK_BOT_TOKEN, channel=CHANNEL_NAME)

slack.post(
    text="Example message",
    severity="error", # info | success | warning | error
    header="Header",
    context=["from ip: 192.162.1.1"],
)
```

![message](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/message.png)


## Formatting. Default and persistent values
You can set default values:
```python
slack.tmpl.default.set(context=["default context - from ip: 192.162.1.1"])
slack.tmpl.default.set(severity="success")

slack.post("If no value is passed, the default value will be used (if available).")
```

![default values](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/default_values.png)

And persistent values:
```python
slack.tmpl.persistent.set(header="API event: ")
slack.tmpl.persistent.set(text="*Details:*\n")

slack.post("username: haru\n ", header="new user!")
```

![persistent values](https://raw.githubusercontent.com/haru-mamburu/slackops/master/docs/images/persistent_values.png)

## AWS Lambda
To use 'Operation' template beetwen different lamdas, you can do following:
1. Export in first lambda:
```python
packed_operation = slack.pack()
```
2. And import in second lambda:
```python
slack = slackops.Operation(packed_operation=packed_operation)
```