Contributing to FastAPI Guard
May 14, 2026 ยท View on GitHub
Thank you for considering contributing to FastAPI Guard! This document outlines the process for contributing to this Python library and helps ensure a smooth collaboration experience.
. Code of Conduct
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
How Can I Contribute?
. Reporting Bugs
Before creating bug reports, please check the issue tracker to avoid duplicates. When you create a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples (e.g., HTTP requests that trigger the issue)
- Describe the behavior you observed and why it's problematic
- Include logs, error messages, and Python version
- Specify your environment: OS, Python version, FastAPI version, etc.
. Suggesting Enhancements
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the proposed functionality
- Explain why this enhancement would be useful to FastAPI Guard users
- Include examples of how it would be used if applicable
- List any relevant references or examples from other libraries
. Pull Requests
- Fill in the required template
- Follow the Python style guides (PEP 8)
- Include tests for new features or bug fixes
- Update documentation for significant changes
- Ensure the test suite passes
- Make sure your code lints (ruff, mypy)
. Development Setup
-
Fork and clone the repository
-
The project uses Docker for development and testing. Make sure you have Docker and Docker Compose installed on your system.
-
You can use the provided Makefile commands to set up your development environment:
# Install dependencies using 'uv'
make install
# To stop all containers
make stop
. Testing
The project supports Python 3.10, 3.11, 3.12, 3.13 and 3.14. Tests are run using Docker containers:
# Run tests with the default Python version (3.10)
make test
# Run tests with all supported Python versions
make test-all
# Run tests with a specific Python version
make test-3.11
# Run tests locally (if you have 'uv' installed)
make local-test
. Style Guidelines
This project uses:
Before submitting a PR, make sure your code passes all style checks:
make lint
make fix
and
make lint-docs
make fix-docs
. Documentation
The documentation for FastAPI Guard is built with MkDocs. To build and view the documentation locally:
make serve-docs
Please update the documentation when making significant changes.
Versioning
This project follows Semantic Versioning.
. Release Process
- Update version in
pyproject.toml - Update
docs/release-notes.md - Create a new GitHub release with release notes
- CI will automatically publish to PyPI
Questions?
If you have questions about the development process or need help, feel free to open an issue for discussion.
Thank you for contributing to FastAPI Guard!