- by: axiner
- fastapi-scaff
- This is a fastapi scaff.
- new project
- add api
- about project:
- auto init project (conf, db, log...)
- auto register router
- auto register middleware
- ...
- integrated sqlalchemy
- integrated jwt\api-key
- integrated celery
- integrated docker deployment
- ...
- about structure:
- standard
- light
- tiny
- single
- more documents: 请点击链接
-
ASM: ASM mode
- A api
- S services(&schemas)
- M models
-
Calling process: main.py(initializer) -> (middleware) - api - services(&schemas) - (models)
-
Structure: (The naming has been finalized after multiple revisions, making it concise and easy to understand)
└── fastapi-scaff ├── app (应用) │ ├── api ├── (api) │ │ └── v1 │ └── (v1) │ ├── initializer ├── (初始化) │ │ ├── conf │ ├── (配置) │ │ ├── db │ ├── (数据库) │ │ ├── log │ ├── (日志) │ │ └── ... │ └── (...) │ ├── middleware ├── (中间件) │ ├── models ├── (数据模型) │ ├── schemas ├── (数据结构) │ ├── services ├── (业务逻辑) │ ├── utils ├── (utils) │ └── main.py └── (main.py) ├── app_celery (应用-celery) ├── config (配置目录) ├── docs (文档目录) ├── logs (日志目录) ├── tests (测试目录) ├── .dockerignore ├── .gitignore ├── .python-version ├── build.sh ├── docker-compose.yaml ├── Dockerfile ├── LICENSE ├── README.md ├── requirements.txt └── runserver.py -
【Other structure】
- light:Please create and view (with
-e light) - tiny:Please create and view (with
-e tiny) - single:Please create and view (with
-e single)
- light:Please create and view (with
This package can be installed using pip (Python>=3.11):
pip install fastapi-scaff
- 1)help document
fastapi-scaff -h
- 2)new project
fastapi-scaff new <myproj>- light structure:
fastapi-scaff new <myproj> -e light - tiny structure:
fastapi-scaff new <myproj> -e tiny - single structure:
fastapi-scaff new <myproj> -e single
- 3)add api
cd to project root dirfastapi-scaff add <myapi>
- 4)integrated celery
- M1。
newwith--celery:fastapi-scaff new <myproj> --celery - M2。
addwith--celery:fastapi-scaff add <mycelery> --celery
- M1。
- 1)cd to project root dir
- 2)modify the configuration, such as for the database
- 3)
pip install -r requirements.txt - 4)
python runserver.py- more parameters see:
- about uvicorn: click here
- about gunicorn: click here
- more parameters see:
- 5)docker, please see:
- build.sh
- docker-compose.yaml | docker-compose.swarm.yaml[config/nginx.conf]
- Dockerfile | Dockerfile.slim
This project is released under the MIT License (MIT). See LICENSE