Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this project still maintained ? #422

Closed
sorasful opened this issue Sep 19, 2021 · 19 comments
Closed

Is this project still maintained ? #422

sorasful opened this issue Sep 19, 2021 · 19 comments

Comments

@sorasful
Copy link

Hello,

I see that they are a bunch of PR and the master branch has not been updated since 2020.

Should someone make an official fork of this ? Or something ? That's a very good project, it would be sad if it became obsolete :/

@Zaffer
Copy link

Zaffer commented Sep 24, 2021

Not really, if this project were to be redone in 2022 it would likely look quite different and would use SQLModel, React, and simplified CRUD operations.

@killazz67
Copy link

Is someone up to fork and update the project?

@jordaniza
Copy link

@Zaffer I don't think react is a prerequisite of a good starter. React and Vue are more similar than different.

@jacobhjkim
Copy link

Also, I think SQLModel isn't being actively maintained as well.

https://github.com/tiangolo/sqlmodel

All of the commits happened between Aug/24 & Aug/25.

@jordaniza
Copy link

I suspect it is being maintained, given that he just launched it. There was some twitter activity a couple of weeks ago.

@jacobhjkim
Copy link

Not a fork but someone made a similar FastAPI starter project. (Not affiliated)
https://github.com/gaganpreet/fastapi-starter by @gaganpret

@rafsaf
Copy link

rafsaf commented Nov 9, 2021

https://github.com/rafsaf/minimal-fastapi-postgres-template

I put some effort in this month to rewrite at least the backend part of the template to something closer to 2021, asyncpg, 2.0 style SQL Alchemy, typing, async endpoints and tests. I got mad every time I have tried to use official...

The main complaints about this repository:

  • no async support
  • old SQL Alchemy api style, session.query() instead of 2.0 select()!
  • weird crud, db folders, too many "~10 lines" shell and python files
  • A lot of code/other stuff not for every app
  • lack of typing support!
  • old version of modules

In a result, as of today, one need to rewrite +60% of the codebase in this template, only project structure and general high level overview is ok. Also, for someone not familiar with FastAPI, it's even worse to deal with above + level of template complexity ;)
I wanted something simple enough to be understood by new people, but also large enough to be able to build something bigger on this basis.

I believe someone may at least use it to rewrite this template, as it became old which is indeed sad...
Cheers :)

@sorasful
Copy link
Author

@rafsaf that looks very nice, will definitely use this for my next project !

@turukawa
Copy link

turukawa commented Jan 9, 2022

https://github.com/whythawk/full-stack-fastapi-postgresql

I've modernised this a little, with Nuxt as the front-end and with InBoard's simpler FastAPI approach, including Python 3.9 support, as a replacement for the more complex FastAPI stack.

@mbnoimi
Copy link

mbnoimi commented Jul 19, 2022

@rafsaf

no async support
old SQL Alchemy api style, session.query() instead of 2.0 select()!
weird crud, db folders, too many "~10 lines" shell and python files
A lot of code/other stuff not for every app
lack of typing support!
old version of modules

I totally agree with this issues. Current template uses an old approach no longer needed at all. BUT I was expected to see SQLModel used instead of new SQLAlchemy & Pydantic. Using SQLModel makes life much easier (clean code without duplication). Can you consider it as a replacement for SQLAlchemy & Pydantic (SQLModel already built on top of them)?

@rafsaf
Copy link

rafsaf commented Jul 19, 2022

I know there is some hype of SQLModel, but I don't really understand it. I've been tracking its progress from the very beginning last summer and yeah I was too impressed by the time, the whole typing support and whatsoever. But in the end it's only some wrapper for SQLAlchemy that is much much more less frequently updated and maintained, and you end up with same issues as in this template, or even worse because you deal with databases.

The databases (in any way) software must be reliable for 1000% for me and SQLModel is simply not, there were even 1-line bugs fixed after few months from release, that is unacceptable and thus no plans for migration

Another thing is, SQLAlchemy team works hard for 2.0 release with all typing support included in code base, maybe it will not be much worse than SQLModel, and even if it will be, its not the end of the world.

And lastly, I know nobody who use it in production or even plan to.

@mbnoimi
Copy link

mbnoimi commented Jul 19, 2022

@rafsaf
I totally agree with your claims but to be fair SQLModel is not much different from FastAPI -if I use a similar approach of yours- because FastAPI is somehow a wrapper for a bunch of packages (which is an awesome thing for me).

So I think if any one trusted FastAPI I believe SQLModel must be trusted too because both of them created in the same way and I believe SQLModel may will be a part of FastAPI stack.

@rafsaf
Copy link

rafsaf commented Jul 19, 2022

@mbnoimi
You are kinda right, but there is a difference, FastAPI is a much bigger project, with more active community and there are companies that use it in prod, even in my own part in big tech corp.

I don't see similar future for SQLAlchemy, there are not many gains SQLModel vs SQLAlchemy comparing FastAPI vs Starlette.

It's just as I said, db stuff MUST be reliable to anyone who use it, since one need to rely on it for years, as the django or sqlalchemy is.

Webservers in many ways are different, and so is FastAPI and SQLModel, this is far too early stage to even consider SQLModel in the template, look SQLModel is 0.0.6 release (by the way, from 28.12.2021 !!! Speedy development, isn't it?), refering to semver this mean nothing else but "early stage of soft, breking changes can easily happen". FastAPI is a very diffrent story, being somewhere before its 1.0 release for some time now.

I would encourage you to consider alternatives over SQLModel really :D I know it's fun to use it, but there are things like databases when its much better to use some "boring" software and the more boring it is, the better.

@mbnoimi
Copy link

mbnoimi commented Jul 19, 2022

@rafsaf

to use some "boring" software and the more boring it is, the better.

heheheheh, GOD I hate Java & Spring.
You're absolutely right. Your point against SQLModel much solid than mine.
Anyway I'm really frustrated; This template shouldn't stay like this because it suppose to be the official template so I'll post a request in FastAPI project asking @tiangolo to replace or adding your template in the official website.
Side note: The other two official templates have the same problem of this template.

@rafsaf
Copy link

rafsaf commented Jul 19, 2022

@mbnoimi
Java & Spring xD
To be honest I'm also somewhat frustrated with both this template and SQLModel too, I wanted "something more", but not going to blame tiangolo (even support him with some low donations), he does very good job anyway, but yeah its like he does the thing and jump to another (except FastAPI which is the most important) :P Not really very unexpected, I have only couple of projects and can't always find time for all of them, he has like 10 world class open source projects and is only one man (this one probably has just lower priority for him).

Thanks, maybe this could lead to some progress, will see ;)

@negmatov
Copy link

Hello! Your discussion is very helpful, thank you. A few weeks I eat, it will not install as it does not work. This snippet of code is compatible with Windows.

Install Poetry

RUN curl -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python &&
cd /usr/local/bin &&
ln -s /opt/poetry/bin/poetry &&
poetry config virtualenvs.create false

This code is on the original.

RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python &&
cd /usr/local/bin &&
ln -s /opt/poetry/bin/poetry &&
poetry config virtualenvs.create false

Thanks

@negmatov
Copy link

Are you talking only about the frontend or is it also about the core (backend) of the project?

@sorasful
Copy link
Author

sorasful commented Aug 2, 2022

I'll close this issue. I think it's pointless, there are plenty of useful templates out there. Let's Tiangolo focus on what really matters.

@sorasful sorasful closed this as completed Aug 2, 2022
@maresb
Copy link

maresb commented Aug 2, 2022

Rather than closing this, wouldn't it be more sensible to add a prominent deprecation notice???

I still see people referring to this repo as illustrating modern best-practices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants