Forums

FastAPI

Hi!

Can I use FastAPI framework with PythonAnywhere? from fastapi import FastAPI #now returns error...

Installed with pip, will investigate...

Unfortunately I don't think it will work :-( It uses ASGI, and websites on PythonAnywhere need to be based on WSGI.

Thanks for help! Wish ASGI will be implemented soon by PA team...

It's certainly something that's high on our priority list! No ETA right now, though.

Hi. Any news on ASGI support?

We're working towards it, but we don't have a timeline yet.

Don't want to be annoying... but at is there any estimated period for having this feature available? this summer, this year, next year... ?

No, we don't have an estimate.

Love the website. I understand you don't have an estimated time, but I am eagerly waiting for this feature too

Hi @labs, thanks! I'm bumping up our ticket for ASGI on your behalf.

Any news on ASGI?

Still on our todo list, @shinokada.

Any updates on FastAPI ? :)

No, it's still on the to-do list (like it was yesterday :-)

+1 on this feature. Do you have a page where users can vote on new features?

We don't but we sort of do that for you by upvoting our tickets. You will be informed when it's implemented.

I would also find ASGI useful and would love to know when you implement it if you implement it

noted. thanks!

Hi guys,

+1 on this request. FastAPI is super-useful! :)

Leandro

Upvoted!

+1 on ASGI

Noted, thanks

I would love to see the possibility to have ASGI and FastAPI too ! Thank you so much for everything you do, pythonanywhere rocks !

Upvoted!

+1!

Upvoted again -- this one is getting very high up the priority list. No timelines yet, as there are a lot of changes that it will require, but we're very much aware that it's important :-)

+1

Upvoted again

hi, +1 again. also, is there any estimate?

No, we do not have an estimate

Wow I just suscribed to pythonanywhere as developer account...and now realized that does'nt support fastapi....I want to kill myself

Sorry to hear that :-(

Man...instead of say sorry...you could provide us an estimate of when you release this functionality...I can see that the fisrt comment was on Oct 14, 2019 ...and 2 years later you keep saying "we don't have an estimate" as answer ??...maybe you could share with us a priority list or something ??....because this look like a lack of profesionalism on your part. As clients we need concret answers!!

We can't give precise timelines; there are several thousand things that people have asked for on PythonAnywhere, and we keep a priority list based on how many times people have requested specific things. However, the numbers change over time, so if (for example) something is a thing that someone asked for in 2019 is currently (say) tenth in the list, by the time we have done the preceding nine things, other things might have gone up in priority and now be more important.

No company gives complete roadmaps of the thousands of things that people have asked for, as it would simply be impossible to keep accurate. All we can say is that we are keeping track of it, and when it comes to the top of the list -- based on the number of people who have asked for it at that point, not on the number of people that had asked for it at some point in the past -- then we will schedule the work and do it.

So are you saying that update your technologies is not on the top of your priority list ?...since 2019 ??...wow...first time I hear that a tech company prefer to have a technology that is becoming obsolete instead of update it....well, I don't waste my time anymore...so enjoy the free $20 I give you...bye.

Fair enough. Thanks for letting us know.

I'm sorry about that, I also was expecting that, so posible I'm goint o check for a diferent platform, maybe docker and a provider.

+1

Acknowledged!

+1, can you give an update on which spot this is on your priority list?

is it worth to wait or should i try something else?

Noted, thanks. If you have a deadline, you should not wait for us.

Thank you for the quick response! Ok then I will use a Workaround.

So would it be correct to assume that people need to consistently create new threads requesting this, or should we keep coming here? I think you guys are on AWS backbone right? Its not that difficult to implement this via gunicorn afaict. However I imagine you are going to be suffering to track things the same way you do now. (Although given my experience trying to do long-running processes, via either cron, long-polling, fabric and getting my process nuked at 5minutes, tracking should not be an issue for you)

There's no need to post new threads, no -- each new person requesting this on this thread contributes to an upvote on the ticket on our to-do list.

Implementing the basic code to handle one website using gunicorn (or, more probably, uvicorn) is easy. Implementing a system that can support tens of thousands of uvicorn sites with hundreds of requests a second between them is harder. Changing an existing system that handles WSGI-based websites so that it can support both those and ASGI websites using uvicorn is really hard, and that's why it's going to take some time.

+1

noted

Appreciate the feedback. And yeah, I realise those factors are quite intimidating, have you considered spinning off a seperate business for ASGI support?

No, we have not

Any update on ASGI support? Perhaps, a rough estimation on when pythonanywhere will suport it?

No estimates. We’ve found that promises lead to disappointment, disappointment leads to anger and anger leads to pain. But it's in our plans.

It's been in your plans for 3 years now.... May I ask at least if it's a priority? By the end of this year do you see any progress having been made?

Progress is being made constantly, but things done as part of that progress are not necessarily going to show up as FastAPI specifically working, as (of course) that's an all-or-nothing thing that will only happen at the end; either it works or it doesn't :-)

However, yes, we are making progress towards it. For example, the "new virtualization system" you might have heard about was a necessary step, and that is now live for all accounts. So if we announce some kind of infrastructural changes in a system update, it is likely (say, >75% likely) that it's part of the work required for supporting ASGI apps like FastAPI.

Please upvote for ASGI and FastAPI.

Noted!

FastAPI

noted!

PythonAnywhere is for MINIMALIST Python App.

I host my Demo App on PA, it is a minimal app, for example, I use jQuery instead of Django channels because PA don't support channels.

PA is for Minimalist Python Apps...If you cannot keep it simple and want to use the Big guns like FastAPI, Redis, Channels and co, then go for the Big Guns, but PA is for Minimal apps.

At least, that is what I have observed.

So I am cutting down on my app to use minimal Python Requirements, instead of Redis, you can use django-redis, for channels you can use jQuery.

In Summary, if you wan to enjoy PA, your app must be as Minimal as possible.

I know it's bad for advanced developers and beginners like me who are hungry to advance, but that's what you get if you use PA....

MINIMAL.

@ukogonline thanks for the feedback! Of course "minimalist" and "minimal" are relative terms and you're talking about some tech-stack limitations; you can have quite big and complex web apps on PA though.

@pafk Yes you can, but without the tech-stacks which all have alternative.

Just as our savior is the alternative to sin, you can also alternate when it comes to the tech-stacks.

If you want to use PA to host your Py app which I highly recommend...keep it Py.

PA is for Py Anyway

Fair enough. One thing I would recommend, which is very much in line with what you say, is that if you want to use Redis, you should get a Redis instance from someone like Redis Labs. If you provision the instance in the us-east-1 AWS datacenter it will be right next to our server and you should get really low latency.

Even if we do support Redis as part of our own system in the future, it will likely be essentially outsourced to them or to a similar company.

FastAPI is, of course, a different issue, and we're working towards supporting it.

Please support FastAPI and ASGI.

Noted, thanks

++1 for FastAPI and ASGI.

Thanks, @prospektai!

Please implement FastAPI and ASGI support ASAP! 2022 is the year to use PythonAnywhere :)

Noted!

+1 for this thread, just upgraded to host a second app and realized no support for FastAPI and ASGI :(

Thanks! Also noted.

+1, I really need FastAPI and ASGI support

Noted again :-)

+1, any update?

It will be anounced when done, for sure!

+1 for this post

Noted, thanks.

Noted again, thanks.

Noted indeed.

Good aftenoon, does you have a roadmap or a date to implement fastapi?

No, we do not.

+1 for this post

Noted, thanks.

+1 for ASGI

@SoroushMehraban -- noted!

+1 for ASGI also!

Thanks. Noted

+1

Thanks. Noted

+1

Noted :)

+1

Thanks!

+1 but no pressure!

Noted!

+1

Noted!

+1

noted!

Add ASGI support, please!

noted!

+1

Thanks!

Adding my vote for ASGI support.

I imagine you'll keep getting more requests for this. FastAPI is on the rise, and in this era of Node, Go, and Python 3 more programmers are used to having async available. (Heck, even Django supports it!)

Noted!

They have been saying they are going to ASGI support since 2019 LOL that is insane. Especially when it means FastAPI is useless without it. Unfortunate since you guys have great pricing but heroku is still a viable option.

@zysnwlls, yet it is still not available

It makes me a bit sad that nothing seemed to happen since I last upvoted this more than a year ago. In the meantime, there have been three websites that I wished to host on PA but couldn't because they were based on FastAPI. Today I wanted to publish a fourth website, much larger, but apparently, I will have to again see what the concurrence is offering. Has there been any progress other than the ~40 upvotes in the last year?

In any case, if I can upvote this again, I'd gladly do so :)

Many things are happening behind the scene that would lead to ASGI support eventually.