Developer Notes¶
Python environments¶
You can create Anaconda environments using
conda env create -f test/SparseSC_27.yml
conda env create -f test/SparseSC_35.yml
conda env create -f test/SparseSC_36.yml
You can can do update
rather than create
to update existing ones (to avoid potential bugs make sure the env isn't currently active).
Note: When regenerating these files (conda env export > test/SparseSC_*.yml
) make sure to remove the final prefix
line since that's computer specific.
Building the docs¶
Requires Python >=3.6 and packages: sphinx
, recommonmark
, sphinx-markdown-tables
.
Index HTML file is at docs/build/html/index.html
.
There are some errors from our setup that aren't present in RTD (they use Python 3.7 and a pip environment with the latest packages).
Running examples¶
The Jupyter notebooks require matplotlib
, jupyter
, and notebook
.
Testing¶
We use the built-in unittest
. Can run from makefile using the tests
target or you can run python directly from the repo root using the following types of commands:
python -m unittest test/test_fit.py #file (only Python >=3.5)
python -m unittest test.test_fit #module
python -m unittest test.test_fit.TestFit #class
python -m unittest test.test_fit.TestFit.test_retrospective #function
Release Process¶
- Ensure the makefile target
check
(which does pylint, tests, doc building, and packaging) runs clean - If new version, check that it's been updated in
SparseSC/src/__init__.py
- Updated
Changelog.md
- Tag/Release in version control