The SDK currently depends on libnacl for its NaCl/E2E cryptography. libnacl is a Python binding for libsodium that is no longer actively maintained and requires libsodium to be present as a native system library at import time — even when only the simple (non-E2E) API is used.
I'm building a Home Assistant integration using this SDK. Home Assistant has a large contributor base, and the transitive libsodium system dependency causes ImportError on any system where libsodium is not installed — blocking developers from even running the test suite.
The well-maintained, widely adopted alternative for the same functionality is pynacl (by the Python Cryptographic Authority), which is actively maintained and also wraps libsodium.
Request: Consider replacing libnacl with pynacl as the cryptography backend. This would address both the maintenance concern and the unconditional native dependency at import time.
Environment:
- threema.gateway==8.0.0
- Python 3.14
- Error on systems without libsodium: OSError: Could not locate nacl lib, searched for libsodium
The SDK currently depends on libnacl for its NaCl/E2E cryptography. libnacl is a Python binding for libsodium that is no longer actively maintained and requires libsodium to be present as a native system library at import time — even when only the simple (non-E2E) API is used.
I'm building a Home Assistant integration using this SDK. Home Assistant has a large contributor base, and the transitive libsodium system dependency causes ImportError on any system where libsodium is not installed — blocking developers from even running the test suite.
The well-maintained, widely adopted alternative for the same functionality is pynacl (by the Python Cryptographic Authority), which is actively maintained and also wraps libsodium.
Request: Consider replacing libnacl with pynacl as the cryptography backend. This would address both the maintenance concern and the unconditional native dependency at import time.
Environment: