Giter Site home page Giter Site logo

πŸš€ Roadmap about sqlmodel HOT 28 OPEN

tiangolo avatar tiangolo commented on May 24, 2024 410
πŸš€ Roadmap

from sqlmodel.

Comments (28)

tjeaneric avatar tjeaneric commented on May 24, 2024 58

Now Ready for Pydantic 2.0 πŸš€

Update: Since SQLModel version 0.0.14, both Pydantic V1 and v2 are now supported πŸš€πŸš€

from sqlmodel.

benjipott avatar benjipott commented on May 24, 2024 21
  • Support for SQLAlchemy 2.0.

from sqlmodel.

Zaffer avatar Zaffer commented on May 24, 2024 19

This is great news! So excited to start using these new features. I'm curious how you are planning in integrating Alembic?

from sqlmodel.

joshTax avatar joshTax commented on May 24, 2024 14

You can help me ensure each existing PR is in shape (has tests, solves the problem, etc.)

🫑

So glad to see signs of life in this amazing project.

from sqlmodel.

zoonman avatar zoonman commented on May 24, 2024 11

I am looking forward for SQLAlchemy v2 support. This should enable ClickHouse columnar storage.

from sqlmodel.

linpan avatar linpan commented on May 24, 2024 11

Integrated migrations (using Alembic).

from sqlmodel.

luoshuijs avatar luoshuijs commented on May 24, 2024 10

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.

Pydantic and SQLAlchemy have already dropped support for Python 3.7.

pydantic/pydantic@0564c0d
sqlalchemy/sqlalchemy@4da59c6

Additionally, Python 3.7 reached its End of Life (EOL) a few months ago, so it's time to say goodbye.

https://devguide.python.org/versions/

Some things that may need to be done

  • ⬆️ Drop Support for Python 3.7
  • ⬆️ Upgrade Python version in Docker images for GitHub Actions

from sqlmodel.

fabifont avatar fabifont commented on May 24, 2024 10

Hi @tiangolo, are #689 and #635 ready to be merged?

from sqlmodel.

hyperknot avatar hyperknot commented on May 24, 2024 9

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?

from sqlmodel.

KelvinSan avatar KelvinSan commented on May 24, 2024 9

Are we going to get an update on the Async docs ?

from sqlmodel.

linpan avatar linpan commented on May 24, 2024 8

Hi @tiangolo, are #689 and #635 ready to be merged?

from sqlmodel.

hyperknot avatar hyperknot commented on May 24, 2024 5

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.

from sqlmodel.

dimaqq avatar dimaqq commented on May 24, 2024 5

I'm curious what are the tricky parts in SQLAlchemy and pydantic 2.0.0 versions...

from sqlmodel.

cay89 avatar cay89 commented on May 24, 2024 5

@tiangolo Could you please provide any updates on this? I've begun a new FastAPI project, and I'm uncertain whether I should build upon the SQLModel project or stay with SQLAlchemy. What are your long term plans with this project?

from sqlmodel.

caerulescens avatar caerulescens commented on May 24, 2024 4

@cay89 This and the cookiecutter template are under development; from @tjeaneric, it looks like the sqlalchemy and pydantic support is done, but the alembic support hasn't been released yet.

You should be able to use sqlmodel==0.0.14 and manually generate migrations for your fastapi project: alembic init --template async alembic. You will need to manually edit the generated alembic.ini and alembic/env.py to use sqlmodel's metadata object. This was possible in 0.0.8 before the sqlalchemy relationship support broke around sqlalchemy==1.4.x. Things are still sort of in limbo for official design patterns when considering a backend stack consisting of fastapi, sqlalchemy, pydantic, and alembic. This integration has been tracking between the authors of these projects for more than a few years. The official design patterns for backend work are right around the corner.

from sqlmodel.

caerulescens avatar caerulescens commented on May 24, 2024 4

@manish181192 I haven't seen an "ETA"; some of the remaining work is staged as PRs:


I haven't seen any work covering typer usage in sqlmodel.

from sqlmodel.

AntonDeMeester avatar AntonDeMeester commented on May 24, 2024 3

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.

from sqlmodel.

chamithdulshanadl avatar chamithdulshanadl commented on May 24, 2024 3

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.

from sqlmodel.

nikdavis avatar nikdavis commented on May 24, 2024 3

Sorry if this is adding noise – just noticing the next items in the roadmap are somewhat achieved in #632 (open since August). Any chance we could understand the project's thinking wrt when something like that might be merged or reworked?

from sqlmodel.

manish181192 avatar manish181192 commented on May 24, 2024 3

Hello team, Amazing work, What is the ETA on Async milestone? Can we bump it up before pydantic? @tiangolo

from sqlmodel.

gmos avatar gmos commented on May 24, 2024 2

from sqlmodel.

luoshuijs avatar luoshuijs commented on May 24, 2024 2

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.

from sqlmodel.

AAraKKe avatar AAraKKe commented on May 24, 2024 2

Hi! I just came across #63 and I was surprised this would not work out of the box, is this kind of behaviour considered at any stage on the roadmap?

Kind of related is #468 , I have it almost sorted out setting the engine with json serializer and deserializer but now I just noticed that if I change a field in the model the update woin't go through when committing.

Thanks!

from sqlmodel.

caerulescens avatar caerulescens commented on May 24, 2024 1

Take a look at this.

from sqlmodel.

honglei avatar honglei commented on May 24, 2024

@AntonDeMeester @tiangolo Only support SQLAlchemy v1.4 with 2.0-style and v2.0?

from sqlmodel.

honglei avatar honglei commented on May 24, 2024

@hyperknot Try #632

from sqlmodel.

Matthieu-LAURENT39 avatar Matthieu-LAURENT39 commented on May 24, 2024

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!

from sqlmodel.

Leewinner1 avatar Leewinner1 commented on May 24, 2024

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.

from sqlmodel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.