Python binding to the Networking and Cryptography (NaCl) library
Clone or download
jdufresne and alex Replace use of six.binary_type with bytes (#471)
The type `bytes` exists on all supported Pythons. On Python 2, it is an
alias of str, same as six. There is no need to use a compatibility shim.
Makes code more forward compatible with Python 3 idioms.
Latest commit e0a0f34 Sep 16, 2018


PyNaCl: Python binding to the libsodium library

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


  • Digital signatures
  • Secret-key encryption
  • Public-key encryption
  • Hashing and message authentication
  • Password based key derivation and password hashing