Software Organization¶
Cool tree cartoon of main files:
spacejam
├── LICENSE.txt
├── MANIFEST.in¶
├── README.md
├── requirements.txt
├── setup.cfg
├── setup.py
└── spacejam
├── __init__.py
├── autodiff.py
├── dual.py
├── integrators.py
└── test
├── __init__.py
├── test_autodiff.py
├── test_dual.py
└── test_integrators.py
Overview of main modules¶
spacejam.autodiff
: Performs automatic differentiation of user-specified functions by following dual number rules provided byspacejam.dual
spacejam.dual
: Overloads basic math operations and returns an automatic differentiationspacejam
objectspacejam.integrators
: Suite of implicit integration schemes
Installation¶
Virtual Environment¶
For development, or just to have a self contained enviroment to use spacejam
in, run the following commands anywhere on your computer:
python -m venv venv
source venv/bin/activate
pip install spacejam
Optional: If you prefer working in a Jupyter notebook, you can also
Tests¶
Unit tests are stored in spacejam/tests
and each module mentioned above
has its own doctests. TravisCI and Coveralls integration is also provided. You
can run these tests and coverage reports yourself by doing the following:
cd venv/lib/python3.7/site-packages/spacejam
pytest --doctest-modules --cov=. --cov-report term-missing
Check out How to use for a quickstart tutorial.