Stack template / python

FastAPI + PostgreSQL + SQLAlchemy Starter

FastAPI, PostgreSQL, SQLAlchemy, Pydantic, and Ruff form a backend service configuration where the generated project is centered on a backend service. Better Fullstack can scaffold this exact compatibility-checked selection.

01 / selection

Stack at a glance

RoleTechnologyRepository descriptionScope
BackendFastAPIModern, fast (high-performance) web framework for building APIs with PythonPrimary backend
DatabasePostgreSQLAdvanced SQL databaseProject-wide
ORMSQLAlchemyThe Python SQL toolkit and Object Relational MapperScoped to the backend
ValidationPydanticData validation using Python type annotationsScoped to the backend
Code qualityRuffAn extremely fast Python linter and code formatterScoped to the backend

02 / architecture

How the pieces fit

  • The generated stack is centered on a backend service with no browser frontend.
  • SQLAlchemy is scoped to the backend.
  • Pydantic is scoped to the backend.
  • Ruff is scoped to the backend.

03 / output

What gets generated

The virtual generator produced 19 files across 4 directories. The output is a single-directory project.

Top-level entries

  • ./.env.example
  • ./.gitignore
  • ./AGENTS.md
  • ./CLAUDE.md
  • ./README.md
  • ./alembic.ini
  • ./migrations
  • ./pyproject.toml
  • ./src
  • ./tests

Representative files

  • README.md
  • pyproject.toml
  • src/app/__init__.py
  • src/app/crud.py
  • src/app/database.py
  • src/app/main.py
  • src/app/models.py
  • src/app/schemas.py

04 / create

Create command

This is the canonical Bun command generated for the selection.

bun create better-fullstack@latest my-app --ecosystem python --database postgres --python-web-framework fastapi --python-orm sqlalchemy --python-validation pydantic --python-ai none --python-auth none --python-api none --python-task-queue none --python-graphql none --python-quality ruff --python-testing none --python-caching none --python-realtime none --python-observability none --python-cli none --python-cloud-sdk none --python-http-client none --python-data none --python-media none --python-server none --python-package-manager uv --python-message-queue none --email none --observability none --caching none --search none --ai-docs claude-md agents-md

05 / builder

Open in the builder

Open this exact selection →
eco
python
db
postgres
au
none

06 / checks

Compatibility notes

Compatibility checked against Better Fullstack types version 2.3.0.

The generated record has 0 graph issues and 0 disabled selected options. This is a compatibility check, not a claim that this exact scaffold received a runtime smoke verification.

07 / fit

When to choose this shape

Choose this shape when the generated project should expose backend functionality without a browser frontend.

08 / next

Related stacks and guide

09 / faq

Questions

Is this combination supported?

It passes the repository's compatibility analysis, selected-option checks, stack graph validation, project schema parsing, and virtual generation. That result is described here as compatibility checked.

Does it generate one app or separate parts?

The generated project is centered on a backend service. The actual generated output uses a single-directory layout.

How can I customize the selection?

Open the generated builder link above. Its query parameters reproduce this selection, and the builder can change compatible options before generating a new command.

Patreon