Contributing
Thank you for being interested in contributing to open source software! There are lots of ways to contribute to the project:
- Try it out, and report any bugs or issues that you find
- Implement new features
- Review other contributor's pull requests
- Write documentation
- Participate in discussions
Development
To set up for development:
- Fork the repository on GitHub by clicking the "Fork" button on the project's GitHub page
-
Clone your fork (replace
YOUR-USERNAMEwith your GitHub username):git clone https://github.com/YOUR-USERNAME/httpx-retries.git cd httpx-retries -
Add the original repository as a remote to sync latest changes:
git remote add upstream https://github.com/will-ockmore/httpx-retries.git -
Install dependencies:
uv sync
Running Tests
Run the test suite:
./scripts/test
This will run the tests with coverage reporting.
Code Quality
We use several tools to maintain code quality. Run all checks with:
./scripts/check
This runs:
Documentation
Documentation is built using MkDocs. To preview locally:
mkdocs serve
Then visit http://127.0.0.1:8000 in your browser.
Pull Requests
To submit changes:
- Fork the repository
- Create a new branch for your changes
- Make your changes
- Run tests and code quality checks
- Submit a pull request
We aim to review pull requests promptly and provide constructive feedback if needed.
Releasing
This section is for maintainers only.
To release a new version:
- Update version in
pyproject.tomlfollowing Semantic versioning (for example:0.2.4) - Update
CHANGELOG.md, following Keep a Changelog - Create a new release on GitHub:
- Tag version like
0.2.4 - Title
0.2.4 - Description copied from the changelog
- The GitHub release will automatically trigger a PyPI publish
If the PyPI publish fails, you can manually publish using:
./scripts/publish