Contributing#
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. Aeromancy is a young project and expected to change much code and process-wise at first.
Environment setup#
Fork and clone the repository:
git clone https://github.com/<your-github-username>/aeromancy
cd aeromancy
We use pdm to manage the project and dependencies. To install PDM:
pip install --user "pdm[copier]"
Then you can install all Aeromancy dependencies with:
pdm install
You now have the dependencies installed. If you haven't used PDM
before, it's
worth reading their documentation, but we
include a few key commands below.
Common development commands#
pdm run
: Start a Python interpreter with PDM's virtual environment. This will have access to all of Aeromancy's dependenciespdm run python <path/to/some/file.py>
: Similar to the above, but for running a Python script in PDM's virtual environmentpdm add <python-pkg-name>
: Add and install a new dependencypdm lint
: Run pre-commit linterspdm test
: Run test suitepdm doc
: Start doc server (see also the public version for the latest release)
Bugs and feature requests#
Check the list of open issues before filing. Please include as much information as you can so it's easier to reproduce your issue. We can't promise we'll be able to address a feature request, but we'd love to know what folks think is missing.
Development#
As usual:
- Create a new branch:
git checkout -b your-username/feature-or-bugfix-name
- Edit the code and/or the documentation
If you updated the documentation or the project dependencies:
- Run
pdm doc
- Go to http://localhost:8030 and check that everything looks good.
Before committing:
- Install pre-commit and hooks:
pre-commit install
- Then linter task will be run each time when you commit something. Or you can run it manually:
pdm lint
The linter will autofix any issues that it can. We like to stage our changes before running the linter to make it easy to see what it changed.
- Run the test suite and make sure everything is passing:
pdm test
If a test fails, please investigate and/or include a note in the PR if you think it's expected.
If you are unsure about how to fix or ignore a warning, just let the continuous integration fail, and we will help you during review.
Pull requests guidelines#
Please link to any related issue in the Pull Request message.