Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
Report bugs on the Github Repo.
If you are reporting a bug, please include:
- The version you are running
- Any details about your local setup that might be helpful
- Reproduction steps
Look through the Github issues for bugs. Anything tagged with "bug" or "help wanted" is open to whoever wants to implement it.
Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.
Clean Actions could always use more documentation, whether as part of the official docs, in docstrings, or even on the web in blog posts, articles, and such.
The best way to send feedback is to file an issue on Github.
If you are proposing a feature:
- Explain in detail how it would work
- Keep the scope as narrow as possible, to make it easier to implement
- Try to give an example of what you're looking for
- Remember that this is a volunteer-driven project, and that contributions are welcome
Ready to contribute? Here's how to set up Clean Actions for local development.
- Fork the repo on Github
- Clone your fork locally
- Setup a virtual environment We recommend using pyenv for this, which can be easily installed with the installer on supported OSs.
- Install flit.
- Install the development dependencies
You can use
make install
for this, orflit install --pth-file
. - Checkout a new branch (
git checkout -b branch-name
) Now you can make your changes locally - Once you're done, make sure Linting and Testing passes
3 Linters have been set up to adhere to our style guidelines:
- isort
- black
- autoflake
You can check your changes by running make lint
to get a report.
To fix any linting issues, run:
make fixlint
Testing is as simple as running:
make test
This will run the pytest suite. Note that there are 2 important plugins loaded as part of this:
- pytest-cov Generates a coverage report of the tests
- pytest-randomly Ensures that tests don't always run in the same order (prevents order dependent tests)