|
# Pydantic + FastAPI + SQLModel + SQLite |
|
|
|
This template provides a minimal setup to get FastAPI working with a sqlite database. |
|
|
|
[SQLModel](https://sqlmodel.tiangolo.com/) is used on top of Pydantic and SQLAlchemy to easily define database objects. |
|
|
|
## Getting started |
|
|
|
### Install dependencies |
|
|
|
First, create a new virtual environment for the project: |
|
|
|
```bash |
|
uv venv |
|
``` |
|
|
|
This will create an environment `.venv/` that you can instantiate like this: |
|
|
|
```bash |
|
source .venv/bin/activate |
|
``` |
|
|
|
Once that's done, install the dependencies like this: |
|
|
|
``` |
|
uv pip install -e ".[dev]" |
|
``` |
|
|
|
This will install the project in editable mode, meaning your changes will be reflected in the server. |
|
The dev dependencies are also installed for code formatting. |
|
|
|
### Run server |
|
|
|
Run: |
|
|
|
```bash |
|
make dev |
|
``` |
|
|
|
Backend server should be available on localhost: |
|
``` |
|
INFO: Will watch for changes in these directories: ['/home/wauplin/projects/docker-space-fastapi-react/backend'] |
|
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) |
|
INFO: Started reloader process [355687] using StatReload |
|
INFO: Started server process [355689] |
|
INFO: Waiting for application startup. |
|
INFO: Application startup complete. |
|
``` |
|
|
|
Hot reload is enabled, meaning backend is reloaded on each file update. |
|
|
|
### Code quality |
|
|
|
You can run the formatter with: |
|
|
|
```bash |
|
make style |
|
``` |
|
|
|
and then test everything's fine with: |
|
|
|
```bash |
|
make quality |
|
``` |