semvec/pypi-packages huggingface dataset:
netcfg-builder 0.3.0
Network Config Builder

# Network Config Builder

As a network automation engineer I need to template build network device
configurations.  I want to use Jinja2 as my templating language.  I want to be
able to use the Jinaj `include` directive so that I can include relative
template files. I want the ability to dynamically create variable collections
for each host using native Python, and have a tool that correlates these
variables based on a priority ordering.

This repostory provides such a tool.

```shell
$ netcfg-builder --template <template-file.j2> -e <extra-variables>
```

When `-e <varname>=<value>`, then the variable name `varname` is defined with the value `<value>`.

For example, define a varialbe called `varsdir` that has the value `/usr/local/myvars`.

```shell
$ netcfg-build --template <template-file> -e vardirs=/usr/local/lib/myvars
```

When `<extra-varialbes>` is a `.py` file, that file needs to decorator functions; each
of these functions will be called in priority order.  Priority 0 is first.

For example:

```python
from pathlib import Path
from netcfg_builder.variables import ingest, load_directory

@ingest(0)
def load_variables(tvars: dict, **extras):
    varsdir = Path(extras['varsdir'])
    tvars.update(load_directory(varsdir.joinpath('common')))
    tvars.update(load_directory(varsdir.joinpath(extras['hostname'])))
```

The first parameter, `tvars` to the decordated function is current set of template variables.
The second parameter, `**extras` are any extra variables defined on the command line.
streamkeeper 2.0.1
Keep those livestreams to watch whenever you want
Requires Python: >=3.7,<4.0

# Streamkeeper

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

Watches configured youtube channels and will automatically download any live streams the youtube channel posts, then this can convert to a particular video format. Optionally you can get notified over pushover.

## Quickstart

For now copy config.ini.sample to config.ini and fill in following the TODO comments.

* `pip install streamkeeper`
* `streamkeeper process /path/to/config.ini` - This runs streamkeeper in the foreground.
* `streamkeeper daemon config.ini` - This runs streamkeeper in the background(where config.ini is in the current folder).

Note: The script requires [ffmpeg](https://ffmpeg.org/) if you wish to enable conversions. So this needs to be installed with it's executable in the current path.

## Development

### Setup

* `make setup`
* `make start` or `make daemon` to background it

### Testing

* `make test`

### Publishing

* `make build`
* `make publish`
pyjamaas 0.6
Python MaaS and Juju toolkit

# pyjamaas

Python Juju and MaaS toolkit.

## Features

`pyjamaas` simplifies interaction with MaaS and Juju when working with a large number of heterogenous machines. It heavily utilizes the MaaS tags mechanism.

Features:

- `pyjamaas tags`: Easily create, delete and update multiple tags for multiple machines
- `pyjamaas clone`: Easily clone configuration to multiple machines, using tags
- `pyjamaas machine`: Utility commands for retrieving machine information

Also see [examples](./EXAMPLES.md)

## Installation

```bash
$ pip install pyjamaas
```

## Configuration

`pyjamaas` needs MaaS credentials. You can use environment variables:

```bash
$ export MAAS_API_URL=https://maas.server.name:5240/MAAS/api/2.0
$ export MAAS_API_KEY=AAAAAAAAAAAAAA:BBBBBBBBBBBBBBB:CCCCCCCCCCCCCCC
```

Or create a `pyjamaas.conf` file (see [sample](./config/pyjamaas.conf)):

```ini
[maas]
api_url = https://maas.server.name:5240/MAAS/api/2.0
api_key = AAAAAAAAAAAAAA:BBBBBBBBBBBBBBB:CCCCCCCCCCCCCCC
```

```bash
$ pyjamaas <command> --config-file pyjamaas.conf
```

`pyjamaas` will automatically look for config files in a few standard directories, e.g. `/etc/pyjamaas.conf`, `/etc/pyjamaas/pyjamaas.conf`, `~/.pyjamaas/pyjamaas.conf`).

Print loaded configuration with `pyjamaas config`. If a required option is missing, an error message is printed:

```bash
$ pyjamaas config
value required for option api_key in group [maas]
```

## Usage

For a list of available commands:

```bash
$ pyjamaas --help
```

Most `pyjamaas` commands have the format `pyjamaas <command> <args> --match <filter>`. The `<filter>` can be used to select machines based on `system_id`, `hostname`, or `tags`. The examples below should be clear enough:

```bash
# Match a single machine using hostname
$ pyjamaas machine list --match '{hostname: host1}'
```

```bash
# Match multiple machines by hostname
$ pyjamaas machine list --match '{hostname: [host1, host2]}'
```

```bash
# Match multiple machines by system id
$ pyjamaas machine list --match '{system_id: [system1, system2]}'
```

```bash
# Match machines using tags (multiple tags imply AND)
$ pyjamaas machine list --match '{tags: [tag1, tag2]}'
```

## Auto completion

Enable auto-completion with:

```bash
$ . <(pyjamaas complete)
```
microchain-damiencorpataux 0.0.1
Toolchain for micropython and microcontrollers
Requires Python: >=3.6

# microchain
Toolchain for micropython and microcontrollers

Example usage on Debian:
```
apt install micropython

python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt

python -m microchain --port /dev/ttyUSB0 project --path example-project deploy
python -m microchain --port /dev/ttyUSB0 mcu terminal
```