Contributing
Contributions are always welcome! See also the current list of contributors.
Fork this repository
Check out the develop branch:
git checkout developCreate your feature branch:
git checkout -b feature-somethingCommit your changes:
git commit -am 'Add some feature'Push to the branch:
git push origin feature-somethingSubmit a pull request
Please keep your pull requests feature-specific and limit yourself to one feature per feature branch. Remember to pull updates from this repository before opening a new feature branch.
If you are unsure where to add you feature into the code, please do not hesitate to contact us.
There is no strict coding guideline, but please try to match your code style to the code you edited or to the style in the respective module.
Branches
We aim to adhere to the “git flow” branching model: http://nvie.com/posts/a-successful-git-branching-model/
Release versions (
masterbranch) are taggedmajor.minor.patch, starting at1.0.0
Download the latest stable version from https://github.com/spirit-code/spirit/releases
The develop branch contains the latest updates, but is generally less consistently tested than the releases.
Testing
When developing for spirit you should make use of the available tests and add tests of your own for any feature that you implement.
Tests are built and configured through cmake and require the SPIRIT_BUILD_TESTS=ON option as well as an accessible numpy installation.
To run all tests use:
ctest --test-dir build --output-on-failure
Documentation
The documentation is built using sphinx which is configured through the conf.py file.
The API uses doxygen and apidoc to parse documentation from the source code, while dedicated documentation is stored in docs and core/docs.
Build requirements are listed in docs/environment.yml and to build the documentation run:
# building the documentation
sphinx-build -b html . _build
# looking at the documentation
python -m "http.server" -d _build
Alternatively you use the sphinx-autobuild project.