SQL databases in Python, designed for simplicity, compatibility, and robustness


SQLModel is a library for interacting with SQL databases from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust.

SQLModel is based on Python type annotations, and powered by Pydantic and SQLAlchemy.

The key features are:

 * Intuitive to write: Great editor support. Completion everywhere. Less time
   debugging. Designed to be easy to use and learn. Less time reading docs.
 * Easy to use: It has sensible defaults and does a lot of work underneath to
   simplify the code you write.
 * Compatible: It is designed to be compatible with FastAPI, Pydantic, and
 * Extensible: You have all the power of SQLAlchemy and Pydantic underneath.
 * Short: Minimize code duplication. A single type annotation does a lot of
   work. No need to duplicate models in SQLAlchemy and Pydantic.

SQLModel is designed to simplify interacting with SQL databases in FastAPI applications, it was created by the same author.

It combines SQLAlchemy and Pydantic and tries to simplify the code you write as much as possible, allowing you to reduce the code duplication to a minimum, but while getting the best developer experience possible.

SQLModel is, in fact, a thin layer on top of Pydantic and SQLAlchemy, carefully designed to be compatible with both.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install python3-sqlmodel