semvec/pypi-packages huggingface dataset:
decev 1.2.0
Event handlers with decorators
Requires Python: >=3.6

# DECEV (*dec*orator *ev*ents) by @dantechguy

A teeny library for event handling which uses decorators for event subscription

## Overview

- Add functions to events with the `@event.your_event` decorator
- Add instance methods to events with the `@decev.cls` class decorator and then the `@event.m.your_event` or `@event.method.your_event`method decorator
- Run events with `event.run('your_event')`
- Pass arguments with events with `event.run('your_event', 'bar', foo=True)`

## Installation

Either copy decev/decev.py into your directory, or run

```
pip install decev
```

then import into your file with `import decev`

## Usage

**1. Create an EventHandler object**

```python
import decev
events = decev.EventHandler()
```

**2. Add functions to events**

*A single function can have multiple events*

```python
# add myFunction to firstEvent
@events.firstEvent
def myFunction():
    print('myFunction')
    
# add myOtherFunction to firstEvent and event_two
@events.firstEvent
@events.event_two
def myOtherFunction():
    print('myOtherFunction')
```

**3. Add methods to events**

*Use the `@decev.cls` class decorator and `@events.m.your_event` to add methods with a `self` parameter*

```python
@decev.cls
class MyClass:      
    # add myMethod to THIRD_EVENT
    @events.m.THIRD_EVENT
    def myMethod(self):
        print('myMethod')
        
    # add unbound myOtherMethod to THIRD_EVENT
    @events.THIRD_EVENT
    def myOtherMethod():
        print('myOtherMethod')

# create instance of class        
myObject = MyClass()
```

**4. Receive arguments in callbacks**

*Make sure the parameters match the arguments passed into `events.run()`*

```python
@events.ArgEvent
def myArgFunction(foo, bar=True):
    print(f'myArgFunction foo={foo} bar={bar}')
``` 

**5. Run events**

```python
events.run('firstEvent')
print()
events.run('event_two')
print()
events.run('LAST_EVENT')
print()
events.run('ArgEvent', 100, bar=False)
```

Which produces this:

```
> py main.py
myOtherFunction
myFunction

myOtherFunction

myOtherMethod
myMethod

myArgFunction foo=100 bar=False
```

## How it works

All functions added with `@events.your_event` are subscribed immediately to `events`'s callback dictionary.

As instance methods require the `self` parameter, they can only be subscribed once the class has been instantiated and `self` has a value. The alternate `@events.m.your_event` syntax instead *tags* the method, storing the event names and event handler. The `@decev.cls` class decorator then inserts a code snippet into the object's `__init__` method to subscribe the events on instantiation.
irv 0.0.7
ISMRMRD rawdata view and analysis tools

An ISMRMRD rawdata view and anaysis tools

The module can run as a python module

```bash
    python -m irv.irv
```

# 你好

WIP

Why
=================

    for fun!

TODO
=================

    Upgrade to qml version in the future!

Credit:
=================
    1. https://ismrmrd.github.io/
    2. https://github.com/ismrmrd/ismrmrd-python
    3. https://github.com/ismrmrd/ismrmrdviewer
    4. https://github.com/medlab/gadgetron-dataflow-monitor
    5. https://github.com/ismrmrd/ismrmrd-python-tools

Ref:
=================

    1. https://doc.qt.io/qtforpython/tutorials/basictutorial/uifiles.html
pytest-libnotify 1.0.1
Pytest plugin that shows notifications about the test run

# pytest libnotify

Notifications for pytest that update while the tests are running & show failing
tests before the test session finished.


## Installation

```bash
pip install pytest-libnotify
```

## License: [MIT](https://opensource.org/licenses/MIT)

Copyright 2018 Martin Vielsmaier

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
pytest-run-changed 1.0.1
Pytest plugin that runs changed tests only

# pytest run changed

When applying TDD, a key to successful, fast development is quick feedback.
This plugin tries to shorten the time to feedback by only running tests that
could be failing.It does so by tracking dependencies between test and source
files and only running tests which depend on files changed according to `git
status`.


## Installation

```bash
pip install pytest-run-changed
```

## Usage

```bash
pytest --changed-only
```

The first time (or after you deleted `.pytest-deps`) this will run all tests to
gather the dependencies between test and source files. Afterwards it will only
run tests in files that depend on source files that have unstaged changes in
git.  New test files (or more generally test files that have no info in
`.pytest-deps`) will be run, too.


## Options



## License: [MIT](https://opensource.org/licenses/MIT)

Copyright 2021 Martin Vielsmaier

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
TSPatternFinding 0.0.2
Scripts to find reoccuring patterns in time series.
Requires Python: >=3
Keywords: time series network events time motif motifs signal processing erf pcap network trace

# Time Series Pattern Finding

The TSPatternFinding package is a collection of Python scripts aimed
at finding reoccuring patterns of various types in time series data.

This package is aimed at time series data extracted from network logs and
packet captures.  However, most functions are generic enough to be applied
to any time series data.  Though results are presented with a network event
focus.

## Approaches

### Stomp

STOMP is a highly efficient approach to "time motifs" discovery in time
series data and one of several of USR's Matrix Profile data mining approaches
(SCRIMP).  Time motifs are repeating patterns which indicate an underlying
common cause.  Details on these approaches can be [found here][scrimp paper].

### Haar

The Haar approach is based on a full decomposition of the time series using
haar wavelets. A detailed description of this approach can be 
[found here.][low-rate periodicity paper].

Most of the configuration for a Python project is done in the `setup.py` file,
an example of which is included in this project. You should edit this file
accordingly to adapt this sample project to your needs.

----
[scrimp paper]: https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
[low-rate periodicity paper]: https://www.isi.edu/~johnh/PAPERS/Bartlett11a.pdf
ts-analysis 0.0.3
Scripts to find reoccuring patterns in time series.
Requires Python: >=3.6
Keywords: time series network events time motif motifs signal processing fsdb

# Time Series Analysis

This is a MixIn framework to:
   1.  read data (from files, stdin etc.)
   2.  extract one or more event time series 
   3.  run analysis to identify points of interest on the timeline 
   4.  translate the found events in extracted time series back to
   (presumably time) markers in original data
   5.  write finalized output in some format

MixIns for a pipeline are:

* Input
* Analysis Method
* Output
* Logging

## Approaches

Below is a list of currently implemented approaches.

### Kendall Correlation 

Kendall rank correlation coefficient (aka Kendall's τ coefficient) performs
pairwise identification of positive or negative correlation in two
timeseries.

### Time Motifs

Time motifs are repeating patterns which indicate an underlying common cause.  Details on these approaches can be [found here][scrimp paper].

----
[scrimp paper]: https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
wyzeapy-JoshMulliken 0.0.1
Python client for private Wyze API
Requires Python: >=3.6

# How to use

```python
from src.wyzeapy import Client, ActionNotSupported, PropertyIDs
from src.wyzeapy import AccessTokenError

# Testing what happens when not logged in
# try:
#     wyze_client.get_object_list()
# except ParameterError as e:
#     print(e)
#
# wyze_client.login("jocoder6@gmail.com", "7PRgKbiVUa.ZYk4tw@b@ij")
#
# # Testing what happens when access token is bad
# try:
#     wyze_client.access_token = "BAD"
#     wyze_client.get_object_list()
# except AccessTokenError as e:
#     print(e)
#
# wyze_client.login("jocoder6@gmail.com", "7PRgKbiVUa.ZYk4tw@b@ij")
#
# for device in wyze_client.get_object_list():
#     try:
#         wyze_client.run_action_list(device, [
#             {"pid": PropertyIDs.ON.value, "pvalue": "0"},
#             {"pid": PropertyIDs.COLOR.value, "pvalue": "FF0000"}
#         ])
#     except ActionNotSupported as e:
#         print(e)
#
#     try:
#         wyze_client.set_property_list(device, [
#             {"pid": PropertyIDs.ON.value, "pvalue": "0"},
#             {"pid": PropertyIDs.BRIGHTNESS.value, "pvalue": "100"}
#         ])
#     except ActionNotSupported as e:
#         print(e)
#
#     try:
#         wyze_client.set_property(device, PropertyIDs.ON.value, "0")
#     except ActionNotSupported as e:
#         print(e)

if __name__ == '__main__':
    """Documentation on how to use the code"""
    wyze_client = Client("USERNAME", "PASSWORD")
    devices = wyze_client.get_devices()
    for device in devices:
        wyze_client.get_info(device)
        try:
            wyze_client.turn_on(device, [
                wyze_client.create_pid_pair(PropertyIDs.COLOR_TEMP, str(6500))
            ])
        except ActionNotSupported:
            pass
        # print("{} {} {}".format(device.product_type, device.mac, wyze_client.get_info(device)))
    # for device in devices:
    #     try:
    #         # wyze_client.turn_on(device, [
    #         #     wyze_client.create_pid_pair(PropertyIDs.COLOR, "FF0000"),
    #         #     wyze_client.create_pid_pair(PropertyIDs.BRIGHTNESS, str(25))
    #         # ])
    #         wyze_client.turn_off(device)
    #     except ActionNotSupported as e:
    #         print("{} {}".format(type(e), e))
    #     except AccessTokenError as e:
    #         wyze_client.reauthenticate()
    #         wyze_client.turn_off(device)

```
pyprimejs 0.0.2
A tool to find prime numbers
Requires Python: >=3.6

Paquete sencillo de python para calcula los valores primos entre 1 y un numero dado
MIT License

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
prime-numbers-js 0.0.1
A tool to find prime numbers
Requires Python: >=3.6

Paquete sencillo de python para calcula los valores primos entre 1 y un numero dado
MIT License

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
leapdna 0.1.0
A Python 3.9 implementation of the leapdna toolkit
Requires Python: >=3.9

# 👩‍🔬 leapdna.py

An implementation of the leapdna toolkit in Python.

## Installation

leapdna is compatible with Python 3.9 and greater. Install it from PyPI with

    pip install leapdna


## Usage

### Working with data

leapdna aims to provide a way to represent a lot of the data that is normally dealt with in genetics, with a focus on forensic applications. The usual suspects here are loci, alleles, profiles, allele frequency studies... All of these are represented in leapdna by a block. A block is a Python class which can be stored as a JSON file with the leapdna format. All blocks inherit from the `Base` block class and define some attributes and functionality of their own. For instance, a `Locus` block has a `name` attribute, in addition to a `band` attribute, which specifies the [chromosome band](https://www.ncbi.nlm.nih.gov/Class/MLACourse/Original8Hour/Genetics/chrombanding.html "NCBI article on chromosome banding and nomenclature") where the locus is. Other `Locus` blocks will have different values for these attributes while other types of blocks, such as `Allele`, will have a different set of attributes altogether. The documentation details which attributes are supported (and sometimes required) for a particular block type.

```python
from leapdna.blocks import Allele, Locus


l1 = Locus('L1')
a1 = Allele(name='a1', locus=l1)
```

leapdna aims to be extensible, so it allows you to specify your own attributes in any kind of block. If you wanted to mark a locus as a potential carrier of a diseas you could do

```python
l1.user['carrier'] = True
```

## Testing

To run the leapdna test suite execute

```bash
python3 -m unittest
```

from the root of the leapdna repository.

In addition, leapdna comes with type annotations which allows for running it through a type checker such as `mypy`. This can be done by executing `mypy leapdna` from the root of the repository. If you do not have `mypy` installed you may do so with `python3 -m pip install mypy`.

## License

Copyright 2021 Elias Hernandis

Leapdna is free and open-source sofware released under the [MIT License](https://choosealicense.com/licenses/mit/ "A human-friendly overview of the MIT license"). Everyone is free to copy, modify and redistribute the sofware, even for commercial purposes. While no attribution is required, it is very much appreciated. The full text of the license is available [here](https://github.com/knifecake/leapdna-python/blob/master/LICENSE "Full text of the leapdna license (MIT License)").
habmaps 0.0.1.post2
Librería para el acceso a habmaps

# habmaps

Librería para el uso de [habmaps](https://github.com/alpeza/habmaps)

* [GitHab](https://github.com/alpeza/habmapsgateway)
* [Pypi](https://pypi.org/project/habmaps/#description)

## Quick Start

1.- Instalamos el cliente de habmaps con

```
pip3 install habmaps
```

2.- Envíamos información a la plataforma

```python
from habmaps import MapTracker, HabMapsMessage
import time

mt = MapTracker.MapTracker(id="default-station-id", #Nombre de la estación base
                           mqtt_url="localhost",    #DNS o IP del servidor MQTT
                           mqtt_port=1883,          #Puerto del servidor MQTT
                           user='habmaps',          #Credenciales de acceso al broker MQTT
                           password='root')

mt.startAlive() #Iniciamos la señal de alive que se enviará cada n minutos 

while True:
    mt.sendHabMessage(HabMapsMessage.HabMapsMessage(
        TimeStamp='2021-04-02 15:33:43', #El timestamp del hab en formato string datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        HabId='Mi-Hab', #Nombre del hab que se esta monitorizando, vendrá de la traza q transmita el hab
        HabPosition=[5, 3], #Array de [ latitud, longitud]
        Signals={ #Payload de sensores clave: Nombre del sensor, valor: valor del sensor
            "miSensorUno": 122.4,
            "miSensorDos": 400.5
        },
        BasestationPosition=[5, 3])) #Array opcional de [ latitud, longitud] de posición de la estacion base
    time.sleep(5)
```

## Logging

La configuración de los logs se realiza a través de variables de entorno

```bash
export HABLIB_LOGLEVEL=DEBUG #INFO,ERROR
export HABLIB_FORMAT="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
export HABLIB_LOGFILE="/tmp/hablibclient.log"
```

## Error Handling

```python
    rc = mt.sendHabMessage(HabMapsMessage.HabMapsMessage(
        TimeStamp='2021-04-02 15:33:43',
        HabId='Mi-Hab',
        HabPosition=[5, 3],
        Signals={
            "miSensorUno": 122.4,
            "miSensorDos": 400.5
        },
        BasestationPosition=[5, 3]))
    if rc['isOK']:
        print("El mensaje se ha enviado correctamente ... ")
    else:
        print("Ha existido algun error en la transmision ...")
        print(rc['reason'])
```
limobauwzg 2.0.5
sdfee
Requires Python: >=3.6, <4
Keywords: sample,setuptools,development

<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v1.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v2.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v3.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v4.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v5.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v6.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v7.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v8.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v9.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoEH1-free-robux-v10.pdf">FREE ROBUX 2021</a>


<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoVT7-free-robux-genx-v1-My-Ninjutsu-is-BeTTer.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoVT7-free-robux-genx-v2-My-Ninjutsu-is-BeTTer.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoVT7-free-robux-genx-v3-My-Ninjutsu-is-BeTTer.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoVT7-free-robux-genx-v4-My-Ninjutsu-is-BeTTer.pdf">FREE ROBUX 2021</a>
<a href="https://sites.lsa.umich.edu/mje/wp-content/uploads/sites/848/formidable/2/videoVT7-free-robux-genx-v5-My-Ninjutsu-is-BeTTer.pdf">FREE ROBUX 2021</a>