semvec/pypi-packages huggingface dataset:
ocdc 0.5.0
A changelog formatter for "people", neat freaks, and sloppy typists.
License: MIT
Requires Python: >=3.8,<4.0
Keywords: changelog,markdown,formatter

![OCDC Logo](/logo.png)

<h2 align="center">Obsessive-Compulsive Development Changelogs</h2>

`ocdc` is a changelog formatter for "people", neat freaks, and sloppy typists.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
with some slight modifications:

- Lines are wrapped at 90 characters.
- Version sections are separated by two blank lines to aid visual scanning.
- Square brackets are not used in titles. Changelogs aren't programming
  languages, so why throw in weird symbols like that?


## Installation

```console
$ pip install ocdc
```


## Usage

To format `CHANGELOG.md` in the current directory, run `ocdc` without arguments.
You can also pass a custom path.

```console
$ ocdc [--path CHANGELOG.md]
```

To check `CHANGELOG.md` without modifying the file, use `--check`.

```console
$ ocdc --check [--path CHANGELOG.md]
```

To create a new `CHANGELOG.md`, use the `new` subcommand.

```console
$ ocdc new [--force]
```

For a description of all options, use `--help`.

```console
$ ocdc --help
```


## Configuration

Configuration is for the weak-willed. There shall be only one true format.


## Disclaimer

This thing is new, and it might eat your changelog! Back up your files (in git)
before trying `ocdc`.
freyr 0.3.5
Tracks temperature and humidity readings and graphs the results in a web dashboard.
License: MIT
Requires Python: >=3.11
Keywords: dht22,fastapi,micropython,pi-pico-w

# Freyr

[![PyPI - Python](https://img.shields.io/pypi/pyversions/freyr.svg?logo=Python&label=Python&style=flat-square)](https://pypi.python.org/pypi/freyr/)
[![PyPI - Status](https://img.shields.io/pypi/status/freyr.svg?logo=Python&label=Status&style=flat-square)](https://pypi.python.org/pypi/freyr/)
[![PyPI - Version](https://img.shields.io/pypi/v/freyr.svg?logo=Python&label=Version&style=flat-square)](https://pypi.python.org/pypi/freyr/)
[![PyPI - License](https://img.shields.io/pypi/l/freyr.svg?logo=Python&label=License&style=flat-square)](https://opensource.org/licenses/MIT)

[![Hatch](https://img.shields.io/badge/Packaging-Hatch-4051b5?style=flat-square)](https://github.com/pypa/hatch)
[![Pre-Commit](https://img.shields.io/badge/Pre--Commit-Enabled-informational?style=flat-square&logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![Black](https://img.shields.io/badge/Code--Style-Black-000000?style=flat-square)](https://github.com/psf/black)
[![Ruff](https://img.shields.io/badge/Linter-Ruff-informational?style=flat-square)](https://github.com/charliermarsh/ruff)

[![Github - Contributors](https://img.shields.io/github/contributors/Buried-In-Code/Freyr?logo=Github&label=Contributors&style=flat-square)](https://github.com/Buried-In-Code/Freyr/graphs/contributors)

Tracks temperature and humidity readings and graphs the results in a web dashboard.\
Collects readings using Raspberry Pi Pico W and a DHT22 Sensor, _See [freyr-device](freyr-device/) for details._

## Installation

### From Github

1. Make sure you have a supported version of [Python](https://www.python.org/) installed: `python --version`
2. Clone the repo: `git clone https://github.com/Buried-In-Code/Freyr`
3. Install the project: `pip install .`

### Using Pipx

Install from PyPI

```sh
pipx install Freyr
```

or directly from GitHub

```sh
pipx install git+https://github.com/Buried-In-Code/Freyr.git
```

## Execution

```sh
Freyr
```

## Socials

[![Social - Fosstodon](https://img.shields.io/badge/%40BuriedInCode-teal?label=Fosstodon&logo=mastodon&style=for-the-badge)](https://fosstodon.org/@BuriedInCode)\
[![Social - Matrix](https://img.shields.io/badge/%23The--Dev--Environment-teal?label=Matrix&logo=matrix&style=for-the-badge)](https://matrix.to/#/#The-Dev-Environment:matrix.org)
pyftdi-bitbang 1.0.0
Bit-bang protocol support for PyFtdi
License: MIT
Requires Python: >=3.8,<4.0

# pyftdi-bitbang

Bit-bang protocol support for [PyFtdi](https://github.com/eblot/pyftdi).

This package adds SPI protocol support for FT232 devices without MPSSE 
(e.g. FT232RL) by using the bit-bang mode based on asynchronous 
or synchronous GPIO driver.

## Usage

*Refer to `tests/` for code examples.*

The library supports the following baud rates:

- in async mode: 57600..921600; only standard baud rates can be used (115200, 230400, etc.)
- in sync mode: 500..2000000; try to stick with "even" rates (aligned to thousands)

### SPI

The library provides a subclass of `SpiController` called `BitBangSpiController` 
which can be used as a drop-in replacement. It doesn't support features like CPOL/CPHA 
but should be enough for most applications.

Creating the object requires a GPIO controller: `GpioAsyncController` for fully software-driven
bit writing, or `GpioSyncController` to use a (much faster) transaction-based GPIO control.

Example of reading SPI flash ID:

```python
from pyftdi.gpio import GpioSyncController
from pyftdibb.spi import BitBangSpiController

gpio = GpioSyncController()
spi = BitBangSpiController(gpio=gpio)
spi.configure("ftdi:///1", frequency=1_000_000)
port = spi.get_port(cs=0)
# half-duplex mode
flash_id = port.exchange(b"\x9F", readlen=3, duplex=False)
# full-duplex mode (no benefit here, just an example)
flash_id = port.exchange(b"\x9F", readlen=4, duplex=True)
flash_id = flash_id[1:]
```

Example usage with [PySpiFlash](https://github.com/eblot/pyspiflash):

```python
from pyftdi.gpio import GpioSyncController
from pyftdibb.spi import BitBangSpiController
from spiflash.serialflash import SerialFlashManager

gpio = GpioSyncController()
spi = BitBangSpiController(gpio=gpio)
spi.configure("ftdi:///1", frequency=1_000_000)
flash = SerialFlashManager.get_from_controller(spi)
data = flash.read(0, 0x1000)
```

## License

MIT