-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
-
Before submitting, please make sure the code doesn't rises any linter error and run
uv run toxto run the tests in all supported python versions.
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability of Proper will generally not be accepted.
- Look through the GitHub issues for features. Anything tagged with "Feature request" is open to whoever wants to implement it.
- The project could always use more documentation, specially as blog posts, articles, and such.
Ready to contribute? Here's how to set up the project for local development.
- Fork the repo on GitHub.
- Clone your fork locally:
git clone git@github.com:jpscaletti/proper.git- Install your local copy into a virtualenv.
make install- Create a branch for local development:
git switch -c name-of-your-bugfix-or-featureNow you can make your changes locally.
- When you're done making changes, check that your changes pass all tests
make test
make lint- Commit your changes and push your branch to GitHub:
git add .
git commit -m "Summary description of your changes."
git push origin name-of-your-bugfix-or-feature- Submit a pull request through the GitHub website.
Before you submit a pull request, check that it meets these guidelines:
- The pull request has code, it should include tests.
- Run
uv run toxand make sure that the tests pass for all supported Python versions.
To run a subset of tests:
$ uv run pytest tests/the-tests-file.py