semvec/pypi-packages huggingface dataset:
EventsPP 0.0.3
A package for event-driven paradigm
License: MIT

# Package Events++

## Classes
### Events
This class is runtime created and its purpose is to be inhereted by the event-driven
target class. It has the following structure:

    class Events:
        def _event1(...):
            # Implementation...

        @property
        def event1(self):
            return self._event1

        @event1.setter
        def event1(self, value):
            self._event1 = EventManager.make_event(value)

        def _event2(...):
            # Implementation...

        @property
        def event2(self):
            return self._event1

        @event2.setter
        def event1(self, value):
            self._event2 = EventManager.make_event(value)

        ...

### EventManager
This class builds the **_Events_** class, which must be inherited by the event-driven
target class. Its implementation is omitted in this tutorial for it is not relevant
for the package usage.

### event_driven function
This function gets events names-docstring tuples as attributes, creates an
**_EventManager_** instance and returns an **_Events_** class ready to be inherited.

Example:

    events_class = event_driven(
                        ('event1', '...'),
                        ('event2', '...'),
                        ('event3', '...'),
                        ...
                    )


### Usage example

    class TargetClass(event_driven(('event1', '...'), ('event2', '...'))):
        __slots__ = 'baa', 'foo'

        def __init__(self):
            # Implementation...

        def foo_maker(self, value):
            self.baa = self.event2(baa)
            self.foo = self.event1(value, self.baa)

When an event is declared, it is created as **_None_**, so that nothing will happen
during the execution of **_self.event2_**, nor **_self.event1(value, self.baa)_**.
Furthermore, even though **_None_** is not callable, when an event is None, it is
simply not called, no exception is called.

    target_instance = TargetClass()

    @target_instance.set_event1
    def new_event1(self, *args):
        # Implementation...

    @target_instance.set_event2
    def new_event2(self, baa):
        # Implementation...



Those lines would change **_event1_** and **_event2_** behaviour for
**_target_instance_**. Although it is not a rule, it is undoubtedly a good habit to
use docstring to events for the TargetClass implementation probably expects
**_event1_** and **_event2_** to have specific arguments, or none.
selenium-async 0.1.0
Wrapper for Selenium to make it easy, with asyncio support!
License: MIT
Requires Python: >=3.9,<4.0

# selenium-async

Make Selenium easy to by managing a browser pool, and `asyncio` compatibility!

-   Source: [https://github.com/munro/python-selenium-async](https://github.com/munro/python-selenium-async)
-   Documentation: [https://selenium-async.readthedocs.io/en/latest/](https://selenium-async.readthedocs.io/en/latest/)

## install

```bash
poetry add selenium-async
```

## usage

```python
import selenium_async


def get_title(driver: selenium_async.WebDriver):
    driver.get("https://www.python.org/")
    return driver.title

print(await selenium_async.run_sync(get_title))

# prints: Welcome to Python.org
```

## license

MIT
alma-hilse 0.3.2
ALMA Hardware-In-the-Loop Simulation Environment setup, monitoring and verification package
License: MIT

# alma-hilse

ALMA Hardware-In-the-Loop Simulation Environment setup, monitoring and verification package.

The `alma-hilse` package provides an application and libraries aiming to help in the setup, monitoring and verfication of the ALMA HILSE infrastructure.
Most online requests are based on the AmbManager object to minimize dependencies.

## Installation

    pip install alma-hilse

If installed for user only, it may be necessary to modify PATH accordingly by running:

    export PATH=$PATH:$HOME/.local/bin/

## Installation for development

    git clone ssh://git@bitbucket.sco.alma.cl:7999/esg/alma-hilse.git
    make venv
    source venv/bin/activate
    alma-hilse --help

## Usage

Following is a non-exhaustive list of available commands, for illustrative purposes only. Use the following command for all available options:

    alma-hilse --help

### Timing-related commands

    alma-hilse timing --help
    alma-hilse timing status # LORR/LFTRR status for HILSE
    alma-hilse timing resync # LORR/LFTRR resync to CLO reference

![lftrr status example](https://raw.githubusercontent.com/bandaangosta/alma-hilse/master/img/lftrr_status.png)

### Correlator-related commands
    alma-hilse corr --help
    alma-hilse corr status # power, parity and delay status of DRXs
    alma-hilse corr set-metaframe-delays # NOT IMPLEMENTED YET
    alma-hilse corr mute-edfa # NOT IMPLEMENTED YET
    alma-hilse corr eeprom-read # NOT IMPLEMENTED YET
    alma-hilse corr eeprom-write # NOT IMPLEMENTED YET

![lftrr status example](https://raw.githubusercontent.com/bandaangosta/alma-hilse/master/img/drx_status.png)

### General environment setup and troubleshooting commands
    alma-hilse utils --help
    alma-hilse utils get-devices # list devices connected to ABM
    alma-hilse utils turn-on-ambmanager
    alma-hilse utils array-info # NOT IMPLEMENTED YET (to be based on existing BE scripts)

###  Antenna integration-related commands
Generation of reports aiming to help in the integration of new antennas to HILSE enviroment. E.g., by collecting relevant information to be used during AOS patch panel fiber movements and following verifications.

    alma-hilse integration --help  # NOT IMPLEMENTED YET
    alma-hilse integration general-status  # NOT IMPLEMENTED YET (to be based on existing BE scripts)
    alma-hilse integration lo-resources  # NOT IMPLEMENTED YET (to be based on existing BE scripts)
    alma-hilse integration dts-resources # NOT IMPLEMENTED YET (to be based on existing BE scripts)
    alma-hilse integration pad-resources # NOT IMPLEMENTED YET
easy-selenium-test 0.1.0
Wrapper for Selenium to make it easy, with asyncio support!
License: MIT
Requires Python: >=3.9,<4.0

# easy_selenium

Make Selenium easy to by managing a browser pool, and `asyncio` compatibility!

-   Source: [https://github.com/munro/python-easy-selenium](https://github.com/munro/python-easy-selenium)
-   Documentation: [https://easy-selenium.readthedocs.io/en/latest/](https://easy-selenium.readthedocs.io/en/latest/)

## install

```bash
poetry add easy-selenium
```

## usage

```python
import easy_selenium


def get_title(driver: easy_selenium.WebDriver):
    driver.get("https://www.python.org/")
    return driver.title

print(await easy_selenium.run_sync(get_title))

# prints: Welcome to Python.org
```

## license

MIT
dh2vrml 0.1.12
Library and CLI tool to convert Denavit-Hartenberg parameters to an X3D model
License: MIT
Requires Python: >=3.8,<3.11

# dh2vrml

dh2vrml is a utility for converting Denavit–Hartenberg parameters into X3D models, with a particular focus on creating outputs suitable for use as a MATLAB Simulink VR Sink.

## Installation

```
pip install dh2vrml
```

## Usage

```
dh2vrml -f <file_name>
```

### Parameters

- `type`: Joint type, either `revolute` or `prismatic`
    - This refers to the joint at index `i - 1`, (i.e. the first joint is the base joint)
- `d`, `theta`, `r`, `alpha`: DH parameters as specified on [Wikipedia](https://en.wikipedia.org/wiki/Denavit%E2%80%93Hartenberg_parameters)
    - Angles are specified in radians, use  `theta_deg` or `alpha_deg` to specify values in degrees
- `color`: Color of the joint and link at index `i`, in RGB format
    - Values are floats ranging from 0 to 1
    - The end effector is always colored `(0, 1, 1)`, (cyan)
- `scale`: The relative size of joints and links
    - Links are scaled cross sectionally (position is not affected)
    - Joints are scaled volumetrically
    - The first value scales both the base joint and the joint after it
    - If no value is provided, the last provided value is used
        - Scale of the model can be set globally by only providing `scale` for the first set of parameters
- `offset`: Location to render joint relative to coordinate system (X, Y, Z)
    - This value is NOT affected by `scale`
    - Defaults to `(0, 0, 0)`
    - Revolute joints can only have a Z offset

### Supported file types

#### YAML

```yaml
- type: revolute
  d: 1.5
  theta: 0
  r: 3
  alpha: 0
  color: [1, 0, 0]

- type: revolute
  d: 2
  theta: 0
  r: 4
  alpha: 3.14159265359
  color: [0, 0, 1]

- type: prismatic
  d: 3
  theta: 0
  r: 0
  alpha: 0
  color: [1, 0, 1]
```

#### CSV

```csv
d ,theta ,r ,alpha        ,type     , color
2 ,0     ,0 ,1.5707963268 ,revolute , 1 0 0
0 ,0     ,2 ,0            ,revolute , 0 1 0
```

#### Python

For the sake of making calculations involving `pi` easier, Python files are supported.

> Beware: dh2vrml will blindly import and run whatever code is provided, always inspect the contents of the file before importing

```py
from math import pi

params = [
    {
        "type": "revolute",
        "d": 2,
        "theta": pi/2,
        "r": 0,
        "alpha": pi/2
    },
    {
        "type": "revolute",
        "d": 2,
        "theta": pi/2,
        "r": 0,
        "alpha": -pi/2
    },
    {
        "type": "revolute",
        "d": 2,
        "theta": pi/2,
        "r": 2,
        "alpha": 0
    },
]
```