π«ΠΠ½ΡΠΈΡΠΏΠ°ΠΌ ΡΠ°ΠΉΡ Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌΠΈπ Π½Π° FastAPI
TODO:
- Uvcorn ΠΈΠ»ΠΈ ...
- Docker ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅Π½ΠΈΠ΅
- Fastapi
- Starlette β ΡΡΡΡΡΡΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ASGI. Π Π½Π΅ΠΌ Π²ΡΠ΅ Π·Π°ΡΠΎΡΠ΅Π½ΠΎ Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΡΡΡ ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΠΊΠΈ 3-ΠΉ Π²Π΅ΡΠΊΠΈ Python.
- ΡΠ°ΡΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°Π½ fastapi ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΡΠ΅ΡΡΡ pytest
- Π»ΠΈΠ½ΡΠ΅ΡΡ
ΠΈΠ΄Π΅ΠΈ:
- vue?
- mock
- uvicorn -python-dotenv?
- jinja2
- mypy
- Black flake8 ΠΈΠ»ΠΈ pylint
- we-make-python-styleguide
- starlette
- Tortoise ?
- JWT, OAuth2.
- ΠΡΠΈΠΌΠ΅Ρ Π±Π»ΠΎΠ³Π°
- ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠ±Π»ΠΎΠ³Π° - ΠΠΈΠΊΡΠΎΠ±Π»ΠΎΠ³ Ρ SqlAlchemy ΠΈ encode/databases
- ΠΡΠΈΠΌΠ΅Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² FastAPI Ρ SqlAlchemy
- FastAPI Ρ Celery
- Microservice FastAPI - ΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ FastAPI
- FastAPI + GINO + Arq + Uvicorn - ΠΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Async REST API Π² Python (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡ Redis ΠΈ PostgreSQL).
- FastAPI Users - Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ FastAPI . FastAPI Users ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΠΌΡΠΌ.
- FastAPI Auth - Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ FastAPI.
- Row Level Permissions for FastAPI - ΠΏΡΠΎΡΡΠΎΠΉ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (ΡΠΎΠ»Π΅ΠΉ / Π³ΡΡΠΏΠΏ)
- ORM - ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌ ORM Π΄Π»Ρ Python Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Postgres, MySQL ΠΈ SQLite.
- Π―Π΄ΡΠΎ SQLAlchemy Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
- databases Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
- pydantic Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
- Ormantic - ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ORM ΡΠ΅Π»ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ FastAPI.
- FastAPI-SQLAlchemy - ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ FastAPI ΠΈ SQLAlchemy Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
- Ormar
- ΠΠ°ΠΊΠ΅Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΠΌΠΈΠ½ΠΈ ORM Π΄Π»Ρ Python Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Postgres, MySQL ΠΈ SQLite.
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ORM, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ (fastapi, starlette ΠΈ Ρ. Π΄.)
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ - Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ pydantic ΠΈ Π΄ΡΡΠ³ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ orm (sqlalchemy, peewee, gino ΠΈ Ρ. Π΄.)
- FastAPI-admin - Π°Π΄ΠΌΠΈΠ½ ΠΏΠ°Π½Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ FastAPI, tortoise-orm ΠΈ rest-admin.
- FastAPI-utils - ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ΄ ΡΡΠΈΠ»ΠΈΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ: FastAPI_ru
- Docker-compose-wait - A simple script to wait for other docker images to be started while using docker-compose