Asynchronous Web Apps in Python
Ғылым және технология
Building your future web app.
Stop copy-pasting snippets to piece together a FastAPI app you don't really understand. Instead, buckle down and take the time to learn the fundamental building blocks that async web app frameworks in Python are built on top of. That way, you won't be stuck when there's no tutorial to copy from.
― mCoding with James Murphy (mcoding.io)
Source code: github.com/mCodingLLC/VideosS...
ASGI Spec: asgi.readthedocs.io/
SUPPORT ME ⭐
---------------------------------------------------
Sign up on Patreon to get your donor role and early access to videos!
/ mcoding
Feeling generous but don't have a Patreon? Donate via PayPal! (No sign up needed.)
www.paypal.com/donate/?hosted...
Want to donate crypto? Check out the rest of my supported donations on my website!
mcoding.io/donate
Top patrons and donors: Jameson, Laura M, Dragos C, Vahnekie, Neel R, Matt R, Johan A, Casey G, Mark M, Mutual Information, Pi
BE ACTIVE IN MY COMMUNITY 😄
---------------------------------------------------
Discord: / discord
Github: github.com/mCodingLLC/
Reddit: / mcoding
Facebook: / james.mcoding
CHAPTERS
---------------------------------------------------
0:00 Intro
1:14 The ASGI Specification
3:04 What an ASGI app looks like
4:37 Our first ASGI app
7:41 The lifespan connection
9:10 HTTP connections
12:05 Routing like FastAPI
13:27 The Response object
14:42 Starting to see the big picture
Пікірлер: 82
You fill a really important niche on programming youtube, which is that of intermediate+ Python content. Throughout the past 2/3 years you helped me a lot in becoming a much better developer. Thanks a bunch, James!
@walkdead94
2 ай бұрын
True.. is hard to find new content when you are intermediate + developer
@Ca1vema
2 ай бұрын
sorry, but wsgi and asgi basics is a junior level nowadays.
@kaosce
2 ай бұрын
@@Ca1vema Absolutely not. Junior level is understanding what is http and how it works + basics of frameworks like Django or FastAPI but certainly not how they are implemented
@Ca1vema
2 ай бұрын
@@kaosce What you described is 12h courses, you put the bar too low :^) I'm not asking for implementation details, knowlege about HOW http request comes to django is enough. You know, browser, web-server, wsgi, django interaction.
This is pure gold, thanks
@khanra17
2 ай бұрын
The topic is gold but this video is dog poop !
Thanks for this really valuable content. Teaching the fundamentals of a technology and not just an implementation tutorial is what is really lacking in the youtube space!
Great demonstration! Very excited for other videos about this topic! Thanks for sharing!
This comes at a perfect time, thank you for making this series!
Much needed! Thanks for the making series for it.
As someone already mentioned, this channel is pure gold... The topics are awesome and the knowledge density is from another planet. This mixed with his unmatched humor is the best KZread channel of all time. Please don't stop making python videos. You rock!
Thanks for starting this amazing series 🙌
Awesome content! Been using FastAPI at work and this content is so illustrative of technical details behind the scenes. Mission accomplished, thank you!
Hi James, a big thumbs up 👍 for your clear and excellent explanation connecting the ASGI theory/defintion to actual REST API building libraries. Some time ago a colleague asked me to write a simple REST API. I used used FastAPI. That was quite easy to do but then he asked me a feature I did not know how to implement, simply because I did not know about the 'structure' of ASGI that you have explained so well here. As another viewer wrote, your videos are true gold! Keep 'm coming.
very eye opening, waiting for future installments!
perfect timing, I'm just started learning about this ❤❤❤
Quality content as usual, the ASGI series will be great!
YES, so glad we're getting a series on this! It's such a great project design, can't wait to find out all the little things I've been doing wrong :P
dude, thanks! I was just tasked to understand our core FastAPI app at my company, this is perfect!
Wow! This is one of the best ASGI videos out there. Pure information for fundamentals building. Thank you very much. Keep posting more such videos.
This series will be one of the best series for developers for years to come. Can't wait for the next video. Absolute banger of a vid!
Great content! Thanks for breaking this down
Love this content idea. Please keep it up!
Loved the video, thanks for this kind of low level content!!
That's a cool quest to undertake. I'll make sure to follow along, going to be an interesting journey. Thanks!
this was perfect, I couldn't understand asgi before but now its a lot more clear
This is perfectly timed, just this week I started converting a sync web application (using uwsgi) to ASGI with Starlette, and there's another app which I think I'll want to convert next. I think I already know the fundamentals, but I'm excited to learn more! From what I've seen of Starlette, I like it a lot already. Since both of my apps are rather simple, I wanted to keep it low level and not use something like Flask or FastAPI, but Starlette feels like the perfect middle point of being somewhat low level without me having to reinvent any wheels.
Very enlightening! Thanks!
What a genius, 10/10, liked, suscribed, and will patreon.
Best python content on youtube. Thanks James.
Waw, what a video! Thanks, awesome content!
Great content, as always.
great series🎉
This was a great video, thank you! Would also be very cool to see you implement routers, route ordering, subdomain routing and middlewares in a part 2.
This is very helpful
Another master piece
This is great! I would love to learn about deployment too.
Thank you!
u rock! thank you so much
0:25 that's exactly how I feel whenever I'm learning a new python library
Quality content
Amazing
Super!
Yesss❤
Great!
The opening description of all the magic sounded like Laravel for Python!
Now tell me if your GPT-4 explained this to you in such way. Insane quality and no bullshit
i actually want to see the regex for the http request header
@failgun
2 ай бұрын
stack overflow question 1732348. _that_ answer. It is not possible to do this.
@noel.friedrich
2 ай бұрын
It's not possible to create such a regex, as the spec for it isn't a regular language! Fun - right?
Instructions unclear. Started raising a whole herd of goats
This was really interesting. Thanks!
I'm probably misunderstanding but why would a standard such as ASGI be designed for/tailored specifically towards Python? Is this not something that multiple languages (that of course support async programming) could benefit from ASGI? Is there anything fundamentally standing in the way to implement an ASGI protocol server for use in other languages?
2:20, you could and you should write an HTTP parser, as en exercise. It's easy to understand and work with. After that you got a knowledge not only on protocol but also on how it works. With such great number of frameworks, new coming developers do not understand basics, and it's a shame.
4:57 Can this be expressed via the `Coroutine` from `typing`? (btw, I use Manjaro, not Arch)
Discord gang lets goooo
@mCoding
2 ай бұрын
First, gratz!
..... 0:53 and authorization (sry, I couldn't resist) (btw I use arch (and keycloack) )
@mCoding
2 ай бұрын
Authorization was actually cut in the edit for time :)
Whats the stack overflow pic?
@mr.vladislav5746
2 ай бұрын
Google: RegEx match open tags except XHTML self-contained tags. It's the top answer to that stack overflow post (won't link cuz my comment will probably be removed then)
What is print(objects...)?
When's the Litestar series drop? 👀
2:32 im very curious now
Would this be an alternative to using Django or as a companion to?
@mCoding
2 ай бұрын
Django is primarily a synchronous framework that uses WSGI, the synchronous predecessor to ASGI. Django has added ASGI support, so it is technically "companion to," but the support is more like a wrapper that speaks ASGI to the outside but remains synchronous on the inside. Support continues to improve with each release, though, so it may add native asynchronous support in the future.
So ASGI is the newfangled CGI?
no need to pass self as the first argument in get, post, patch...functions ?
As always, great video but the `q: str = None` is really killing me 😬
T-H-A-T I-S G-R-E-A-T !!!
Kill -9 Similar to other times when you have shown that Python isn't in complete control of its facilities.
@mCoding
2 ай бұрын
I think this might actually be a uvicorn issue. I know they set up signal handlers, and they probably just aren't handling sigint properly.
Gj
I am worried that it won't get many views and that the series will stop, even if it will be really useful for a bunch of people (if not now, in the future, when algorithm might decide so)
No he entendido
Asynchronous programming is still so weird to me 😭
I really like this video. The only real problem is that you keep referring to FastAPI, as if it were some sort of de-facto standard ASGI server in Python. I don't think this is fair. Litestar in particular is drastically more based
@ejovo
2 ай бұрын
FastAPI _is_ the de facto standard. Doesnt mean its the best though!
24k gold 🪙