Contributions to flatspin are very welcome!
There are many ways to contribute to the project, for example:
Found a bug? Please let us know by filing a bug report!
Have a feature request? Please open an issue!
If you would like to make changes to the code, please see below on how to get started.
We are also grateful for any improvements to the documentation :)
Bugs and feature requests#
Please use the issue tracker to file bug reports, feature requests or any other issues.
Both code and documentation live in the flatspin repository.
To get started, check out the repository with:
git clone https://gitlab.com/flatspin/flatspin
Next, install flatspin in development mode:
cd flatspin pip install --user -e -U .[dev]
This will install all dependencies needed for development. In addition, any changes to the code in your local checkout will be immediately available from Python without having to reinstall the flatspin package.
flatspin comes with a suite of unit tests that verifies various parts of the simulator. Any new features should come with a unit test that verifies correctness.
You may run the full suite of tests with:
Or alternatively, skipping the time-consuming benchmarks:
pytest --benchmark-skip tests
The flatspin documentation is created using the excellent Jupyter Book.
To build the documentation locally, use:
jupyter-book build doc
Please note that some of the examples in the documentation will fail to build, since they depend on some flatspin datasets which are not included in the repository.
Once you are ready to contribute your changes, either to the code or documentation, please open a merge request.