Interested in contributing to EOmaps? Awesome! Any contributions are welcome!
Head over to the GitHub issues page and file a new bug-report or a feature request! We greatly appreciate any ideas how we can improve the code and documentation.
EOmaps aims to be a feature-rich, performant and user-friendly tool for geographic data visualization and analysis. We highly welcome pull-requests for bug-fixes, improvements or entirely new features to improve the package!
If you got some questions or need help to get started, don't hesitate to get in touch by opening a new issue, or discussion on GitHub!
-
All of the
EOmaps
codebase is hosted on GitHub -
Black is used to ensure a consistent code format throughout the project
- pre-commit hooks are used to ensure that new code confirms to the code-style
-
Automatic testing is performed via pytest, codecov and GitHub Actions
-
The documentation is generated with sphinx and hosted on ReadTheDocs
-
Releases are hosted on pypi and conda-forge
This section provides a quick overview how we conduct development in the EOmaps repository.
More detailed instructions on how to setup a development environment and contribute code to EOmaps are provided in the Contribution Guide of the documentation!
After making changes, please test changes locally before creating a pull request. The following tests will be executed after any commit or pull request, so we ask that you perform the following sequence locally to track down any new issues from your changes.
Run the primary test suite and generate coverage report:
python -m pytest -v --cov eomaps
Unit testing can take some time, if you wish to speed it up, set the
number of processors with the -n
flag. This uses pytest-xdist to leverage multiple processes. Example usage:
python -m pytest -n <NUMCORE> --cov eomaps
NOTE: During the tests, a lot of figures will be created and destroyed!
To ensure your code meets minimum code styling standards, run:
pip install pre-commit
pre-commit run --all-files
You can also install this as a pre-commit hook by running::
pre-commit install
This way, pre-commits will run automatically before each commit to ensure that you do not push code that fails the style checks.
Build the documentation, navigate to the eomaps/docs
directory (containing the make.bat
) file and then run:
make html
The generated documentation can be found in the doc/build/html
directory.