Repository navigation
🚀 Roadmap #654
Description
Description
This is a tentative roadmap, I will update it as things evolve. Some things might be discarded, others might be added later. I didn't want to make it fully public as it could raise expectations, but it seems it would be more beneficial for the community to know all the ideas and objectives.
Work on this is alternated (and sometimes mixed) with work on Typer, SQLModel, Asyncer, and others.
Answering questions, issues, and PRs is also intermixed with this, but as in some cases one of these features would solve several issues or questions, or potentially solve something done by one or more PRs, in many cases I focus on this a bit more than on answering specific issues, questions, PRs.
Maintenance
The word "maintenance" or "maintainer" doesn't have a very strict definition, and it probably varies a lot from perspective.
A lot of the work related to maintaining FastAPI is done by contributors by answering questions, reviewing PRs, etc.
You can help me ensure each existing PR is in shape (has tests, solves the problem, etc.). Make sure you filter out the translation PRs (most of them) unless you speak the language and can review them.
Security
When there are security issues, those are handled with the highest priority. Those are normally not handled in issues and PRs but in emails, it's not public until the security disclosure is made, in most cases (always, up to now) with the version that fixes them.
Roadmap
Now, here's the current high-level tentative roadmap:
- Support for the latest SQLAlchemy before 2.0 ⬆️ Upgrade support for SQLAlchemy 1.4.49, update tests #519
- Support for the latest Pydantic before 2.0 ✨ Add support for all
Fieldparameters from Pydantic1.9.0and above, make Pydantic1.9.0the minimum required version #440 - Support for SQLAlchemy 2.0. ✨ Upgrade SQLAlchemy to 2.0, including initial work by farahats9 #700
- Support for Pydantic 2.0.
- Async tools and docs.
- Integrated migrations (using Alembic).
- Integrated CLI for migrations (using Typer).
- Integrated model generation from existing DBs.
- Reference (Code API) docs
All this is intermixed with reviews for PRs, issues, and discussions.
Activity
Zaffer commentedon Oct 6, 2023
This is great news! So excited to start using these new features. I'm curious how you are planning in integrating Alembic?
AntonDeMeester commentedon Oct 7, 2023
Is the goal to support both Pydantic v1 and v2 and SQL Alchemy v1 and v2? Or only v1+v1 and v2+v2? The combination of both will become difficult.
honglei commentedon Oct 8, 2023
@AntonDeMeester @tiangolo Only support SQLAlchemy v1.4 with 2.0-style and v2.0?
hyperknot commentedon Oct 8, 2023
Is there a branch of this project or a starter template for using FastAPI latest + SQLAlchemy 2 + Pydantic 2?
I'm starting a new project with FastAPI latest + SQLAlchemy 2 and I'm not sure what would be the right way to set it up? Should I just avoid SQLModel altogether?
honglei commentedon Oct 8, 2023
@hyperknot Try #632
hyperknot commentedon Oct 9, 2023
Thanks @honglei.
I've also found
I'll personally not use SQLModel. It introduces way too much logic for a simple type checking functionality for me.
Duplicating a small amount of code in the codebase is much more maintainable than introducing an external dependency with a lot of logic involved.
joshTax commentedon Oct 10, 2023
🫡
So glad to see signs of life in this amazing project.
chamithdulshanadl commentedon Oct 18, 2023
We are using fast API with SQL Model for our microservices. And planning to add Llama index which needs SQLAlchemy above 1.4.41. But does not support by current SQL Model versions (required: >=1.4.17,<=1.4.41).
@tiangolo Need your kind help.
Matthieu-LAURENT39 commentedon Oct 24, 2023
Are the items on the roadmaps features you plan to implement yourself, or are they open for PRs?
In any case, this is really exciting! I can't wait to be able to use a Pydantic v2 + SQLModel (with all the great SQLAlchemy 2 features) + FastAPI stack!
gmos commentedon Oct 24, 2023
andylinzie commentedon Oct 27, 2023
Take a look at this.
luoshuijs commentedon Nov 1, 2023
Since the dev dependency, FastAPI, no longer supports Python 3.7 from version 0.104.0 onwards, will SQLModel also need to drop support for Python 3.7 in the future? If so, it would likely be a massive undertaking. It should be included in the roadmap together.
Leewinner1 commentedon Nov 4, 2023
When dealing with relational models,sqlalchemy only needs to define relationships on one side,sqlmodel needs to define relationships on both sides, and the complexity of the model class is very difficult to deal with. The screen full of relationships makes my brain a little hot, especially the many-to-many relationships, even if the model class is written according to the documentation, it becomes extremely complex.
zoonman commentedon Nov 6, 2023
I am looking forward for SQLAlchemy v2 support. This should enable ClickHouse columnar storage.
19 remaining items
peterdresslar commentedon Oct 16, 2024
@tepelbaum I know it's two months later, but I wound up having to work on a minimal implementation of sqlmodel and alembic, so I published it to github. I'd actually be interested to keep maintaining this example or something like it, if it's helpful.
AtticusZeller commentedon Nov 19, 2024
migration is seems already finished in official template repo full-stack-fastapi-template
and here is the README
iloveitaly commentedon Feb 7, 2025
here's an example repo with albemic + sqlmodel setup https://github.com/iloveitaly/python-starter-template
godsplanhub commentedon Aug 6, 2025
Any plans of adding support for GeoAlchemy 2.(Using SQLAlchemy with Spatial Databases).its becoming hard to satrt new projects without using SQLModel again.
gillespilloudkerlink commentedon Sep 17, 2025
@tiangolo How can we support you in term of
to have a new sqlmodel release ?
SqlModel is a great project an the model unification from the db to the api is a real game-changer, and a robustness improvement for all classical SaaS with the API-first logic. but some issues (alias management, pydantic v2 full support, ...) are painful in a daily usage.
sunkunxi commentedon Sep 22, 2025
I completely agree. SQLModel is a fantastic tool provides great developing experience.
However, I've noticed that the pace of updates and the review process for Pull Requests have been a bit slow recently. There are many valuable community contributions waiting to be merged.(such as #1226 ).
I know maintaining an open-source project takes a lot of work, but I really hope this tool keeps growing and doing well. I’d be super excited to help out with SQLModel’s development any way I can (from SqlModel community).
medihack commentedon Sep 22, 2025
I am a bit hesitant about using the library. Although I know it's just a thin wrapper around Pydantic and SQLAlchemy (which I believe is significant), many of the opinions I've read express mixed feelings about the library's stability and future. I truly hope that this library not only survives but also thrives.
iloveitaly commentedon Sep 22, 2025
It's the best ORM option out there. Would love to see active development on this: please let us know how we can help!
I've started pulling all of the additional stuff I've needed to make SQLModel fully functional to me into this repo: https://github.com/iloveitaly/activemodel
vmskonakanchi commentedon Dec 29, 2025
does anyone have ETA on the migrations feature
stevleibelt commentedon Aug 3, 2026
@vmskonakanchi looks like there is a pull request/689 pending already. Maybe you can fix the existing merge conflicts?
vmskonakanchi commentedon Aug 3, 2026
Thanks for the suggestion, @stevleibelt! I took a pass at reviving #689 against the current
main.What I completed:
sqlmodel migrations --help.I initially opened #2061, but it was automatically closed because the implementation modifies
pyproject.tomlanduv.lock, which require maintainer approval.To get guidance on the preferred packaging direction, I opened Discussion #2062. It asks whether this should use core dependencies, an optional extra, or a docs/template-only approach.
I’m happy to adapt the implementation based on that guidance.
iloveitaly commentedon Sep 5, 2026
I'd love migrations to be a first class feature as well! I have alembic configured on this example template and it's working great if you want to point AI at something to copy.
vmskonakanchi commentedon Sep 5, 2026
We do have a PR against this feature, it's in discussion , take a look at it
pete312 commentedon Sep 25, 2026
Question: SQLModel is in pre release 0.0.# stage but its widely used. Is it possible that if a breaking change is to be introduced, then adopt the system of bumping the MINOR number.
I do want to auto accept point releases but breaking changes is something that i could guard against if we did adopt this. This is in relation to the 0.0.45 release.
stevleibelt commentedon Sep 25, 2026
As far as I understand semantic versioning that is the reason why this project is still below a major release @pete312 . Expect breaking changes until version 1.0.0 is created.
With this written, I am using fastapi and typer in many places since years and from this projects, breaking changes are always well communicated with an "do this and all is fine"-howto section included.
Either wait for a major release or subscribe to the release notification here. I don't see there is another option without slowing down the development until version 1.0.0.
Kind regards,
Stev