Getting started
Development dependencies
Working on cryptography
requires the installation of a small number of
development dependencies in addition to the dependencies for
Installation (including Rust). 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
$ nox -e local
OpenSSL on macOS
You must have installed OpenSSL (via Homebrew or MacPorts) before
invoking 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
and other required checks for cryptography
:
$ nox -e local
You can also specify a subset of tests to run as positional arguments:
$ # run the whole x509 testsuite, plus the fernet tests
$ nox -e local -- tests/x509/ tests/test_fernet.py
Building the docs
Building the docs on non-Windows platforms requires manually installing
the C library libenchant
(installation instructions).
The docs can be built using nox
:
$ nox -e docs