fast api fin101
python: 3.10.13 + pyenv + pip-tools
python3 -m venv .venv
. .venv/bin/activate
activate the corresponding environment
install pip-tools https://github.com/jazzband/pip-tools
python -m pip install pip-tools
- create requirements.in and dev-requirements.in
pip-compile
orpython -m piptools compile
will createrequirements.txt
file.pip-compile dev-requirements.in
will createdev-requirements.txt
file.pip-sync dev-requirements.txt requirements.txt
正式安裝 (只下pip-sync
只會執行requirements.txt)
Create a main.py and simple ping API.
uvicorn main:app --port 8000
main is python main.py, app is FastAPI module
uvicorn main:app --port 8000 --reload
development model, when code change server will auto reload.
Create SQLModel (Notice: circular import problem)
pip install alembic
alembic init migrations
Then see the tiangolo/sqlmodel#85 to revise code
Then continue run commands
alembic revision --autogenerate -m "init users and items table"
alembic upgrade head
If you want to downgrade
alembic downgrade -1