Repolode
fastapi

fastapi/sqlmodel

SQLModel es una biblioteca de Python para trabajar con bases de datos SQL mediante clases de Python, basada en Pydantic y SQLAlchemy y diseñada para integrarse con FastAPI.

Estrellas
18,447
Forks
893
Issues abiertos
53
Último commit
hace 6 días

¿Qué es?

SQLModel permite definir tablas de bases de datos como clases de Python mediante anotaciones de tipos. Una sola clase funciona como modelo de tabla de SQLAlchemy y como modelo de datos de Pydantic, así que no tienes que escribir el mismo esquema dos veces para acceder a la base de datos y validar solicitudes o respuestas.

La biblioteca es una capa ligera sobre Pydantic y SQLAlchemy, y mantiene disponibles las API de ambos. Puedes hacer consultas con una sintaxis basada en select, ejecutar sesiones y usar las funciones de SQLAlchemy subyacentes cuando sea necesario. La creación de tablas se realiza mediante los metadatos estándar de SQLModel, y los ejemplos del proyecto usan SQLite.

SQLModel fue creado por el autor de FastAPI y está diseñado para ser compatible con este. Se instala mediante pip o uv y el proyecto cuenta con licencia MIT.

Funciones clave

  • 01Define tablas y modelos de Pydantic con una sola clase de Python mediante anotaciones de tipos.
  • 02Ofrece consultas basadas en select y sesiones sobre SQLAlchemy.
  • 03Se integra con FastAPI para los modelos de solicitudes y respuestas.
  • 04Mantiene acceso completo a las funciones subyacentes de SQLAlchemy y Pydantic.
  • 05Ofrece autocompletado en el editor y errores de tipos en línea.

Casos de uso

  • Crear un servicio con FastAPI que lea y escriba en una base de datos SQL.
  • Reducir la duplicación de definiciones de modelos entre tablas ORM y esquemas de API.
  • Migrar una aplicación existente de SQLAlchemy hacia modelos basados en Pydantic.

Inicio rápido

  1. 1

    Instala uv siguiendo la guía de instalación oficial

  2. 2

    Añade SQLModel a tu proyecto

    uv add sqlmodel

Temas

Preguntas frecuentes

¿Qué es sqlmodel?
SQLModel es una biblioteca de Python para trabajar con bases de datos SQL mediante clases de Python, basada en Pydantic y SQLAlchemy y diseñada para integrarse con FastAPI. SQLModel permite definir tablas de bases de datos como clases de Python mediante anotaciones de tipos. Una sola clase funciona como modelo de tabla de SQLAlchemy y como modelo de datos de Pydantic, así que no tienes que escribir el mismo esquema dos veces para acceder a la base de datos y validar solicitudes o respuestas.
¿sqlmodel es gratuito? ¿Qué licencia tiene?
sqlmodel es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿sqlmodel sigue mantenido?
Mantenimiento activo. El último commit de sqlmodel fue el 15 oct 2026.
¿Para qué puedo usar sqlmodel?
Crear un servicio con FastAPI que lea y escriba en una base de datos SQL. Reducir la duplicación de definiciones de modelos entre tablas ORM y esquemas de API. Migrar una aplicación existente de SQLAlchemy hacia modelos basados en Pydantic.
¿Cómo se instala sqlmodel?
Instala uv siguiendo la guía de instalación oficial Añade SQLModel a tu proyecto: uv add sqlmodel
¿Dónde consigo sqlmodel?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fastapi/sqlmodel

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados