Repolode
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. 1

    Установите uv, следуя официальному руководству по установке

  2. 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 обновляется ежедневно.

Похожие проекты