semvec/pypi-packages huggingface dataset:
gpiod 2.4.0
Python bindings for libgpiod
Requires Python: >=3.9.0

<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<!-- SPDX-FileCopyrightText: 2023 Phil Howard <phil@gadgetoid.com> -->

# gpiod

These are the official Python bindings for [libgpiod](https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/).

The gpiod library has been vendored into this package for your convenience and
this version of gpiod is independent from your system package.

Binary wheels are not provided. The source package requires python3-dev.

## Rationale

The new character device interface guarantees all allocated resources are
freed after closing the device file descriptor and adds several new features
that are not present in the obsolete sysfs interface (like event polling,
setting/reading multiple values at once or open-source and open-drain GPIOs).

Unfortunately interacting with the linux device file can no longer be done
using only standard command-line tools. This is the reason for creating a
library encapsulating the cumbersome, ioctl-based kernel-userspace interaction
in a set of convenient functions and opaque data structures.

## Breaking Changes

As of v2.0.2 we have replaced the unofficial, pure-Python "gpiod". The official
gpiod is not backwards compatible.

You should ensure you specify at least v2.0.2 for the official API. Versions
1.5.4 and prior are the deprecated, unofficial, pure-Python bindings.

## Installing

You will need `python3-dev`, on Debian/Ubuntu you can install this with:

```
sudo apt install python3-dev
```

And then install gpiod with:

```
pip install gpiod
```

You can optionally depend upon your system gpiod by installing with:

```
LINK_SYSTEM_LIBGPIOD=1 pip install gpiod
```

If you still need the deprecated pure-Python bindings, install with:

```
pip install gpiod==1.5.4
```

## Examples

Check a GPIO chip character device exists:

```python
import gpiod

gpiod.is_gpiochip_device("/dev/gpiochip0")

```

Get information about a GPIO chip character device:

```python
import gpiod

with gpiod.Chip("/dev/gpiochip0") as chip:
    info = chip.get_info()
    print(f"{info.name} [{info.label}] ({info.num_lines} lines)")
```

Blink an LED, or toggling a GPIO line:

```python
import time

from gpiod.line import Direction, Value

LINE = 5

with gpiod.request_lines(
    "/dev/gpiochip0",
    consumer="blink-example",
    config={
        LINE: gpiod.LineSettings(
            direction=Direction.OUTPUT, output_value=Value.ACTIVE
        )
    },
) as request:
    while True:
        request.set_value(LINE, Value.ACTIVE)
        time.sleep(1)
        request.set_value(LINE, Value.INACTIVE)
        time.sleep(1)
```

## Testing

The test suite for the python bindings can be run by calling:

```
make python-tests-run
```

from the `libgpiod/bindings/python` directory as root (necessary to be able
to create the **gpio-sims** used for testing).

## Linting/Formatting

When making changes, ensure type checks and linting still pass:

```
python3 -m venv venv
. venv/bin/activate
pip install mypy ruff
mypy; ruff format; ruff check
```

Ideally the gpiod library will continue to pass strict checks:

```
mypy --strict
```
levox-cli 1.0.14
AI-powered PII/GDPR detection CLI tool. Free for now, paid plans coming soon. Visit levoxserver.vercel.app for details.
Requires Python: >=3.8
Keywords: pii, gdpr, security, cli, detection, compliance, privacy

# Levox CLI

**AI-powered PII/GDPR detection CLI tool**

## 🚀 Quick Install

```bash
pip install levox-cli
```

## 📖 Usage

```bash
# Scan your code for PII/GDPR violations
levox scan

# Show system status
levox status

# Get help
levox --help
```

## 💰 Pricing

- **Currently FREE** - No cost to use
- **Paid plans coming soon** - Advanced features will require subscription
- Visit [levox.aifenrix.com](https://levox.aifenrix.com) for pricing details

## 🔗 Links

- **Website**: [levox.aifenrix.com](https://levox.aifenrix.com)
- **Support**: [aifenrix@gmail.com](mailto:aifenrix@gmail.com)

## 📝 License

MIT License - see LICENSE file for details.
s1ncipher 0.3.2
A simple cipher keeps original order and can be search partly by encode 1 byte data to many bytes.
Keywords: cipherutils, s1ncipher

# s1ncipher

A simple cipher keeps original order and can be search partly by encode 1 byte data to many bytes. 

*Note: s1ncipher designed to be a partly searchable and sortable string encode method, but after many test, we find that it may returns more result while doing partly search. New applications should NOT use this package anymore. This is kept for old applications that already using this encode method. Use `srndcipher` instead.*

## Install

```shell
pip install s1ncipher
```

## Installed Utils

- s1ncipher_encrypt
- s1ncipher_decrypt
- S1nCipher

## Usage examples

1. Use raw API s1ncipher_encrypt and s1ncipher_decrypt.

```
In [1]: from s1ncipher import s1ncipher_encrypt

In [2]: from s1ncipher import s1ncipher_decrypt

In [3]: password = "test-password"

In [4]: data1 = b"plain text"

In [5]: data2 = s1ncipher_encrypt(data1, password)

In [6]: print(data2)
b's:n\xeceAm\x9eq \xadwX|k\xf6Iy\x0ewX|'

In [7]: data3 = s1ncipher_decrypt(data2, password)

In [8]: print(data3)
b'plain text'

In [9]: data1 == data3
Out[9]: True

In [10]:
```

- Plain data must be in bytes format.
- Encrypted data is also in bytes format.

2. Use S1nCipher enveloped API

```
In [14]: from s1ncipher import S1nCipher

In [15]: from zenutils import cipherutils

In [16]: password = "test-password"

In [17]: text1 = "plain text"

In [18]: cipher = S1nCipher(password=password, result_encoder=cipherutils.HexlifyEncoder(), force_text=True)

In [19]: text2 = cipher.encrypt(text1)

In [20]: print(text2)
733a6eec65416d9e7120ad77587c6bf649790e77587c

In [21]: text3 = cipher.decrypt(text2)

In [22]: print(text3)
plain text

In [23]: text1 == text3
Out[23]: True

```

- Create a cipher instance to do encrypt and decrypt.
- With result_encoder=cipherutils.HexlifyEncoder(), encrypted data will be hexlified.
- With force_text decrypted data will be decoded from bytes to str.

## Test With Python

- 2.7
- 3.2
- 3.3
- 3.4
- 3.5
- 3.6
- 3.7
- 3.8
- 3.9
- 3.10
- 3.11

## Releases

### 0.3.0

- First release.

### 0.3.1

- Deps on zenutils, instead of fastutils.
- Doc fix.

### 0.3.2

- Doc update.