Contributing#
Contributions are welcome! Please submit your pull-request, issue or comment in the GitHub repo. You are also welcome to join the PyLops slack channel.
Installation for developers#
Developers should clone the main branch of the repository and install the dev requiments:
$ git clone https://github.com/PyLops/curvelops
$ git remote add upstream https://github.com/PyLops/curvelops
$ make dev-install
They should then follow the same instructions in the Requirements section. We recommend installing dependencies into a separate environment. Finally, they can install Curvelops with
$ python3 -m pip install -e .
Developers should also install pre-commit hooks with
$ pre-commit install
Developer workflow#
Developers should start from a fresh copy of main with
$ git checkout main
$ git pull upstream main
Before you start making changes, create a new branch with
$ git checkout -b patch-some-cool-feature
After implementing your cool feature (including tests 🤩), commit your changes to kick-off the pre-commit hooks. These will reject and “fix” your code by running the proper hooks. At this point, the user must check the changes and then stage them before trying to commit again.
Once changes are committed, we encourage developers to lint, check types and build/check documentation with:
$ make tests
$ make lint
$ make typeannot
$ make coverage
$ make doc
$ make servedoc
Once everything is in order, and your code has been pushed to GitHub, navigate to PyLops/curvelops and submit your PR!