full-stack-fastapi-template icon indicating copy to clipboard operation
full-stack-fastapi-template copied to clipboard

Is this project dead?

Open BSpendlove opened this issue 2 years ago • 31 comments

Is it dead? not in a valid state/doesn't work when you run the project

BSpendlove avatar Jun 03 '22 19:06 BSpendlove

As this is linked directly from the FastAPI SQLAlchemy documentation, and labelled 'official', it would be great to see this project get some love.

27Bslash6 avatar Jun 29 '22 02:06 27Bslash6

Any news?

ebarkhordar avatar Jun 30 '22 20:06 ebarkhordar

+1

As this is linked directly from the FastAPI SQLAlchemy documentation, and labelled 'official', it would be great to see this project get some love.

+1

mbnoimi avatar Jul 14 '22 07:07 mbnoimi

Is it dead? not in a valid state/doesn't work when you run the project

Hope not, but pull requests still opent since 2020. This projects is great, but still having a lot of bugs. May be anybody has created another project as working version of this one.

simonzen avatar Jul 16 '22 21:07 simonzen

Is it dead? not in a valid state/doesn't work when you run the project

Hope not, but pull requests still opent since 2020. This projects is great, but still having a lot of bugs. May be anybody has created another project as working version of this one.

I've been searching around for a forked project that has been updated more recently.

Kfelts avatar Jul 18 '22 19:07 Kfelts

I've been searching around for a forked project that has been updated more recently.

May you please share it here in case you find it?

mbnoimi avatar Jul 18 '22 19:07 mbnoimi

Unfortunately yup, I suppose it's kinda dead and tiangolo is obviously a busy man now.

@mbnoimi There was the discussion about alternatives/templates based on this one in this issue https://github.com/tiangolo/full-stack-fastapi-postgresql/issues/422 some few months ago, one of them is mine by the way, but at least it is a start for one that is looking for favorite one.

There are probably much more by now, people are facing this very same issue for a long time.

rafsaf avatar Jul 18 '22 21:07 rafsaf

I've been searching around for a forked project that has been updated more recently.

May you please share it here in case you find it?

Sure- but it's mostly me manually updating it for my personal project use and then Frankensteining together various projects with recent updates. I haven't found one that is a build-ready mirror of this yet.

Kfelts avatar Jul 20 '22 14:07 Kfelts

Would love the location of a working build...

andreweolson avatar Jul 31 '22 20:07 andreweolson

To everyone: It is an open source project. Everyone can just fix something and then submit a pull request of the fix. This way life gets better for everybody.

antonpirker avatar Aug 03 '22 07:08 antonpirker

I'd like to start using this for an internal project, but the fact it has gone un-loved for nearly 2 years worries me.

If it is not being updated here, is it worth those of us who would like to continue using it - forking it to another project and implementing the pull requests there? Many hands make light work etc?

Bobspadger avatar Aug 22 '22 11:08 Bobspadger

To everyone: It is an open source project. Everyone can just fix something and then submit a pull request of the fix. This way life gets better for everybody.

I fully agree with this, however, thats what has been happening and no pull requests have been merged :(

Bobspadger avatar Aug 22 '22 11:08 Bobspadger

For those stumbling upon this GitHub issue hoping to find something along the lines of "what do I need to make this project work in September 2022?" I was able to get this project running on a macOS 12.5.1 machine by doing the following:

  • Install Python
    • brew install python3
    • Add aliases to .zshrc
      • alias python='$(brew --prefix)/opt/python/libexec/bin/python'
      • alias pip='$(brew --prefix)/opt/python/libexec/bin/pip'
  • Install Docker
    • brew install --cask docker
    • Run Docker.app
    • Preferences > Use Docker Compose V2 (since I'm running an Apple Silicon Mac)
  • Create App
    • pip install cookiecutter
    • cookiecutter https://github.com/tiangolo/full-stack-fastapi-postgresql
    • Follow instructions here
  • Fix Install (👈 These are the important things if you've made it to this GitHub issue probably)
  • Run Docker
    • docker-compose up -d
  • Launch App 🎉
    • Visit http://localhost/login

Of course the standard your milage may vary notice applies and I'm far from an expert on FastAPI or Python web servers. But this is what worked for me so hopefully this will save someone a couple hours of work/debugging.

rlziii avatar Sep 01 '22 14:09 rlziii

For those stumbling upon this GitHub issue hoping to find something along the lines of "what do I need to make this project work in September 2022?" I was able to get this project running on a macOS 12.5.1 machine by doing the following:

  • Install Python

    • brew install python3

    • Add aliases to .zshrc

      • alias python='$(brew --prefix)/opt/python/libexec/bin/python'
      • alias pip='$(brew --prefix)/opt/python/libexec/bin/pip'
  • Install Docker

    • brew install --cask docker
    • Run Docker.app
    • Preferences > Use Docker Compose V2 (since I'm running an Apple Silicon Mac)
  • Create App

    • pip install cookiecutter
    • cookiecutter https://github.com/tiangolo/full-stack-fastapi-postgresql
    • Follow instructions here
  • Fix Install (👈 These are the important things if you've made it to this GitHub issue probably)

  • Run Docker

    • docker-compose up -d
  • Launch App 🎉

    • Visit http://localhost/login

Of course the standard your milage may vary notice applies and I'm far from an expert on FastAPI or Python web servers. But this is what worked for me so hopefully this will save someone a couple hours of work/debugging.

thanks for advice! compose started successfully...but there are log in with first_superuser creds problems

simonzen avatar Sep 05 '22 23:09 simonzen

@simonzen I was able to login to http://localhost/login via the username and password provided with pgadmin_default_user/pgadmin_default_user_password during the cookiecutter setup. By default I believe these should match the username and password for first_superuser/first_superuser_password (unless they were changed). When logging into the app itself (via the REST API) you will need to use first_superuser/first_superuser_password though (or another created user).

rlziii avatar Sep 06 '22 17:09 rlziii

@simonzen I was able to login to http://localhost/login via the username and password provided with pgadmin_default_user/pgadmin_default_user_password during the cookiecutter setup. By default I believe these should match the username and password for first_superuser/first_superuser_password (unless they were changed). When logging into the app itself (via the REST API) you will need to use first_superuser/first_superuser_password though (or another created user).

Thanks for advice! I tried different login/passwords, but it didn't work. I think problem should be in flower or celery on my side (I added a lot of changes from prs from this project).

UPDATE: it was dumb problem - needed to remove old docker postgres volume

simonzen avatar Sep 06 '22 22:09 simonzen

If anyone is looking for an updated version of this project, I've got a working fork here that I intend to maintain. I've updated the frontend and backend dependencies as much as possible, mainly focused on getting this template working without rewriting too much. In my fork I've:

  • Updated to python 3.10
  • Updated backend dependencies to current versions, including FastAPI and sqlalchemy
  • Updated frontend dependencies to current versions where possible
  • Refactored frontend to support Vuetify 2 and Vee-Validate 3, using 165 as a guide (also included the eslint and prettier additions from that PR)
  • Incorporated the steps in tiangolo/uvicorn-gunicorn-docker into backend.dockerfile, so that the update to python 3.10 was possible, and I rather prefer that the start.sh, start-reload.sh, and gunicorn_conf.py files are present in this repo anyways so its clear what the backend container is doing
  • Updated the base image for the build stage in the frontend Dockerfile to node:18, no longer tiangolo/node-frontend which is out of date
  • A handfuls of issue fixes

A couple notes based on the PR activity in this repo:

  • An update to Vue 3 is blocked by the release of Vuetify 3, so that's on the back burner for now. May look at ditching Vuetify for something that does support Vue 3, or just trusting the Vuetify 3 beta. Should also swap vue cli for create-vue/Vite
  • I held off on the update to async sqlalchemy and sqlalchemy 2.0 query style since async is still in beta

pyb4430 avatar Sep 11 '22 07:09 pyb4430

Thanks for the work to put that together, @pyb4430! That seems like a promising fork. 🎉

rlziii avatar Sep 13 '22 02:09 rlziii

Yeah, proper cracking job @pyb4430 !

BSpendlove avatar Sep 17 '22 21:09 BSpendlove

One last thing I had to do to get your project running @pyb4430 , the backend keep crashing on me due to an error on this project, specifically:

backend_1       |   File "/app/app/models/item.py", line 17, in Item
backend_1       |     owner: User = relationship("User", back_populates="items")
backend_1       | NameError: name 'User' is not defined

within both the item.py and user.py models on the backend, noqa: F401 is attempting to provide us with autocompletion but breaks the whole backend, I had to change the following to get the backend running properly:

backend/app/app/models/item.py, line 17

owner: User = relationship("User", back_populates="items")
to
owner: relationship("User", back_populates="items")

and

backend/app/app/models/user.py, line 179

items: List[Item] = relationship("Item", back_populates="owner")
to
items = relationship("Item", back_populates="owner")

I can log in now and everything seems to work so far after changing those 2 files

Edit: Ignore this as I'm so stupid

BSpendlove avatar Sep 17 '22 21:09 BSpendlove

Ah yep, just pushed a fix for that that'll keep mypy happy

pyb4430 avatar Sep 18 '22 14:09 pyb4430

For those stumbling upon this GitHub issue hoping to find something along the lines of "what do I need to make this project work in September 2022?" I was able to get this project running on a macOS 12.5.1 machine by doing the following:

  • Install Python

    • brew install python3

    • Add aliases to .zshrc

      • alias python='$(brew --prefix)/opt/python/libexec/bin/python'
      • alias pip='$(brew --prefix)/opt/python/libexec/bin/pip'
  • Install Docker

    • brew install --cask docker
    • Run Docker.app
    • Preferences > Use Docker Compose V2 (since I'm running an Apple Silicon Mac)
  • Create App

    • pip install cookiecutter
    • cookiecutter https://github.com/tiangolo/full-stack-fastapi-postgresql
    • Follow instructions here
  • Fix Install (👈 These are the important things if you've made it to this GitHub issue probably)

  • Run Docker

    • docker-compose up -d
  • Launch App 🎉

    • Visit http://localhost/login

Of course the standard your milage may vary notice applies and I'm far from an expert on FastAPI or Python web servers. But this is what worked for me so hopefully this will save someone a couple hours of work/debugging.

Legend! Thank you

MendyLanda avatar Oct 14 '22 05:10 MendyLanda

Ah yep, just pushed a fix for that that'll keep mypy happy

thanks :)

guidomperosino avatar Oct 24 '22 01:10 guidomperosino

Hello all! Nope, the project is not dead, in fact, I've been building stuff for it.

I created SQLModel precisely to use it in this project, to simplify a lot of the code here.

I also want to migrate Celery to ARQ, Vue to React with TypeScript and hooks, and the GitLab CI to GitHub Actions, and Docker Swarm to Kubernetes... Lots to do.

But first, I need to finish and polish things in SQLModel, that's what's kept me from doing more stuff here, and it's what will have the biggest impact too.

tiangolo avatar Nov 08 '22 12:11 tiangolo

Hello all! Nope, the project is not dead, in fact, I've been building stuff for it.

I created SQLModel precisely to use it in this project, to simplify a lot of the code here.

I also want to migrate Celery to ARQ, Vue to React with TypeScript and hooks, and the GitLab CI to GitHub Actions, and Docker Swarm to Kubernetes... Lots to do.

But first, I need to finish and polish things in SQLModel, that's what's kept me from doing more stuff here, and it's what will have the biggest impact too.

Omg - Thats sounds sooooo great. Thank you soooo much!

PhilippWu avatar Nov 09 '22 13:11 PhilippWu

Hello all! Nope, the project is not dead, in fact, I've been building stuff for it.

I created SQLModel precisely to use it in this project, to simplify a lot of the code here.

I also want to migrate Celery to ARQ, Vue to React with TypeScript and hooks, and the GitLab CI to GitHub Actions, and Docker Swarm to Kubernetes... Lots to do.

But first, I need to finish and polish things in SQLModel, that's what's kept me from doing more stuff here, and it's what will have the biggest impact too.

Amazing! Thanks for all the open source you have done!

MadsFrost avatar Nov 22 '22 19:11 MadsFrost

Hello all! Nope, the project is not dead, in fact, I've been building stuff for it.

I created SQLModel precisely to use it in this project, to simplify a lot of the code here.

I also want to migrate Celery to ARQ, Vue to React with TypeScript and hooks, and the GitLab CI to GitHub Actions, and Docker Swarm to Kubernetes... Lots to do.

But first, I need to finish and polish things in SQLModel, that's what's kept me from doing more stuff here, and it's what will have the biggest impact too.

Sounds really awesome! If it could also have next-auth for authentication and file storage (local storage, s3, etc) support, then it will become a full functional BaaS solution (and a good alternative for Supabase).

link89 avatar Apr 10 '23 06:04 link89

Hello all! Nope, the project is not dead, in fact, I've been building stuff for it.

I created SQLModel precisely to use it in this project, to simplify a lot of the code here.

I also want to migrate Celery to ARQ, Vue to React with TypeScript and hooks, and the GitLab CI to GitHub Actions, and Docker Swarm to Kubernetes... Lots to do.

But first, I need to finish and polish things in SQLModel, that's what's kept me from doing more stuff here, and it's what will have the biggest impact too.

I'm just pinging to see how far it has gone until now

Keep up the good work :+1:

Gr3Kidd3r avatar Apr 28 '23 02:04 Gr3Kidd3r

Hello all! Nope, the project is not dead, in fact, I've been building stuff for it.

I created SQLModel precisely to use it in this project, to simplify a lot of the code here.

I also want to migrate Celery to ARQ, Vue to React with TypeScript and hooks, and the GitLab CI to GitHub Actions, and Docker Swarm to Kubernetes... Lots to do.

But first, I need to finish and polish things in SQLModel, that's what's kept me from doing more stuff here, and it's what will have the biggest impact too.

Cool!

GitlabCi to GH actions and docker sw to k8s its kinda obvious of me, but Celery to arq, and Vue to react + Typescript its not, what are the reasons behind? Dramatiq seems to be srong option atm isnt it? ty

zakkg3 avatar May 17 '23 19:05 zakkg3

Any progress?

lukasz-madon avatar Jun 06 '23 20:06 lukasz-madon