Contributing¶
Thank you for your interest in contributing to FastAPI Admin Kit!
Development Setup¶
Prerequisites¶
- Python 3.11 or higher
- uv (recommended) or pip
Clone and Install¶
Run Tests¶
Run Linter¶
Run Documentation Server¶
Open http://localhost:8000 in your browser.
Project Structure¶
fastapi_admin_kit/
├── admin/ # Admin class and configuration
├── auth/ # Authentication and RBAC
├── audit/ # Audit logging
├── widgets/ # Form widgets
├── views/ # Route handlers
├── templates/ # Jinja2 templates
├── static/ # CSS, JS, images
└── plugins/ # Plugin system
Code Style¶
We use Ruff for linting and formatting:
- Line length: 100
- Target: Python 3.11
- Rules: E, F, I, N, UP
Pull Request Process¶
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linter
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Reporting Issues¶
Use the GitHub issue tracker to report bugs or request features.
When reporting bugs, please include:
- Python version
- FastAPI version
- SQLAlchemy version
- Steps to reproduce
- Expected behavior
- Actual behavior
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.