Metadata-Version: 2.1
Name: fastapi-template
Version: 2.2.3
Summary: Feature-rich robust FastAPI template
Home-page: https://github.com/s3rius/FastAPI-template
Keywords: FastAPI,Cookiecutter,Template
Author: Pavel Kirilin
Author-email: win10@list.ru
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: cookiecutter (>=1.7.3,<2.0.0)
Requires-Dist: pre-commit (>=2.14.0,<3.0.0)
Requires-Dist: prompt-toolkit (>=3.0.19,<4.0.0)
Requires-Dist: pydantic (>=1.8.2,<2.0.0)
Requires-Dist: pygit2 (>=1.6.0,<2.0.0)
Requires-Dist: termcolor (>=1.1.0,<2.0.0)
Project-URL: Repository, https://github.com/s3rius/FastAPI-template
Description-Content-Type: text/markdown

![python version](https://img.shields.io/pypi/pyversions/fastapi_template?style=flat-square) ![Build status](https://img.shields.io/github/workflow/status/s3rius/FastAPI-template/Release%20python%20package?style=flat-square) [![version](https://img.shields.io/pypi/v/fastapi_template?style=flat-square)](https://pypi.org/project/fastapi-template/)

<div align="center">
<img src="https://raw.githubusercontent.com/s3rius/FastAPI-template/master/images/logo.png" width=700>
<div><i>Flexible and Lightweight general-purpose template for FastAPI.</i></div>
</div>

## Usage

⚠️ [Git](https://git-scm.com/downloads), [Python](https://www.python.org/) and [Poetry](https://python-poetry.org/) 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.

```bash
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 . up --build
```

If you want to install in from sources then try this:
```shell
python3 -m pip install poetry
python3 -m pip install .
python3 -m fastapi_template
```

## Features

Template is made with SQLAlchemy1.4 and uses sqlalchemy orm and sessions,
instead of raw drivers.

It has minimum to start new excellent project.

Pre-commit integrations and excellent code documentation.

Generator features:
- Different databases to choose from.
- Alembic integration;
- redis support;
- different CI\CD templates;
- Kubernetes config generation.

This project can handle arguments passed through command line.

```shell
$ python -m fastapi_template --help

usage: FastAPI template [-h] [--name PROJECT_NAME]
                        [--description PROJECT_DESCRIPTION]
                        [--db {none,sqlite,mysql,postgresql}]
                        [--ci {none,gitlab,github}] [--redis] [--alembic]
                        [--kube] [--dummy] [--routers] [--force]

optional arguments:
  -h, --help            show this help message and exit
  --name PROJECT_NAME   Name of your awesome project
  --description PROJECT_DESCRIPTION
                        Project description
  --db {none,sqlite,mysql,postgresql}
                        Database
  --ci {none,gitlab,github}
                        Choose CI support
  --redis               Add redis support
  --alembic             Add alembic support
  --kube                Add kubernetes configs
  --dummy, --dummy-model
                        Add dummy model
  --routers             Add exmaple routers
  --force               Owerrite directory if it exists
```

