SQLSpec — это Python-библиотека для работы с базами данных, которая позволяет писать обычный SQL без использования ORM.
Берет на себя безопасное выполнение запросов, типизацию результатов и предоставляет единый API для разных СУБД и драйверов.
Основные особенности: SQL-first подход: вместо ORM используются обычные SQL-запросы. Типизированное преобразование результатов в Pydantic, dataclass, attrs и msgspec. Единый API для синхронной и асинхронной работы. Поддержка большого числа СУБД и драйверов (PostgreSQL, SQLite, MySQL, DuckDB, Oracle, и др.). Безопасная параметризация запросов и защита от SQL-инъекций. Использование sqlglot для разбора, валидации и трансляции SQL между диалектами. Возможность писать запросы строками, хранить их в .sql-файлах или собирать через builderAPI. Интеграция с Litestar, FastAPI, Flask, Starlette и Sanic. Встроенная поддержка миграций, OpenTelemetry, Prometheus и ApacheArrow. Поддержка событий PostgreSQL (LISTEN/NOTIFY) и других расширенных возможностей работы с БД.