skillfed

PyNaCl

Python binding to the Networking and Cryptography (NaCl) library

pynacl Permissive license Apache-2.0 Active 1,204 v1.6.2 released

Install

pynacl on PyPI

pip

pip install pynacl

uv

uv add pynacl

poetry

poetry add pynacl

Package 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

License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Free Threading :: 3 - StableProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

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
python cryptography librarydigital signatures and encryptionlibsodium bindingsauthenticated encryptionpassword hashing pythonpublic key cryptographynacl python binding

Similar packages