This library is used to gain direct access to the functions exposed by Daniel J. Bernstein's nacl library via libsodium or tweetnacl. It has been constructed to maintain extensive documentation on how to use nacl as well as being completely portable. The file in libnacl/__init__.py can be pulled out and placed directly in any project to give a single file binding to all of nacl.
The libnacl code also ships with many high level classes which make nacl cryptography easy and safe, for documentation please see: http://libnacl.readthedocs.org/
There are a number of libraries out there binding to libsodium, so why make libnacl?
- libnacl does not have any non-python hard deps outside of libsodium
- libnacl does not need to be compiled
- libnacl is easy to package and very portable
- Inclusion of high level pythonic encryption classes
- Ability to have a single embeddable and transferable bindings file that can be added directly to python applications without needing to dep libnacl
This makes libnacl very portable, very easy to use and easy to distribute.