Install & Compatibility
Where this runs
tested against v0.0.1 · 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.010s · 19.4MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.5s · import 0.010s · 20MB
17MB installed
● package 17MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
dh_start
✓ from pure25519.dh import dh_start
Correct import for Diffie-Hellman functions.
SigningKey
✓ from pure25519.ed25519 import SigningKey
Correct import for Ed25519 signing.
VerifyingKey
✓ from pure25519.ed25519 import VerifyingKey
Correct import for Ed25519 verification.
Generate an Ed25519 key pair, sign a message, and verify the signature.
from pure25519.ed25519 import SigningKey, VerifyingKey
sk = SigningKey.generate()
vk = sk.get_verifying_key()
message = b"test message"
signature = sk.sign(message)
assert vk.verify(signature, message)
print("Ed25519 signature roundtrip OK")
Errors
Common errors & fixes
cannot import name 'dh_start' from 'pure25519'
Incorrect import path; pure25519 has submodules 'dh' and 'ed25519'.
fixUse 'from pure25519.dh import dh_start'.
AttributeError: 'bytes' object has no attribute 'sign'
Attempting to sign a message by calling .sign() on the message bytes instead of on a SigningKey object.
fixUse 'signature = sk.sign(message)' where sk is a SigningKey instance.
TypeError: expected 32 bytes, got 64
Incorrect seed length for SigningKey.from_seed(). Seed must be exactly 32 bytes.
fixEnsure the seed is 32 bytes long.
Upgrade
Version history
0.0.1latest on PyPI · released Jan 17, 2018
Audit
Dependencies
No dependency data recorded yet.