We're really happy that you want to contribute to pyaerocom!
The following are some guidelines for contributing to pyaerocom, a Python package containing reading, post analysis and visualisation tools for evaluating atmospheric models against observations in the form of station networks or satellite data. Pyaerocom was initially developed for the AeroCom project. Pyaerocom is developed and maintained by climate and air quality researchers at the Norwegian meteorological institute. As an open source project we welcome a varied user base and we are very open to contributions from our users.
If you want to do changes to your pyaerocom code you should follow the installation guide in the documentation for "Installing from source ..." after setting up your environment in accordance with the requirements in the pyaerocom_env.yml file. Use the following installation command after cloning the repository
pip install --no-deps -e .
to make the installation editable.
If you find a bug, please report it using the Issues tab in the pyerocom repository. The bug report should include as much information as possible to allow us to recreate the problem.
If the documentation is unclear or you find and undocumented feature, questions can be submitted to the Issues tab using the "question" label.
If you think of a feature that you want from pyaerocom you can add an issue describing it with the label "enhancement". Please describe the feature in some detail. You may also suggest how the API call for it would be.
You are welcome to contribute code to implement new features, fix bugs or contribute documentation. We work with pull requests so we can not allow direct edits to the code or documentation. If you want to contribute code changes you need to make the changes in a new branch (or a fork if you're an external contributor) and make a pull request to have your changes integrated into pyaerocom.
Any new functions/methods you add must be covered by tests. Tests are wirtten and run using pytest
and/or tox
and are found under pyaerocom/tests. Please run tests before locally (and if working at MET also on PPI) before making a PR.
Missing test coverage will trigger a warning in the GitHub CI.
All new functions/methods/classes must have properly defined and written docstrings. Additional documentation may be provided (how to coming soon)
We are in the process of moving to the code style enforced by black. More details to come.
-
Jonas Gliß - former member
-
Hans Brenna - former member