Skip to content

Project status

Pysely is pre-alpha and not production-ready. APIs may change.

Available now

Area Implemented
Databases Async PostgreSQL, MySQL, and SQLite execution
Reads Select, filters, joins, aliases, ordering, paging, grouping, set operations
Writes Insert, update, delete, and supported returning clauses
Connections Transactions, single-connection scopes, and cleanup
Typing mypy/Pyright checks from adjacent .pyi stubs
Tooling Schema introspection and an interactive browser playground

typgen generates no runtime module. SQL execution uses shared library code.

Know the boundaries

  • String-based writes do not yet have schema-specific static checking.
  • Exact result types have limits for wide rows, lists, and dynamic aliases.
  • CTEs, aggregates, and DDL are not a complete typed SQL surface.
  • SQL Server and PGlite currently support offline compilation, not execution.

See Schema and typing for precise typing boundaries.

Before a production release

  • Complete the supported SQL and migration APIs.
  • Harden cancellation, failures, and resource cleanup.
  • Improve large-schema type-checking and completion speed.
  • Expand parity, runtime, and editor verification.

CI already covers Ruff, mypy, Pyright, packaging, live databases, and browser tests. Passing those checks is not a production-readiness claim.