Skip to content

Dependency on libsodium as a system library causes issues for integrators #75

Description

@LukasQ

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions