Рекомендации и соглашения по созданию готовых к продакшену приложений на FastAPI на основе опыта работы в стартапах.
fastapi/sqlmodel
SQLModel — библиотека Python для работы с SQL-базами данных через классы Python, построенная на Pydantic и SQLAlchemy и предназначенная для совместного использования с FastAPI.
- Звёзды
- 18,447
- Форки
- 893
- Открытые issues
- 53
- Последний коммит
- 6 дней назад
Что это?
SQLModel позволяет описывать таблицы базы данных с помощью классов Python и аннотаций типов. Один класс одновременно служит моделью таблицы SQLAlchemy и моделью данных Pydantic, поэтому не нужно дублировать схему для доступа к базе данных и валидации запросов и ответов.
Библиотека представляет собой тонкий слой над Pydantic и SQLAlchemy и сохраняет доступ к API обеих библиотек. Можно выполнять запросы с помощью синтаксиса на основе select, работать с сессиями и при необходимости использовать возможности SQLAlchemy. Таблицы создаются через стандартные метаданные SQLModel, а в примерах проекта используется SQLite.
SQLModel создан автором FastAPI и рассчитан на совместную работу с ним. Установить библиотеку можно через pip или uv; проект распространяется по лицензии MIT.
Ключевые возможности
- 01Позволяет описывать таблицы и модели Pydantic одним классом Python с аннотациями типов.
- 02Предоставляет запросы на основе select и сессии, построенные на SQLAlchemy.
- 03Подходит для использования с FastAPI в качестве моделей запросов и ответов.
- 04Сохраняет полный доступ к возможностям SQLAlchemy и Pydantic.
- 05Предоставляет автодополнение в редакторе и отображение ошибок типов прямо в коде.
Сценарии использования
- Создание сервиса на FastAPI для чтения данных из SQL-базы и записи в неё.
- Сокращение дублирования определений моделей между ORM-таблицами и схемами API.
- Переход существующего приложения на SQLAlchemy к моделям на основе Pydantic.
Быстрый старт
- 1
Установите uv, следуя официальному руководству по установке
- 2
Добавьте SQLModel в проект
uv add sqlmodel
Темы
Частые вопросы
- Что такое sqlmodel?
- SQLModel — библиотека Python для работы с SQL-базами данных через классы Python, построенная на Pydantic и SQLAlchemy и предназначенная для совместного использования с FastAPI. SQLModel позволяет описывать таблицы базы данных с помощью классов Python и аннотаций типов. Один класс одновременно служит моделью таблицы SQLAlchemy и моделью данных Pydantic, поэтому не нужно дублировать схему для доступа к базе данных и валидации запросов и ответов.
- sqlmodel можно использовать бесплатно? Какая у него лицензия?
- sqlmodel распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- sqlmodel всё ещё поддерживается?
- Активно поддерживается. Последний коммит в sqlmodel — 15 окт. 2026 г..
- Для чего можно использовать sqlmodel?
- Создание сервиса на FastAPI для чтения данных из SQL-базы и записи в неё. Сокращение дублирования определений моделей между ORM-таблицами и схемами API. Переход существующего приложения на SQLAlchemy к моделям на основе Pydantic.
- Как установить sqlmodel?
- Установите uv, следуя официальному руководству по установке Добавьте SQLModel в проект: uv add sqlmodel
- Где скачать sqlmodel?
- Исходный код и инструкции по установке — на GitHub: https://github.com/fastapi/sqlmodel
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
TypeScript ORM для Node.js с типобезопасным доступом к PostgreSQL, MySQL, SQLite, MongoDB и другим базам данных.
Полнофункциональная ORM для Go: преобразует структуры в таблицы БД и поддерживает связи, хуки, транзакции и миграции.
ORM для Node.js на TypeScript, построенная на паттернах Data Mapper, Unit of Work и Identity Map; поддерживает SQL и MongoDB.
Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.
Python-библиотека, которая ограничивает генерацию LLM, чтобы результат соответствовал заданному типу, регулярному выражению, JSON Schema или грамматике.