Development

This section contains notes of interest for those wishing to contribute to Brush.

Preliminaries

Additional tools for testing and documentation building can be installed with:

$ pip install -r requirements.txt

Documentation

Documentation is built using Sphinx. Either cd to the docs directory and run make html (make.bat html on Windows) or run make docs from the repository root directory.

Testing

Tests can be automated using pytest as the test runner:

$ py.test

in the repository root directory. Alternatively, tox may be used to further automate testing on multiple versions of Python:

$ tox

Some tests may require access to a real comb. The default behavior is to skip these tests so that tests can still be run on machines without comb access. In order to force them to run, run py.test with at least the environment variable MENLO_COMB_HOST defined to give the hostname for the computer controlling the frequency comb. Other valid environment variables for comb testing are MENLO_COMB_PORT, MENLO_COMB_USER, and MENLO_COMB_PASSWORD. When these are not given, the default values in the brush.comb.FrequencyComb constructor are used.