Skip to main content

Python binding to the Networking and Cryptography (NaCl) library

Project description

Latest Version

PyNaCl is a Python binding to the Networking and Cryptography library, a crypto library with the stated goal of improving usability, security and speed.


PyNaCl relies on libsodium, a portable C library which can be compiled on a variety of systems. It may already be available from your package manager.

Once libsodium is installed, PyNaCl can be installed by:

$ python install


  • Digital signatures

  • Secret-key encryption

  • Public-key encryption

  • HMAC (coming soon)


  • 0.3.0: the low-level API (nacl.c.*) has been changed to match the upstream NaCl C/C++ conventions (as well as those of other NaCl bindings). The order of arguments and return values has changed significantly. To avoid silent failures, nacl.c has been removed, and replaced with nacl.bindings (with the new argument ordering). If you have code which calls these functions (e.g. nacl.c.crypto_box_keypair()), you must review the new docstrings and update your code/imports to match the new conventions.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyNaCl-0.3.0.tar.gz (2.6 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page