All Projects → s3rius → FastAPI-template

s3rius / FastAPI-template

Licence: MIT license
Feature rich robust FastAPI template.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to FastAPI-template

fastapi-starter
A FastAPI based low code starter: Async SQLAlchemy, Postgres, React-Admin, pytest and cypress
Stars: ✭ 97 (-85.3%)
Mutual labels:  cookiecutter, cookiecutter-template, fastapi, fastapi-template, fastapi-boilerplate
at-python-template
The official Python Project Template of Alexander Thamm GmbH
Stars: ✭ 34 (-94.85%)
Mutual labels:  cookiecutter, cookiecutter-template, cookiecutter-python3
fastapi-pydiator
Python clean architecture and usecase implementation with fastapi and pydiator-core
Stars: ✭ 58 (-91.21%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
fastapi-boilerplate
FastAPI boilerplate for real world production
Stars: ✭ 145 (-78.03%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
fastapi-mvc
Developer productivity tool for making high-quality FastAPI production-ready APIs.
Stars: ✭ 131 (-80.15%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
fastapi-uvicorn-gunicorn-nginx-supervisor-boilerplate
Production ready boilerplate to start with Fastapi
Stars: ✭ 17 (-97.42%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
FastAPI Tortoise template
FastAPI - Tortoise ORM - Celery - Docker template
Stars: ✭ 144 (-78.18%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
cookiecutter-flask-skeleton
Flask Starter Project
Stars: ✭ 56 (-91.52%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-pypackage
A cookiecutter template for Python package with heavy use of Github actions
Stars: ✭ 19 (-97.12%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-homeassistant-component
A cookiecutter project template for generating the structure for a new custom component.
Stars: ✭ 22 (-96.67%)
Mutual labels:  cookiecutter, cookiecutter-template
python-template
Netherlands eScience Center Python Template
Stars: ✭ 136 (-79.39%)
Mutual labels:  cookiecutter, cookiecutter-template
qt-qml-project-template-with-ci
Template for a Qt/QML application with batteries included: GitHub C.I. for your QML app; automated gui testing with Xvfb; automatic code-format checks and more. Compiles for Desktop and Mobile (Linux, Mac, Windows, and Android).
Stars: ✭ 33 (-95%)
Mutual labels:  cookiecutter, cookiecutter-template
Cookiecutter Data Science
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
Stars: ✭ 5,271 (+698.64%)
Mutual labels:  cookiecutter, cookiecutter-template
django-template
The ultimate Django template: production ready Django 3.2 with Docker, HTTPS and CI/CD using Github actions ‎️‍🔥
Stars: ✭ 20 (-96.97%)
Mutual labels:  sentry, cookiecutter
cookiedozer
📱 Cookiecutter for i18n Kivy Apps
Stars: ✭ 48 (-92.73%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-qt-app
A cookiecutter to create Qt applications, with translations and packaging
Stars: ✭ 29 (-95.61%)
Mutual labels:  cookiecutter, cookiecutter-template
Full Stack Fastapi Postgresql
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more.
Stars: ✭ 7,635 (+1056.82%)
Mutual labels:  cookiecutter, fastapi
FRDP
Boilerplate code for quick docker implementation of REST API with JWT Authentication using FastAPI, PostgreSQL and PgAdmin ⭐
Stars: ✭ 55 (-91.67%)
Mutual labels:  fastapi, fastapi-boilerplate
cookiecutter-python-cli
A cookiecutter template for creating a Python CLI application using click
Stars: ✭ 65 (-90.15%)
Mutual labels:  cookiecutter, cookiecutter-template
fastapi-admin
A fast admin dashboard based on FastAPI and TortoiseORM with tabler ui, inspired by Django admin
Stars: ✭ 1,765 (+167.42%)
Mutual labels:  tortoise-orm, fastapi

python version version

Flexible general-purpose template for FastAPI.

Usage

⚠️ Git, Python and Poetry must be installed and accessible ⚠️

Poetry version must be greater or equal than 1.1.8. Otherwise it won't be able to install SQLAlchemy.

Templator in action

You can install it directly from pypi with pip.

python3 -m pip install fastapi_template
python3 -m fastapi_template
# or fastapi_template
# Answer all the questions
# 🍪 Enjoy your new project 🍪
cd new_project
docker-compose -f deploy/docker-compose.yml --project-directory . build
docker-compose -f deploy/docker-compose.yml --project-directory . up --build

If you want to install it from sources, try this:

python3 -m pip install poetry
python3 -m pip install .
python3 -m fastapi_template

Also you can use it with docker.

docker run --rm -it -v "$(pwd):/projects" s3rius/fastapi_template

Features

One of the coolest features is that this project is extremely configurable. You can choose between different databases and even ORMs, or you can even generate a project without a database! Currently SQLAlchemy1.4, TortoiseORM, Piccolo and Ormar are supported.

This project can run as TUI or CLI and has excellent code documentation.

Generator features:

  • You can choose between GraphQL and REST api;
  • Different databases support;
  • Different ORMs support;
  • Optional migrations for each ORM except raw drivers;
  • Optional redis support;
  • Optional rabbitmq support;
  • different CI\CD;
  • Optional Kubernetes config generation;
  • Optional Demo routers and models (This helps you to see how project is structured);
  • Pre-commit integration;
  • Generated tests with almost 90% coverage;
  • Tests for the generator itself;
  • Optional Prometheus integration;
  • Optional Sentry integration;
  • Optional Loguru logger;
  • Optional Opentelemetry integration.

This project can handle arguments passed through command line.

$ python -m fastapi_template --help

Usage: fastapi_template [OPTIONS]

Options:
  -n, --name TEXT                 Name of your awesome project
  -V, --version                   Prints current version
  --force                         Owerrite directory if it exists
  --quite                         Do not ask for features during generation
  --api-type [rest|graphql]       Select API type for your application
  --db [none|sqlite|mysql|postgresql]
                                  Select a database for your app
  --orm [none|ormar|sqlalchemy|tortoise|psycopg|piccolo]
                                  Choose Object–Relational Mapper lib
  --ci [none|gitlab_ci|github]    Select a CI for your app
  --redis                         Add redis support
  --rabbit                        Add RabbitMQ support
  --migrations                    Add Migrations
  --kube                          Add kubernetes configs
  --dummy                         Add dummy model
  --routers                       Add example routers
  --swagger                       Add self hosted swagger
  --prometheus                    Add prometheus compatible metrics
  --sentry                        Add sentry integration
  --loguru                        Add loguru logger
  --opentelemetry                 Add opentelemetry integration
  --traefik                       Adds traefik labels to docker container
  --kafka                         Add Kafka support
  --help                          Show this message and exit.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].