Install & Compatibility
Where this runs
tested against v0.0.12 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 27.1MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.1s · import 0.000s · 28MB
26MB installed
● package 26MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
get_cipher_by_name
✓ from unicrypto import get_cipher_by_name
✗ from unicrypto import Cipher
get_preferred_cipher
✓ from unicrypto import get_preferred_cipher
use_library
✓ from unicrypto import use_library
Encrypt a message using AES-CBC with a key and IV from environment variables.
from unicrypto import Cipher, symmetric
import os
key = os.environ.get('KEY', '00112233445566778899aabbccddeeff')
iv = os.environ.get('IV', 'fedcba9876543210')
cipher = Cipher(b'aes', key=bytes.fromhex(key), iv=bytes.fromhex(iv))
plaintext = b'secret message'
ciphertext = cipher.encrypt(plaintext)
print(ciphertext.hex())
Upgrade
Version history
0.0.12latest on PyPI · released Oct 29, 2025
Audit
Dependencies
cryptographyrequiredPrimary backend for RSA, AES, etc.
pycryptodomeoptionalAlternative backend for some ciphers