Install & Compatibility
Where this runs
tested against v? · pip install
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
build_error
glibcpy 3.10–3.95 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
signer
✓ from endesive import signer
verifier
✓ from endesive import verifier
xades
✓ from endesive import xades
✗ from endesive.xades import ... (deprecated nested module)
In older versions, xades was a submodule; now it's a top-level import.
pdf
✓ from endesive import pdf
smime
✓ from endesive import smime
Generate key pair, sign data, and verify signature using endesive's signer and verifier modules.
from endesive import signer, verifier
import cryptography.hazmat.primitives.asymmetric.rsa as rsa
from cryptography.hazmat.primitives import serialization, hashes
# Generate a key pair (example)
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()
# Serialize private key (PKCS#8 PEM)
pem_private = private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.NoEncryption()
)
# Sign data
data = b"Hello, endesive!"
signature = signer.sign(private_key, data, hashes.SHA256())
print(f"Signature: {signature.hex()}")
# Verify
verified = verifier.verify(public_key, data, signature, hashes.SHA256())
print(f"Verified: {verified}")
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'endesive'
Library not installed or installed in wrong environment.
fixRun 'pip install endesive' in the correct Python environment.
ImportError: cannot import name 'xades' from 'endesive'
Old import path 'from endesive.xades import ...' is no longer valid. XAdES functions are now directly under endesive.
fixUse 'from endesive import xades' and call xades.sign() etc.
AttributeError: module 'endesive.signer' has no attribute 'sign'
Incorrect usage of signer module. The sign function is top-level in signer, not a method.
fixUse 'from endesive import signer' and call 'signer.sign(key, data, hash_alg)'.
Upgrade
Version history
2.19.3latest on PyPI · released Jan 12, 2026
Audit
Dependencies
asn1cryptorequiredASN.1 parsing and encoding
cryptographyrequiredCore cryptographic operations (signing, hashing, key management)
oscryptooptionalLegacy cryptographic backend (deprecated in 2.18.4)