A high-performance async REST API template built with FastAPI, GINO, Arq, and Uvicorn, powered by PostgreSQL and Redis.
fastapi-gino-arq-uvicorn is a high-performance asynchronous REST API template built with Python. It combines FastAPI for the web framework, GINO for async database operations, Arq for background task processing with Redis, and Uvicorn as the ASGI server. The template solves the problem of setting up a production-ready, scalable async API with modern tooling and best practices.
Python developers and teams building scalable, asynchronous REST APIs who want a production-ready foundation with integrated task queuing, database management, and deployment tooling.
Developers choose this template because it provides a curated stack of high-performance async libraries with optimized Docker configurations, reducing setup time and ensuring best practices for scalability and maintainability.
High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines FastAPI for rapid HTTP handling and Uvicorn for async serving, delivering performance comparable to Node.js and Go with automatic OpenAPI documentation.
Includes Alembic for database migrations, Sentry for error monitoring, and pre-commit hooks, reducing setup time and enforcing best practices from the start.
Integrates Arq with Redis for background job processing, providing scalable task management out of the box without additional configuration.
Comes with a production-optimized Dockerfile and Docker Compose setup, simplifying containerization and deployment for scalable environments.
Requires running PostgreSQL and Redis locally for development, adding infrastructure overhead compared to templates with embedded databases or lighter alternatives.
GINO is tailored for PostgreSQL, making it unsuitable for projects using other databases without significant code changes or ORM replacement.
Relies on Poetry and asdf for tooling, which may conflict with teams using pip, conda, or other package managers, limiting flexibility.