PyNaCl
Python binding to the Networking and Cryptography (NaCl) library
Install
pynacl on PyPI
pip
pip install pynacluv
uv add pynaclpoetry
poetry add pynaclPackage facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — cffi |
| Maintenance | actively maintained — 224 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: pynacl-1.6.2-cp314-cp314t-macosx_10_10_universal2.whl; pynacl-1.6.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; pynacl-1.6.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; pynacl-1.6.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pynacl-1.6.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; pynacl-1.6.2-cp314-cp314t-manylinux_2_34_aarch64.whl; pynacl-1.6.2-cp314-cp314t-manylinux_2_34_x86_64.whl; pynacl-1.6.2-cp314-cp314t-musllinux_1_2_aarch64.whl; pynacl-1.6.2-cp314-cp314t-musllinux_1_2_x86_64.whl; pynacl-1.6.2-cp314-cp314t-win32.whl; pynacl-1.6.2-cp314-cp314t-win_amd64.whl; pynacl-1.6.2-cp314-cp314t-win_arm64.whl; pynacl-1.6.2-cp38-abi3-macosx_10_10_universal2.whl; pynacl-1.6.2-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; pynacl-1.6.2-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; pynacl-1.6.2-cp38-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pynacl-1.6.2-cp38-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; pynacl-1.6.2-cp38-abi3-manylinux_2_34_aarch64.whl; pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl; pynacl-1.6.2-cp38-abi3-musllinux_1_2_aarch64.whl
About PyNaCl
from the package's own PyPI description — quoted content, verbatim
=============================================== PyNaCl: Python binding to the libsodium library ===============================================
.. image:: https://img.shields.io/pypi/v/pynacl.svg :target: https://pypi.org/project/PyNaCl/ :alt: Latest Version
PyNaCl is a Python binding to libsodium, which is a fork of the
Networking and Cryptography library. These libraries have a stated goal of
improving usability, security and speed. It supports Python 3.8+ as well as
PyPy 3.
.. _libsodium: https://github.com/jedisct1/libsodium .. _Networking and Cryptography library: https://nacl.cr.yp.to/
Features
- Digital signatures
- Secret-key encryption
- Public-key encryption
- Hashing and message authentication
- Password based key derivation and password hashing
Changelog_
.. _Changelog: https://pynacl.readthedocs.io/en/latest/changelog/
Installation
Binary wheel install
PyNaCl ships as a binary wheel on macOS, Windows and Linux manylinux1 [#many]_ ,
so all dependencies are included. Make sure you have an up-to-date pip
and run:
.. code-block:: console
$ pip install pynacl
Faster wheel...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.
Medium install friction due to cffi dependency and potential C library compilation. Active maintenance with latest release on 2026-01-01 and support for Python 3.8–3.14 including free-threaded builds. Extensive wheel coverage across platforms reduces friction for most users.
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions. No copyleft obligations or attribution requirements beyond standard Apache notice.
Usage
pip install pynacl
import pynacl
# Cryptographic operations available through pynacl bindings
cffi dependency must be available; on Linux source builds, C compiler and build tools may be required unless binary wheels are used.
Verdict: PyNaCl is a well-maintained, actively developed cryptography library with no known vulnerabilities, permissive Apache-2.0 licensing, and broad platform support. Medium install friction is offset by comprehensive wheel distribution and strong maintenance signals. Suitable for production use.
Needs verification
- Whether CVE-2025-69277 resolved in libsodium 1.0.20-stable affects typical PyNaCl use cases
- Performance characteristics and overhead of cffi bindings versus direct C usage
- Whether bundled libsodium has undergone independent security audit or certification
Similar packages
permissive · top 1,000 on PyPI
installerpermissive · top 1,000 on PyPI
argon2-cffi-bindingspermissive · top 1,000 on PyPI
argon2-cffipermissive · top 1,000 on PyPI
cryptographypermissive · top 100 on PyPI
google-crc32cunclear · top 1,000 on PyPI
vcs-versioningpermissive · top 1,000 on PyPI
passlibpermissive · top 1,000 on PyPI
bleachpermissive · top 1,000 on PyPI
zope.eventunclear · top 1,000 on PyPI