Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cfircoo avatar

Sqlalchemy Postgres

  • 391 installs
  • 17 repo stars
  • Updated March 28, 2026
  • cfircoo/claude-code-toolkit

sqlalchemy-postgres is a Claude Code skill that ships async FastAPI routes and PostgreSQL repositories using SQLAlchemy 2.x session and dependency patterns for developers who need repeatable backend boilerplate without r

About

sqlalchemy-postgres is a Python backend skill from cfircoo/claude-code-toolkit that documents async SQLAlchemy 2.x patterns for FastAPI services on PostgreSQL. It shows how to define an AsyncSession factory, yield sessions through FastAPI Depends with rollback on error, and expose a DBSession type alias for cleaner route signatures. The skill covers repository-style data access with select() queries inside async route handlers, so agents generate consistent session lifecycle code instead of ad hoc connections. Developers reach for sqlalchemy-postgres when scaffolding a new FastAPI API, migrating to SQLAlchemy 2.x async APIs, or standardizing dependency injection across microservices. It assumes familiarity with Python typing, Annotated, and PostgreSQL—not ORM basics from scratch.

  • FastAPI `get_db` async generator with rollback on exception
  • `DBSession` and repository `Depends` type aliases for clean route signatures
  • Lifespan startup connection check and engine dispose on shutdown
  • Async session factory patterns for Postgres-backed services

Sqlalchemy Postgres by the numbers

  • 391 all-time installs (skills.sh)
  • Ranked #1,070 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cfircoo/claude-code-toolkit --skill sqlalchemy-postgres

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs391
repo stars17
Security audit3 / 3 scanners passed
Last updatedMarch 28, 2026
Repositorycfircoo/claude-code-toolkit

How do you wire async SQLAlchemy 2.x sessions in FastAPI?

Ship async FastAPI routes and repositories on PostgreSQL using SQLAlchemy 2.x session and dependency patterns without reinventing boilerplate each project.

Who is it for?

Python backend developers building async FastAPI services on PostgreSQL who want SQLAlchemy 2.x session and dependency patterns standardized across routes.

Skip if: Teams on synchronous Flask or Django ORM stacks, non-PostgreSQL databases, or projects that already ship a mature internal data-access framework.

When should I use this skill?

The developer asks to add FastAPI routes, async database sessions, or SQLAlchemy 2.x repositories on PostgreSQL.

What you get

AsyncSession dependency factories, DBSession type aliases, rollback-safe yield patterns, and repository-style route handlers ready to paste into a FastAPI service.

  • get_db session dependency
  • DBSession type alias
  • async route query examples

By the numbers

  • Documents SQLAlchemy 2.x async session and dependency patterns

Files

SKILL.mdMarkdownGitHub ↗

<essential_principles>

SQLAlchemy 2.0 + Pydantic + PostgreSQL Best Practices

This skill provides expert guidance for building production-ready database layers.

Stack

  • SQLAlchemy 2.0 with async support (asyncpg driver)
  • Pydantic v2 for validation and serialization
  • Alembic for migrations
  • PostgreSQL only

Core Principles

1. Separation of Concerns

models/       # SQLAlchemy ORM models (database layer)
schemas/      # Pydantic schemas (API layer)
repositories/ # Data access patterns
services/     # Business logic

2. Type Safety First Always use SQLAlchemy 2.0 style with Mapped[] type annotations:

from sqlalchemy.orm import Mapped, mapped_column

class User(Base):
    __tablename__ = "users"
    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str] = mapped_column(String(100))

3. Async by Default Use async engine and sessions for FastAPI:

from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
engine = create_async_engine("postgresql+asyncpg://...")

4. Pydantic-SQLAlchemy Bridge Keep models and schemas separate but mappable:

# Schema reads from ORM
class UserRead(BaseModel):
    model_config = ConfigDict(from_attributes=True)

5. Repository Pattern Abstract database operations for testability and clean code. </essential_principles>

<intake> What do you need help with?

1. Setup database layer - Initialize SQLAlchemy + Pydantic + Alembic from scratch 2. Define models - Create SQLAlchemy models with Pydantic schemas 3. Create migration - Generate and manage Alembic migrations 4. Query patterns - Async CRUD, joins, eager loading, optimization 5. Full implementation - Complete database layer for a feature </intake>

<routing>

ResponseWorkflow
1, "setup", "initialize", "start"workflows/setup-database.md
2, "model", "define", "create model"workflows/define-models.md
3, "migration", "alembic", "schema change"workflows/create-migration.md
4, "query", "crud", "repository"workflows/query-patterns.md
5, "full", "complete", "feature"Run setup → define-models → create-migration

Auto-detection triggers (use this skill when user mentions):

  • database, db, sqlalchemy, postgres, postgresql
  • model, migration, alembic
  • repository, crud, query
  • async session, connection pool

</routing>

<reference_index>

Domain Knowledge

ReferencePurpose
references/best-practices.mdProduction patterns, security, performance
references/patterns.mdRepository, Unit of Work, common queries
references/async-patterns.mdAsync session management, FastAPI integration

</reference_index>

<workflows_index>

WorkflowPurpose
workflows/setup-database.mdInitialize complete database layer
workflows/define-models.mdCreate models + schemas + relationships
workflows/create-migration.mdAlembic migration workflow
workflows/query-patterns.mdCRUD operations and optimization

</workflows_index>

<quick_reference>

File Structure

src/
├── db/
│   ├── __init__.py
│   ├── base.py          # DeclarativeBase
│   ├── session.py       # Engine + async session factory
│   └── dependencies.py  # FastAPI dependency
├── models/
│   ├── __init__.py
│   └── user.py          # SQLAlchemy models
├── schemas/
│   ├── __init__.py
│   └── user.py          # Pydantic schemas
├── repositories/
│   ├── __init__.py
│   ├── base.py          # Generic repository
│   └── user.py          # User repository
└── alembic/
    ├── alembic.ini
    ├── env.py
    └── versions/

Essential Imports

# Models
from sqlalchemy import String, Integer, ForeignKey, DateTime
from sqlalchemy.orm import Mapped, mapped_column, relationship, DeclarativeBase

# Async
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sessionmaker

# Pydantic
from pydantic import BaseModel, ConfigDict, Field

Connection String

# PostgreSQL async
DATABASE_URL = "postgresql+asyncpg://user:pass@localhost:5432/dbname"

</quick_reference>

<success_criteria> Database layer is complete when:

  • [ ] Async engine and session factory configured
  • [ ] Base model with common fields (id, created_at, updated_at)
  • [ ] Models use Mapped[] type annotations
  • [ ] Pydantic schemas with from_attributes=True
  • [ ] Alembic configured for async
  • [ ] Repository pattern implemented
  • [ ] FastAPI dependency for session injection
  • [ ] Connection pooling configured for production

</success_criteria>

Related skills

How it compares

Choose sqlalchemy-postgres over generic Python ORM snippets when you need FastAPI-specific AsyncSession lifecycle and SQLAlchemy 2.x async conventions in one place.

FAQ

Does sqlalchemy-postgres use SQLAlchemy 1.x or 2.x?

sqlalchemy-postgres targets SQLAlchemy 2.x async APIs. Patterns use sqlalchemy.ext.asyncio.AsyncSession, async session factories, and select()-style queries compatible with the 2.x execution model on PostgreSQL.

What web framework does sqlalchemy-postgres integrate with?

sqlalchemy-postgres integrates with FastAPI. It wires AsyncSession through Depends, defines a DBSession Annotated alias, and shows async route handlers that execute SQLAlchemy queries against PostgreSQL.

Is Sqlalchemy Postgres safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.