semvec/pypi-packages huggingface dataset:
multienc 0.1.0
Add your description here
Requires Python: >=3.12

# multienc

A refined hybrid encryption/decryption library for secure data transmission.

## Installation

```bash
pip install multienc
```

## Usage

```python
from multienc.crypto import RSAKeyManager, AESCipher, MultiEncrypter

# Configuration
PRIVATE_KEY_PATH = "private_key.pem"
PUBLIC_KEY_PATH = "public_key.pem"
PRIVATE_KEY_PASSWORD = b"secure-password"  # Replace with a secure password
CLIENT_PUBLIC_KEY_FOR_AES = "clientpubkey1234"  # Must match the client's key
UID = "user123"  # Unique user identifier

# Initialize the key manager (generates keys if they don't exist)
rsa_key_manager = RSAKeyManager(PRIVATE_KEY_PATH, PUBLIC_KEY_PATH, PRIVATE_KEY_PASSWORD)

# Initialize the AES cipher
aes_cipher = AESCipher(CLIENT_PUBLIC_KEY_FOR_AES)

# Initialize the multi-encrypter
multi_encrypter = MultiEncrypter(rsa_key_manager, aes_cipher)

# Encryption 
data = {"message": "This is a secret message!"}
encrypted_payload = multi_encrypter.encrypt_refined_hybrid(data, UID)
print("Encrypted payload:", encrypted_payload)

# Decryption 
# (Assume you've received the encrypted_payload from the client)
decrypted_data = multi_encrypter.decrypt_refined_hybrid(encrypted_payload, UID)
print("Decrypted data:", decrypted_data)
```

**Important:**

*   Replace `"secure-password"` with a strong, randomly generated password for your RSA private key.
*   Ensure the `CLIENT_PUBLIC_KEY_FOR_AES` matches the value used by the client for AES key derivation.
*   Handle RSA key generation and storage securely.  Do not hardcode the private key password in production.
*   The `UID` should be unique per user or session.
nidec-inventory 0.0b1
Nidec Unidrive M motor control drives inventory generator.
Keywords: nidec, variador, accionamiento, ac drives, servo drives, high performance ac drives, m700, m300, m200

# nidec-inventory

Inventory generator for **Nidec Unidrive M** and **Commander C** drives.

## Description

**nidec-inventory** allows you to generate an inventory for **Nidec Unidrive M and Commander C** drives, by analyzing the `*.parfile` parameter files located in a repository.

## Features

- Recursive tracing on a given path.
- Collection of basic information from all drives in the repository:

    - Product **name**.
    - Device **model**.
    - Device **serial number**.
    - Device **firmware** version.
    - Device **rated voltage**.
    - Device **rated current**.
    - **Name** assigned to the device.
    - Device **operating mode**.
    - **IP** or **node** (if using Modbus communication).
    - Contents of **slot 1**.
    - Contents of **slot 2**.
    - Contents of **slot 3**.
    - Contents of **slot 4**.
    - **Path** of the parameter file.

- Generation of output file in **csv** or **excel** format.

## Getting Started

### Dependencies

- pandas~=2.2.3
- PyYAML~=6.0.2
- setuptools~=76.0.0
- openpyxl~=3.1.5

### Installing

```shell
pip install nidec-inventory
```

### Usage

Examples of execution:

```shell
# Examples of output in csv format
$ python nidec-inventory.py -p "../REPO/Unidrive M Connect/" -f log
$ python nidec-inventory.py -p "../REPO/Unidrive M Connect/" -o csv -f log
```

```shell
# Example of output in Excel format
$ python nidec-inventory.py -p "../REPO/Unidrive M Connect/" -o excel -f log
```

> By default, if only the `path` of the parameter repository is specified, an inventory will be generated in a `csv` file.

### Common arguments

- `--help` `(-h)`: show this help and exit.
- `--path_repo` `(-p)`: path of the parameter file repository.
- `--file_out` `(-f)`: output file name (without extension).
- `--output_format` `(-o)`: output file format, csv or excel.

## Author

- Carlos Alonso Martín

## Contributors and Maintainers

The main contributor to this repository is Carlos Alonso Martín. You can reach out to them for more information and guidance on contributing to the project. 

## Changelog

* 0.0b1
    * Bugs fixed 

## License

This project is licensed under the MIT License - see the LICENSE file for details.