Skip to main content

Python binding to the Networking and Cryptography (NaCl) library

Project description

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.

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-1.2.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

PyNaCl-1.2.0-cp36-cp36m-win_amd64.whl (164.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

PyNaCl-1.2.0-cp36-cp36m-win32.whl (159.3 kB view details)

Uploaded CPython 3.6mWindows x86

PyNaCl-1.2.0-cp36-cp36m-manylinux1_x86_64.whl (692.6 kB view details)

Uploaded CPython 3.6m

PyNaCl-1.2.0-cp36-cp36m-manylinux1_i686.whl (655.9 kB view details)

Uploaded CPython 3.6m

PyNaCl-1.2.0-cp36-cp36m-macosx_10_6_intel.whl (243.5 kB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

PyNaCl-1.2.0-cp35-cp35m-win_amd64.whl (164.8 kB view details)

Uploaded CPython 3.5mWindows x86-64

PyNaCl-1.2.0-cp35-cp35m-win32.whl (159.3 kB view details)

Uploaded CPython 3.5mWindows x86

PyNaCl-1.2.0-cp35-cp35m-manylinux1_x86_64.whl (692.6 kB view details)

Uploaded CPython 3.5m

PyNaCl-1.2.0-cp35-cp35m-manylinux1_i686.whl (655.9 kB view details)

Uploaded CPython 3.5m

PyNaCl-1.2.0-cp35-cp35m-macosx_10_6_intel.whl (243.5 kB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

PyNaCl-1.2.0-cp34-cp34m-win_amd64.whl (152.4 kB view details)

Uploaded CPython 3.4mWindows x86-64

PyNaCl-1.2.0-cp34-cp34m-win32.whl (162.1 kB view details)

Uploaded CPython 3.4mWindows x86

PyNaCl-1.2.0-cp34-cp34m-manylinux1_x86_64.whl (692.6 kB view details)

Uploaded CPython 3.4m

PyNaCl-1.2.0-cp34-cp34m-manylinux1_i686.whl (655.9 kB view details)

Uploaded CPython 3.4m

PyNaCl-1.2.0-cp34-cp34m-macosx_10_6_intel.whl (243.5 kB view details)

Uploaded CPython 3.4mmacOS 10.6+ Intel (x86-64, i386)

PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl (696.6 kB view details)

Uploaded CPython 2.7mu

PyNaCl-1.2.0-cp27-cp27mu-manylinux1_i686.whl (658.8 kB view details)

Uploaded CPython 2.7mu

PyNaCl-1.2.0-cp27-cp27m-win_amd64.whl (152.4 kB view details)

Uploaded CPython 2.7mWindows x86-64

PyNaCl-1.2.0-cp27-cp27m-win32.whl (162.1 kB view details)

Uploaded CPython 2.7mWindows x86

PyNaCl-1.2.0-cp27-cp27m-manylinux1_x86_64.whl (696.7 kB view details)

Uploaded CPython 2.7m

PyNaCl-1.2.0-cp27-cp27m-manylinux1_i686.whl (658.8 kB view details)

Uploaded CPython 2.7m

PyNaCl-1.2.0-cp27-cp27m-macosx_10_6_intel.whl (243.4 kB view details)

Uploaded CPython 2.7mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file PyNaCl-1.2.0.tar.gz.

File metadata

  • Download URL: PyNaCl-1.2.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyNaCl-1.2.0.tar.gz
Algorithm Hash digest
SHA256 45c5bcdf8ddefe2e9381f5d37fe778bbda6991fe7004e0b1ea3570df2fc07207
MD5 7a31e95f5f457184b1660b71d6808b19
BLAKE2b-256 fa380f35ec4beb6562f1abfa07914db1cea978e93da409ba6293f810d9e677d6

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a018ee272dc064a50cd799fc265d634c54e64a8bdba7a914877f9e1d32184e5e
MD5 bf5bb266ec08f38eb329959329e1f4c1
BLAKE2b-256 ca1b95761463578cb629aa23516db7ccdc6211a63a14616fbff1bcd8cddcc51f

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 5be1af61b69a8dcc0264777c206305a7156c216ba98f6a7864254dfe60be35cf
MD5 3284a7a3b20ca92ac84b3ac4faf0cdb9
BLAKE2b-256 4747f926848c22f00dd57b26e0c057b191343a40eae9932aacfbd3126c19455b

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 189410422028e7b0543dee6aca3da026bbd66bbad078143c46c5a3faf2733acb
MD5 57b25bb4a32e0086fc846353ad01fecd
BLAKE2b-256 546afe8cdf8dfdfee20a631d0748cc3a897575f35624c3174c74805f3c86f75f

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2a8efeb6d442322836e70e6df0094ce8ea46e156e2b4ea38a86fd553c5665fff
MD5 820f17faf4464c7e78771d73cdcfd89c
BLAKE2b-256 4773659cf50208f35aa9b89afe9e90bb208e129fc4ad948aba9e2caab6bd3047

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 ac23923052341f35369be898c9673774937aad500fd5693365e3e5e509cbc664
MD5 30ccb41383c80fc215b3fc2918ff44a6
BLAKE2b-256 6944408921c0c75d10517118d4e29b44b175b9f89f244cbe96f4744294ef04ae

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 afd47e36aaad8a3b6b92c98e45ca0e7de9627b51d577920af2e2620794503ea1
MD5 4d3228c599e5fffa7fadac5f116c77e4
BLAKE2b-256 2375439999f08acc8fc4012657f5bf63a43b8a69ba79150c84dca7d970fcd562

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 c05b6e17903509b6fb24f1c41c9760a33a0e0ed2a5aedc8eb9d988e5226377ce
MD5 ac0a0348c7965f94898726a0964dbc44
BLAKE2b-256 fdef604f968dd229bc6596710f17b03cc734b9553ef83ca6df1da176f3a78d23

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8e194ea19c447c4caa94a84316412ad11cfb61f029d408fd4bdc1164ec694578
MD5 698933aaeb44c6f23c8cf21b39f12ac5
BLAKE2b-256 59e348ff143a341187e56273182cc623d96c684d276851966454f1b55485a74e

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0a85d5dde05a48377675f0c60d4b96127cc1b70097e24f4a4557ae3fa18a0038
MD5 d321b349e9837998b544ce6282b417d3
BLAKE2b-256 0212110e5a13b2673f2c30468a8e4a51ac466efcff10bc22d1b6d83a0f9e42e6

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 d0c0ca0a0548ed67301424f143c2b8b9d97956b152f8a56a7ebbdadb2071737d
MD5 3eeb06bc819d92c5452028247f02d183
BLAKE2b-256 909e30b9345baa339a834763a006d62d81e5944bfa2b567a367c7194469d7a24

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 5bd2f0652fafd61669cbeb6312e9a87817e2e9613a471c588fd2e108e3119bb8
MD5 a42b1349791313e7843156aaf6f4fddc
BLAKE2b-256 4cc16b9639c829a1cfe0e701cc39a7cfbf3b31a68569e2623d4d2c4d27c941c8

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 2fda81371b8dae1d18e2df9ce06961b66ef0b4226c6c98287e3e4661d9e64317
MD5 0ac13f03112be6993538c6925427dcc8
BLAKE2b-256 b7b04d0c1640d9112a0c1d90dc30beefe2ed6687a9fb776b823dcc0313a02f09

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 77c3b6d6fbf8b2137d41be9aed9eff30232287aeba00a6d353aa48fc9de4c55e
MD5 c8974af9d7a7e6394a1130062fa2cb7d
BLAKE2b-256 29ef533b83dc488a940b07975cf8a09909bfb1dfff97cce62b78f408f2023513

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 976667758a7eb2e555cefbd131df54eea9967002beb73d06f1943127993db566
MD5 c33ae1fa2e17011a3540d08341220f59
BLAKE2b-256 51139414dccab9fbbd26294c740ac1924cd371a4231cdd93055940e8b6b2c26f

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 df4e44c34f3d4d199a06e1c11b7a7357e9adfdfaab34211991b33a58a155daba
MD5 c0609af4d3dcf223e73e396c8483b245
BLAKE2b-256 d40364f1b282a8e6419b7a7ebe53de29d3492423ba65372aebc79e6a7d74c979

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b83e4232b43a52c8802234d575f992f82c1e9c466acd911983613a3823c4dc4e
MD5 059a0da8e0f7607c6f40dad8bf82fe53
BLAKE2b-256 c633bfef74bd666d3162bc3b6da70c332f13f56056d27a9daf404a0ec9c69f7f

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 abe8bf8908e735db77fd88b972ab1de240962ef91e6b044942f60cfe5a785107
MD5 5a9a4b626ac3e3ec421ad9848f656aac
BLAKE2b-256 0a081de3c8da4dafa855f5f5002b4885455d1925c240a949d236a8a90892855c

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 74101b214305b6856d20593ee7e9f77a8f12e24a19caeda7f5fef3638cd8fe17
MD5 b02514fc99399bfcd94da38e7364b613
BLAKE2b-256 27303b34c622efdbb9ff94cff7da76c72f276d8c39f5482e2ebc5435678351fb

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 c7c165b5d43198751651b33d562e57a7bd55d57062678ad14453ef715be415c4
MD5 77d8a19e0bf4fd7e5d20d614f077bd90
BLAKE2b-256 1660874db94bbf4e0b00dddd918f5e1df31d1f05ccf488db325ee306ca010a12

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 352584f80d52d53849037d60b90be787638f86d0234209959f68496300425013
MD5 9d63a9ea512418d0c63c6ce987e814c9
BLAKE2b-256 1ae5e0de48cd67c625e55f03ba0b14f4709a964177e3c0942f7cfac8c85002c8

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 aa788cff8c027d7d621806d740fb4759028b0bba6dcdf4f316092698ecaad9ab
MD5 418eb7c4cc1c19b6a00abbb560da4c2c
BLAKE2b-256 c4855649e107a06898c1e2dd702ca0cd386b03fc0eb5c416fe6a89477162d034

See more details on using hashes here.

File details

Details for the file PyNaCl-1.2.0-cp27-cp27m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for PyNaCl-1.2.0-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 64d5132fdb54bcfdcc7a531c03980d630469258d8e70d7594ea0d27366fcf834
MD5 5ba86933fff92def70e025300d0a3207
BLAKE2b-256 82d3892dde5c624007ffb970ba547014029fef6c92a3d5c85f799a0e8dc9272f

See more details on using hashes here.

Supported by

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