Psycopg

The modern PostgreSQL adapter for Python, with native async and pipeline support

Library
PyPI
v3.3.6
2,512 stars
LGPL-3.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
80 /100 Excellent
Development Activity 92
Maintenance 52
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
83 /100 Excellent
Architecture 85
Code Quality 88
Innovation 82
Learning Curve 75

Psycopg 3 is a complete rewrite of the classic psycopg2 PostgreSQL driver, built around asyncio-native connections and cursors, a C-optimized libpq binding, and strict static typing. It ships as a small family of packages (the pure-Python core, an optional Cython speedup module, and a separate connection-pool package) so applications can pull in exactly the runtime they need.

It is the driver of choice for modern async Python web stacks (FastAPI, Django async views, aiohttp) that need first-class PostgreSQL support without falling back to thread pools, while still supporting fully synchronous usage for traditional codebases.

What You Get

  • Synchronous and native asyncio connection/cursor classes sharing one API surface
  • libpq pipeline mode support for batching multiple queries over one round trip
  • An optional C/Cython extension (psycopg_c) for CPU-bound adaptation hot paths
  • A separate psycopg_pool package with sync and async connection pools
  • Server-side (named) cursors, COPY support, and typed row factories (dict, namedtuple, dataclass)
  • Full type adaptation system mapping PostgreSQL types (including arrays, ranges, JSON) to Python objects

Common Use Cases

  • Powering async web frameworks (FastAPI, Starlette, async Django) that talk to PostgreSQL without blocking the event loop
  • High-throughput services that need pipeline mode to cut round-trip latency on batched writes
  • Migrating psycopg2 codebases to a maintained, actively developed driver with modern typing
  • Applications needing precise control over server-side cursors and COPY for bulk data transfer

Under The Hood

Architecture: The repository is organized as three cooperating packages — psycopg/psycopg (pure-Python core defining Connection/AsyncConnection, Cursor/AsyncCursor, and the adaptation layer in _transformer.py/_adapters_map.py), psycopg_c (a Cython-compiled libpq binding for performance), and psycopg_pool (kept as a separately-released package so pooling can iterate on its own cadence). Connections communicate with PostgreSQL via generator-based state machines (generators.py, waiting.py) that let the same code drive both blocking sockets and asyncio event loops, which is how sync and async cursors share nearly identical implementations. Tech Stack: Python 3.9+, Cython/C for the optional binary extension, libpq as the underlying client library, pytest for testing, mypy --strict for type-checking across all three sub-packages. Code Quality: The tests/ directory contains 70+ test modules covering connections, cursors (sync/async/server-side/raw), COPY, pipelines, transactions, type adaptation, DNS/SRV resolution, and CockroachDB compatibility (tests/crdb/), with mirrored _async variants generated from shared fixtures to keep sync/async behavior in lockstep; mypy strict = true is enforced project-wide via pre-commit hooks. API Design: The public API deliberately follows PEP 249 (DB-API 2.0) conventions extended with async with/async for support, row factories for typed results, and context-manager-based transactions, so developers already familiar with psycopg2 or other DBAPI drivers have very little new surface to learn.

Used by 35 apps in this directory

Python
63%
GPL 3.0

Paperless-ngx

Bookmarks Archiving

47,038

Turn your paper pile into a searchable digital archive with OCR, AI classification, and automated workflows — all running on your own server.

View details
91
Repo Health
88
Technical
67
Dependency
Built with
Python 63%
TypeScript 28%
Updated 6 days ago
Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 6 days ago
Python
79%
AGPL 3.0

Skyvern

AI Agents · Automation

23,257

Skyvern (YC S2023) automates browser-based workflows by pairing LLMs with computer vision, letting agents click, fill, and extract data on sites they've never seen, without brittle XPath selectors that break on every layout change.

View details
89
Repo Health
82
Technical
70
Dependency
Built with
Python 79%
TypeScript 19%
Updated 6 days ago
TypeScript
47%
Other

Stirling PDF

Digital Signiture · Productivity

94,824

The open-source PDF platform you can run anywhere — edit, convert, sign, and automate PDFs without sending files to external servers.

View details
92
Repo Health
86
Technical
68
Dependency
Built with
TypeScript 47%
Java 44%
Updated 6 days ago
Python
71%
Apache 2.0

SurfSense

AI Assistants · Search

16,586

The open-source, unlimited NotebookLM alternative with real-time collaboration, a desktop app, and no vendor lock-in.

View details
88
Repo Health
71
Technical
66
Dependency
Built with
Python 71%
TypeScript 27%
Updated 6 days ago
Python
68%
AGPL 3.0

Tracecat

AI Agents · Automation · Security

3,860

Open-source agentic security automation platform that runs AI agents and durable workflows at scale with sandboxed execution.

View details
89
Repo Health
88
Technical
66
Dependency
Built with
Python 68%
TypeScript 30%
Updated 6 days ago
Python
92%
GPL 3.0

Weblate

Developer Tools

6,124

Continuous localization platform that commits translations directly into your version control system with full translator attribution.

View details
95
Repo Health
86
Technical
67
Dependency
Built with
Python 92%
Updated 6 days ago
Python
66%
Apache 2.0

WrenAI

AI Agents · Analytics · Data Engineering

17,958

Open-source GenBI engine that lets AI agents turn natural-language questions into governed SQL, charts, and shareable dashboards across 20+ data sources — no vendor lock-in, no black-box prompts.

View details
91
Repo Health
91
Technical
68
Dependency
Built with
Python 66%
Rust 31%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers