Welcome!
Thanks for considering contributing to FastOpenAPI 🎉
This guide explains how to get started, make contributions, write commits, open pull requests, and run tests.
Setup & Running
Install dependencies with:
# Fork the repo on GitHub first, then:
git clone https://github.com/yourusername/fastopenapi.git
cd fastopenapi
poetry install
If you don't use poetry
, you can install manually from pyproject.toml
:
pip install -e .[dev]
Project Structure
fastopenapi/
— core libraryexamples/
— examples for different frameworkstests/
— tests for each supported frameworkbenchmarks/
— performance comparisonsdocs/
— documentation in multiple languages
Running Tests
To run tests:
pytest
Tests cover both internal logic and integration with aiohttp, flask, sanic, and more.
Code Style
This project uses:
black
— code formattingflake8
— lintingisort
— import sortingpre-commit
— hooks for clean code before commit
Install pre-commit hooks:
pre-commit install
Run all checks manually:
pre-commit run --all-files
Git & Pull Requests
- Fork the repository
- Create a new branch:
feature/your-feature
orfix/your-fix
- Keep commits atomic and meaningful
- Open a PR with a clear description:
- What was added/changed?
- Which frameworks were affected?
- How was it tested?
Documentation
If your change affects public APIs or behavior, update the relevant documentation:
- docs/en/
- If possible, update other languages too (optional)
Feedback
Not sure how to implement a feature?
Feel free to open an issue with your proposal. We’re happy to discuss it with you!