Contributions are very welcome. Please make sure there is a github issue associated with with every pull request. Creating an issue is also a good way to propose/discuss new features or get help with using satsense.
Please follow the installation instructions on readthedocs to get started.
Please add unit tests for the code you are writing (e.g. when fixing a bug, implement a test that demonstrates the bug is fixed). You can run the unit tests locally with the command
python setup.py test
Please make sure your code is formatted according to PEP8 and docstrings are written according to PEP257. Publicly visible functions should have numpy style docstrings.
Please autoformat your code with the following commands before making a pull request:
isort satsense/my_file.py
yapf -i satsense/my_file.py
Please use prospector to check that your code meets our standards:
prospector satsense/my_file.py
Please create a pull request early, to keep other developers informed of what you're doing. Limit the amount of work in a pull request to fixing a single bug or adding a single new feature. Make sure the unit tests on Travis pass and review the comments by Codacy (click the Travis/Codacy buttons below your pull request). Note that Codacy occasionally reports false positives, ask if in doubt.
All public functions should have numpy style docstrings. You can build the documentation locally by running
python setup.py build_sphinx
Use
python setup.py build_sphinx -Ea
to build everying from scratch. Please check that there are no warnings.
If you update the notebooks please update their counterparts in the doc folder by using jupyter nbconvert
From the root of the project:
jupyter nbconvert --to rst notebooks/**/*.ipynb --output-dir=doc/notebooks/
Make sure to update the version number and release date in CITATION.cff.