Getting started

Development dependencies

Working on cryptography requires the installation of a small number of development dependencies in addition to the dependencies for Installation. These are handled by the use of nox, which can be installed with pip.

$ # Create a virtualenv and activate it
$ # Set up your cryptography build environment
$ pip install nox
$ # Specify your Python version here.
$ nox -e tests -p py310

OpenSSL on macOS

You must have installed OpenSSL (via Homebrew , MacPorts, or a custom build) and must configure the build as documented here before calling nox or else pip will fail to compile.

Running tests

cryptography unit tests are found in the tests/ directory and are designed to be run using pytest. nox automatically invokes pytest:

$ nox -e tests -p py310
...
62746 passed in 220.43 seconds

Building documentation

cryptography documentation is stored in the docs/ directory. It is written in reStructured Text and rendered using Sphinx.

Use nox to build the documentation. For example:

$ nox -e docs
...
nox > Session docs was successful.

The HTML documentation index can now be found at docs/_build/html/index.html.