File bugs as issues on GitHub. Check existing issues first to avoid duplicates.
The source is licensed under the Apache 2 license. Fork the pythondotorg repository, create a branch, and open a pull request.
See :doc:`install` to set up your development environment.
Run the test suite and make sure it passes:
make testRun the linter and formatter:
make lint make fmt
If you changed models, check for missing migrations:
make migrations
Write tests for any new or changed code.
Keep pull requests focused — one issue or feature per PR is easier to review than a large PR that touches many parts of the system.
Include a clear description of what your PR does and why.
GitHub Actions runs on every push and pull request. It will:
- Check for ungenerated migrations (
makemigrations --check --dry-run) - Run the full test suite
- Enforce a 75% minimum test coverage threshold
PRs that fail CI won't be merged.
- Follow PEP 8
- Use
make lint(ruff) to catch issues andmake fmt(ruff) to auto-format