Repolode
fastapi

fastapi/sqlmodel

SQLModel é uma biblioteca Python para trabalhar com bancos de dados SQL usando classes Python, construída sobre Pydantic e SQLAlchemy e projetada para ser usada com FastAPI.

Estrelas
18,447
Forks
893
Issues abertas
53
Último commit
há 6 dias

O que é?

Com o SQLModel, você define tabelas de banco de dados como classes Python usando anotações de tipo. Uma única classe funciona tanto como modelo de tabela do SQLAlchemy quanto como modelo de dados do Pydantic, então você não precisa escrever o mesmo schema duas vezes para acessar o banco e validar requisições ou respostas.

A biblioteca é uma camada fina sobre Pydantic e SQLAlchemy e mantém as APIs de ambos disponíveis. Você pode fazer consultas com uma sintaxe baseada em select, executar sessões e, quando necessário, usar os recursos do SQLAlchemy por baixo. A criação de tabelas é feita por meio dos metadados padrão do SQLModel, e os exemplos do projeto usam SQLite.

O SQLModel foi criado pelo autor do FastAPI e foi projetado para ser compatível com ele. A instalação pode ser feita via pip ou uv, e o projeto é licenciado pelo MIT.

Recursos principais

  • 01Define tabelas e modelos Pydantic com uma única classe Python usando anotações de tipo.
  • 02Oferece consultas baseadas em select e sessões construídas sobre SQLAlchemy.
  • 03Funciona com FastAPI para modelos de requisição e resposta.
  • 04Mantém acesso completo aos recursos subjacentes do SQLAlchemy e do Pydantic.
  • 05Oferece autocompletar no editor e erros de tipo em linha.

Casos de uso

  • Criar um serviço FastAPI que lê e grava dados em um banco SQL.
  • Reduzir definições de modelos duplicadas entre tabelas ORM e schemas de API.
  • Migrar uma aplicação SQLAlchemy existente para modelos baseados em Pydantic.

Início rápido

  1. 1

    Instale o uv seguindo o guia oficial de instalação

  2. 2

    Adicione o SQLModel ao seu projeto

    uv add sqlmodel

Tópicos

Perguntas frequentes

O que é sqlmodel?
SQLModel é uma biblioteca Python para trabalhar com bancos de dados SQL usando classes Python, construída sobre Pydantic e SQLAlchemy e projetada para ser usada com FastAPI. Com o SQLModel, você define tabelas de banco de dados como classes Python usando anotações de tipo. Uma única classe funciona tanto como modelo de tabela do SQLAlchemy quanto como modelo de dados do Pydantic, então você não precisa escrever o mesmo schema duas vezes para acessar o banco e validar requisições ou respostas.
sqlmodel é gratuito? Qual é a licença?
sqlmodel é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
sqlmodel ainda é mantido?
Manutenção ativa. O último commit de sqlmodel foi em 15 de out. de 2026.
Para que posso usar sqlmodel?
Criar um serviço FastAPI que lê e grava dados em um banco SQL. Reduzir definições de modelos duplicadas entre tabelas ORM e schemas de API. Migrar uma aplicação SQLAlchemy existente para modelos baseados em Pydantic.
Como instalar sqlmodel?
Instale o uv seguindo o guia oficial de instalação Adicione o SQLModel ao seu projeto: uv add sqlmodel
Onde consigo sqlmodel?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fastapi/sqlmodel

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados