Skip to main content
Latest Version https://travis-ci.org/pyca/pynacl.svg?branch=master https://codecov.io/github/pyca/pynacl/coverage.svg?branch=master

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 2.7 and 3.4+ as well as PyPy 2.6+.

Features

  • Digital signatures

  • Secret-key encryption

  • Public-key encryption

  • Hashing and message authentication

  • Password based key derivation and password hashing

Installation

Binary wheel install

PyNaCl ships as a binary wheel on OS X, Windows and Linux manylinux1 [1] , so all dependencies are included. Make sure you have an up-to-date pip and run:

$ pip install pynacl

Linux source build

PyNaCl relies on libsodium, a portable C library. A copy is bundled with PyNaCl so to install you can run:

$ pip install pynacl

If you’d prefer to use the version of libsodium provided by your distribution, you can disable the bundled copy during install by running:

$ SODIUM_INSTALL=system pip install pynacl

Changelog

1.2.0 - 2017-11-01

  • Update libsodium to 1.0.15.

  • Infrastructure: add jenkins support for automatic build of manylinux1 binary wheels

  • Added support for SealedBox construction.

  • Added support for argon2i and argon2id password hashing constructs and restructured high-level password hashing implementation to expose the same interface for all hashers.

  • Added support for 128 bit siphashx24 variant of siphash24.

  • Added support for from_seed APIs for X25519 keypair generation.

  • Dropped support for Python 3.3.

1.1.2 - 2017-03-31

  • reorder link time library search path when using bundled libsodium

1.1.1 - 2017-03-15

  • Fixed a circular import bug in nacl.utils.

1.1.0 - 2017-03-14

  • Dropped support for Python 2.6.

  • Added shared_key() method on Box.

  • You can now pass None to nonce when encrypting with Box or SecretBox and it will automatically generate a random nonce.

  • Added support for siphash24.

  • Added support for blake2b.

  • Added support for scrypt.

  • Update libsodium to 1.0.11.

  • Default to the bundled libsodium when compiling.

  • All raised exceptions are defined mixing-in nacl.exceptions.CryptoError

1.0.1 - 2016-01-24

  • Fix an issue with absolute paths that prevented the creation of wheels.

1.0 - 2016-01-23

  • PyNaCl has been ported to use the new APIs available in cffi 1.0+. Due to this change we no longer support PyPy releases older than 2.6.

  • Python 3.2 support has been dropped.

  • Functions to convert between Ed25519 and Curve25519 keys have been added.

0.3.0 - 2015-03-04

  • 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.

Metadata

Release files for PyNaCl 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyNaCl 1.2.0
File Size Uploaded
PyNaCl-1.2.0.tar.gz 3.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for PyNaCl 1.2.0
File
PyNaCl-1.2.0-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
PyNaCl-1.2.0-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
PyNaCl-1.2.0-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
PyNaCl-1.2.0-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
PyNaCl-1.2.0-cp36-cp36m-macosx_10_6_intel.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
PyNaCl-1.2.0-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
PyNaCl-1.2.0-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
PyNaCl-1.2.0-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
PyNaCl-1.2.0-cp35-cp35m-manylinux1_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32 Details
PyNaCl-1.2.0-cp35-cp35m-macosx_10_6_intel.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
PyNaCl-1.2.0-cp34-cp34m-win_amd64.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-64 Details
PyNaCl-1.2.0-cp34-cp34m-win32.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-32 Details
PyNaCl-1.2.0-cp34-cp34m-manylinux1_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64 Details
PyNaCl-1.2.0-cp34-cp34m-manylinux1_i686.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-32 Details
PyNaCl-1.2.0-cp34-cp34m-macosx_10_6_intel.whl CPython 3.4 CPython 3.4 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
PyNaCl-1.2.0-cp27-cp27mu-manylinux1_i686.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-32 Details
PyNaCl-1.2.0-cp27-cp27m-win_amd64.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-64 Details
PyNaCl-1.2.0-cp27-cp27m-win32.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-32 Details
PyNaCl-1.2.0-cp27-cp27m-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64 Details
PyNaCl-1.2.0-cp27-cp27m-manylinux1_i686.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-32 Details
PyNaCl-1.2.0-cp27-cp27m-macosx_10_6_intel.whl CPython 2.7 CPython 2.7 pymalloc macOS 10.6+ Intel (x86-64, i386) Details

Total release size: 12.3 MB

Release files / PyNaCl-1.2.0.tar.gz

Download URL PyNaCl-1.2.0.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
45c5bcdf8ddefe2e9381f5d37fe778bbda6991fe7004e0b1ea3570df2fc07207
BLAKE2b-256 checksum
How to use checksums
fa380f35ec4beb6562f1abfa07914db1cea978e93da409ba6293f810d9e677d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp36-cp36m-win_amd64.whl

Download URL PyNaCl-1.2.0-cp36-cp36m-win_amd64.whl
Size 164.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
a018ee272dc064a50cd799fc265d634c54e64a8bdba7a914877f9e1d32184e5e
BLAKE2b-256 checksum
How to use checksums
ca1b95761463578cb629aa23516db7ccdc6211a63a14616fbff1bcd8cddcc51f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp36-cp36m-win32.whl

Download URL PyNaCl-1.2.0-cp36-cp36m-win32.whl
Size 159.3 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
5be1af61b69a8dcc0264777c206305a7156c216ba98f6a7864254dfe60be35cf
BLAKE2b-256 checksum
How to use checksums
4747f926848c22f00dd57b26e0c057b191343a40eae9932aacfbd3126c19455b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp36-cp36m-manylinux1_x86_64.whl

Download URL PyNaCl-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
Size 692.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
189410422028e7b0543dee6aca3da026bbd66bbad078143c46c5a3faf2733acb
BLAKE2b-256 checksum
How to use checksums
546afe8cdf8dfdfee20a631d0748cc3a897575f35624c3174c74805f3c86f75f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp36-cp36m-manylinux1_i686.whl

Download URL PyNaCl-1.2.0-cp36-cp36m-manylinux1_i686.whl
Size 655.9 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
2a8efeb6d442322836e70e6df0094ce8ea46e156e2b4ea38a86fd553c5665fff
BLAKE2b-256 checksum
How to use checksums
4773659cf50208f35aa9b89afe9e90bb208e129fc4ad948aba9e2caab6bd3047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp36-cp36m-macosx_10_6_intel.whl

Download URL PyNaCl-1.2.0-cp36-cp36m-macosx_10_6_intel.whl
Size 243.5 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
ac23923052341f35369be898c9673774937aad500fd5693365e3e5e509cbc664
BLAKE2b-256 checksum
How to use checksums
6944408921c0c75d10517118d4e29b44b175b9f89f244cbe96f4744294ef04ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp35-cp35m-win_amd64.whl

Download URL PyNaCl-1.2.0-cp35-cp35m-win_amd64.whl
Size 164.8 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
afd47e36aaad8a3b6b92c98e45ca0e7de9627b51d577920af2e2620794503ea1
BLAKE2b-256 checksum
How to use checksums
2375439999f08acc8fc4012657f5bf63a43b8a69ba79150c84dca7d970fcd562
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp35-cp35m-win32.whl

Download URL PyNaCl-1.2.0-cp35-cp35m-win32.whl
Size 159.3 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
c05b6e17903509b6fb24f1c41c9760a33a0e0ed2a5aedc8eb9d988e5226377ce
BLAKE2b-256 checksum
How to use checksums
fdef604f968dd229bc6596710f17b03cc734b9553ef83ca6df1da176f3a78d23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp35-cp35m-manylinux1_x86_64.whl

Download URL PyNaCl-1.2.0-cp35-cp35m-manylinux1_x86_64.whl
Size 692.6 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8e194ea19c447c4caa94a84316412ad11cfb61f029d408fd4bdc1164ec694578
BLAKE2b-256 checksum
How to use checksums
59e348ff143a341187e56273182cc623d96c684d276851966454f1b55485a74e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp35-cp35m-manylinux1_i686.whl

Download URL PyNaCl-1.2.0-cp35-cp35m-manylinux1_i686.whl
Size 655.9 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
0a85d5dde05a48377675f0c60d4b96127cc1b70097e24f4a4557ae3fa18a0038
BLAKE2b-256 checksum
How to use checksums
0212110e5a13b2673f2c30468a8e4a51ac466efcff10bc22d1b6d83a0f9e42e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp35-cp35m-macosx_10_6_intel.whl

Download URL PyNaCl-1.2.0-cp35-cp35m-macosx_10_6_intel.whl
Size 243.5 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
d0c0ca0a0548ed67301424f143c2b8b9d97956b152f8a56a7ebbdadb2071737d
BLAKE2b-256 checksum
How to use checksums
909e30b9345baa339a834763a006d62d81e5944bfa2b567a367c7194469d7a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp34-cp34m-win_amd64.whl

Download URL PyNaCl-1.2.0-cp34-cp34m-win_amd64.whl
Size 152.4 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
5bd2f0652fafd61669cbeb6312e9a87817e2e9613a471c588fd2e108e3119bb8
BLAKE2b-256 checksum
How to use checksums
4cc16b9639c829a1cfe0e701cc39a7cfbf3b31a68569e2623d4d2c4d27c941c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp34-cp34m-win32.whl

Download URL PyNaCl-1.2.0-cp34-cp34m-win32.whl
Size 162.1 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
2fda81371b8dae1d18e2df9ce06961b66ef0b4226c6c98287e3e4661d9e64317
BLAKE2b-256 checksum
How to use checksums
b7b04d0c1640d9112a0c1d90dc30beefe2ed6687a9fb776b823dcc0313a02f09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp34-cp34m-manylinux1_x86_64.whl

Download URL PyNaCl-1.2.0-cp34-cp34m-manylinux1_x86_64.whl
Size 692.6 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
77c3b6d6fbf8b2137d41be9aed9eff30232287aeba00a6d353aa48fc9de4c55e
BLAKE2b-256 checksum
How to use checksums
29ef533b83dc488a940b07975cf8a09909bfb1dfff97cce62b78f408f2023513
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp34-cp34m-manylinux1_i686.whl

Download URL PyNaCl-1.2.0-cp34-cp34m-manylinux1_i686.whl
Size 655.9 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
976667758a7eb2e555cefbd131df54eea9967002beb73d06f1943127993db566
BLAKE2b-256 checksum
How to use checksums
51139414dccab9fbbd26294c740ac1924cd371a4231cdd93055940e8b6b2c26f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp34-cp34m-macosx_10_6_intel.whl

Download URL PyNaCl-1.2.0-cp34-cp34m-macosx_10_6_intel.whl
Size 243.5 kB
Tags CPython 3.4 CPython 3.4 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
df4e44c34f3d4d199a06e1c11b7a7357e9adfdfaab34211991b33a58a155daba
BLAKE2b-256 checksum
How to use checksums
d40364f1b282a8e6419b7a7ebe53de29d3492423ba65372aebc79e6a7d74c979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl

Download URL PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl
Size 696.6 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b83e4232b43a52c8802234d575f992f82c1e9c466acd911983613a3823c4dc4e
BLAKE2b-256 checksum
How to use checksums
c633bfef74bd666d3162bc3b6da70c332f13f56056d27a9daf404a0ec9c69f7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27mu-manylinux1_i686.whl

Download URL PyNaCl-1.2.0-cp27-cp27mu-manylinux1_i686.whl
Size 658.8 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
abe8bf8908e735db77fd88b972ab1de240962ef91e6b044942f60cfe5a785107
BLAKE2b-256 checksum
How to use checksums
0a081de3c8da4dafa855f5f5002b4885455d1925c240a949d236a8a90892855c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27m-win_amd64.whl

Download URL PyNaCl-1.2.0-cp27-cp27m-win_amd64.whl
Size 152.4 kB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
74101b214305b6856d20593ee7e9f77a8f12e24a19caeda7f5fef3638cd8fe17
BLAKE2b-256 checksum
How to use checksums
27303b34c622efdbb9ff94cff7da76c72f276d8c39f5482e2ebc5435678351fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27m-win32.whl

Download URL PyNaCl-1.2.0-cp27-cp27m-win32.whl
Size 162.1 kB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
c7c165b5d43198751651b33d562e57a7bd55d57062678ad14453ef715be415c4
BLAKE2b-256 checksum
How to use checksums
1660874db94bbf4e0b00dddd918f5e1df31d1f05ccf488db325ee306ca010a12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27m-manylinux1_x86_64.whl

Download URL PyNaCl-1.2.0-cp27-cp27m-manylinux1_x86_64.whl
Size 696.7 kB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
352584f80d52d53849037d60b90be787638f86d0234209959f68496300425013
BLAKE2b-256 checksum
How to use checksums
1ae5e0de48cd67c625e55f03ba0b14f4709a964177e3c0942f7cfac8c85002c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27m-manylinux1_i686.whl

Download URL PyNaCl-1.2.0-cp27-cp27m-manylinux1_i686.whl
Size 658.8 kB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
aa788cff8c027d7d621806d740fb4759028b0bba6dcdf4f316092698ecaad9ab
BLAKE2b-256 checksum
How to use checksums
c4855649e107a06898c1e2dd702ca0cd386b03fc0eb5c416fe6a89477162d034
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyNaCl-1.2.0-cp27-cp27m-macosx_10_6_intel.whl

Download URL PyNaCl-1.2.0-cp27-cp27m-macosx_10_6_intel.whl
Size 243.4 kB
Tags CPython 2.7 CPython 2.7 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
64d5132fdb54bcfdcc7a531c03980d630469258d8e70d7594ea0d27366fcf834
BLAKE2b-256 checksum
How to use checksums
82d3892dde5c624007ffb970ba547014029fef6c92a3d5c85f799a0e8dc9272f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.6.1

27 release files

1.6.0

27 release files

1.4.0

18 release files

1.3.0

21 release files

This release

1.2.0 This release

23 release files

1.1.2

28 release files

1.1.1

16 release files

1.1.0

16 release files

1.0.1

16 release files

1.0

1 release file

0.3.0

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page