Asynchronous Web Apps in Python

  Рет қаралды 29,333

mCoding

mCoding

Күн бұрын

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
@AntonioZL
@AntonioZL 2 ай бұрын
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
@walkdead94 2 ай бұрын
True.. is hard to find new content when you are intermediate + developer
@Ca1vema
@Ca1vema 2 ай бұрын
sorry, but wsgi and asgi basics is a junior level nowadays.
@kaosce
@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
@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.
@temik26
@temik26 2 ай бұрын
This is pure gold, thanks
@khanra17
@khanra17 2 ай бұрын
The topic is gold but this video is dog poop !
@smnomad9276
@smnomad9276 2 ай бұрын
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!
@greob
@greob 2 ай бұрын
Great demonstration! Very excited for other videos about this topic! Thanks for sharing!
@draufunddran
@draufunddran 2 ай бұрын
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 KZbin channel of all time. Please don't stop making python videos. You rock!
@adamdapatsfan
@adamdapatsfan 2 ай бұрын
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
@jurgenrusch4041
@jurgenrusch4041 2 ай бұрын
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.
@ejovo
@ejovo 2 ай бұрын
Awesome content! Been using FastAPI at work and this content is so illustrative of technical details behind the scenes. Mission accomplished, thank you!
@Sandeep-zd6dq
@Sandeep-zd6dq 2 ай бұрын
Thanks for starting this amazing series 🙌
@pythoninarabic3341
@pythoninarabic3341 2 ай бұрын
perfect timing, I'm just started learning about this ❤❤❤
@bool2max
@bool2max 2 ай бұрын
very eye opening, waiting for future installments!
@robosergTV
@robosergTV 2 ай бұрын
dude, thanks! I was just tasked to understand our core FastAPI app at my company, this is perfect!
@jewpcabra666
@jewpcabra666 2 ай бұрын
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!
@matis9783
@matis9783 2 ай бұрын
Quality content as usual, the ASGI series will be great!
@dirtdart81
@dirtdart81 2 ай бұрын
This comes at a perfect time, thank you for making this series!
@slash_me
@slash_me 2 ай бұрын
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.
@sandie_jr
@sandie_jr 2 ай бұрын
Much needed! Thanks for the making series for it.
@nitishvirtual4745
@nitishvirtual4745 2 ай бұрын
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.
@farhadeviltrg6116
@farhadeviltrg6116 2 ай бұрын
this was perfect, I couldn't understand asgi before but now its a lot more clear
@AntonLebedevEsq
@AntonLebedevEsq 2 ай бұрын
That's a cool quest to undertake. I'll make sure to follow along, going to be an interesting journey. Thanks!
@manuelangelsuarezalvarez3355
@manuelangelsuarezalvarez3355 2 ай бұрын
Loved the video, thanks for this kind of low level content!!
@shadowviper95
@shadowviper95 2 ай бұрын
Love this content idea. Please keep it up!
@Khushpich
@Khushpich 2 ай бұрын
Best python content on youtube. Thanks James.
@Ontaro
@Ontaro 2 ай бұрын
What a genius, 10/10, liked, suscribed, and will patreon.
@svaponi
@svaponi 2 ай бұрын
Great content! Thanks for breaking this down
@PaulaBean
@PaulaBean 2 ай бұрын
Very enlightening! Thanks!
@nicolaipre
@nicolaipre 2 ай бұрын
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.
@ramimashalfontenla1312
@ramimashalfontenla1312 2 ай бұрын
Waw, what a video! Thanks, awesome content!
@trupalcanada
@trupalcanada 2 ай бұрын
great series🎉
@this-one
@this-one 2 ай бұрын
Great content, as always.
@blitzarsun
@blitzarsun 2 ай бұрын
This is great! I would love to learn about deployment too.
@strawberriesandcum
@strawberriesandcum 2 ай бұрын
This is very helpful
@dojjy5798
@dojjy5798 2 ай бұрын
Another master piece
@aashayamballi
@aashayamballi 2 ай бұрын
Thank you!
@soyitiel
@soyitiel 2 ай бұрын
0:25 that's exactly how I feel whenever I'm learning a new python library
@tan.nicolas
@tan.nicolas 2 ай бұрын
u rock! thank you so much
@mistervallus185
@mistervallus185 2 ай бұрын
i actually want to see the regex for the http request header
@failgun
@failgun 2 ай бұрын
stack overflow question 1732348. _that_ answer. It is not possible to do this.
@noel.friedrich
@noel.friedrich 2 ай бұрын
It's not possible to create such a regex, as the spec for it isn't a regular language! Fun - right?
@nemoumbra0
@nemoumbra0 2 ай бұрын
4:57 Can this be expressed via the `Coroutine` from `typing`? (btw, I use Manjaro, not Arch)
@Neuroszima
@Neuroszima Ай бұрын
Now tell me if your GPT-4 explained this to you in such way. Insane quality and no bullshit
@CASnumber
@CASnumber 2 ай бұрын
Quality content
@agb2557
@agb2557 2 ай бұрын
Amazing
@YuvrajRaghuvanshiS
@YuvrajRaghuvanshiS 2 ай бұрын
Yesss❤
@sscapture
@sscapture 2 ай бұрын
Super!
@Razerblue6
@Razerblue6 2 ай бұрын
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?
@MrFluteboy1980
@MrFluteboy1980 2 ай бұрын
The opening description of all the magic sounded like Laravel for Python!
@yourdadsbestfriend7101
@yourdadsbestfriend7101 2 ай бұрын
Great!
@Ca1vema
@Ca1vema 2 ай бұрын
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.
@jakedunn9241
@jakedunn9241 2 ай бұрын
Whats the stack overflow pic?
@mr.vladislav5746
@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)
@yomajo
@yomajo 2 ай бұрын
What is print(objects...)?
@sakost
@sakost 2 ай бұрын
..... 0:53 and authorization (sry, I couldn't resist) (btw I use arch (and keycloack) )
@mCoding
@mCoding 2 ай бұрын
Authorization was actually cut in the edit for time :)
@jdratlif
@jdratlif 2 ай бұрын
This was really interesting. Thanks!
@JohnWasinger
@JohnWasinger 2 ай бұрын
Would this be an alternative to using Django or as a companion to?
@mCoding
@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.
@JohnFallot
@JohnFallot 2 ай бұрын
Discord gang lets goooo
@mCoding
@mCoding 2 ай бұрын
First, gratz!
@prakashkalluri64
@prakashkalluri64 2 ай бұрын
Instructions unclear. Started raising a whole herd of goats
@monorepo
@monorepo 2 ай бұрын
When's the Litestar series drop? 👀
@iury664
@iury664 2 ай бұрын
no need to pass self as the first argument in get, post, patch...functions ?
@BR-lx7py
@BR-lx7py 2 ай бұрын
So ASGI is the newfangled CGI?
@hoteny
@hoteny 2 ай бұрын
2:32 im very curious now
@baja
@baja 2 ай бұрын
As always, great video but the `q: str = None` is really killing me 😬
@denispmaciel
@denispmaciel 2 ай бұрын
T-H-A-T I-S G-R-E-A-T !!!
@thisoldproperty
@thisoldproperty 2 ай бұрын
Kill -9 Similar to other times when you have shown that Python isn't in complete control of its facilities.
@mCoding
@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.
@glorytoarstotzka330
@glorytoarstotzka330 2 ай бұрын
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)
@jadore801120
@jadore801120 2 ай бұрын
Gj
@jullien191
@jullien191 2 ай бұрын
No he entendido
@Mekuso8
@Mekuso8 2 ай бұрын
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
@ejovo 2 ай бұрын
FastAPI _is_ the de facto standard. Doesnt mean its the best though!
@b33thr33kay
@b33thr33kay 2 ай бұрын
Asynchronous programming is still so weird to me 😭
@abhijithalder4996
@abhijithalder4996 2 ай бұрын
24k gold 🪙
Python Generators
15:32
mCoding
Рет қаралды 133 М.
Async for loops in Python
16:36
mCoding
Рет қаралды 60 М.
Gym belt !! 😂😂  @kauermtt
00:10
Tibo InShape
Рет қаралды 17 МЛН
НРАВИТСЯ ЭТОТ ФОРМАТ??
00:37
МЯТНАЯ ФАНТА
Рет қаралды 7 МЛН
No Code App Development is a Trap
9:31
Coding with Dee
Рет қаралды 179 М.
Has Generative AI Already Peaked? - Computerphile
12:48
Computerphile
Рет қаралды 906 М.
"The Life & Death of htmx" by Alexander Petros at Big Sky Dev Con 2024
23:01
Montana Programmers
Рет қаралды 41 М.
Build a productivity web app that's NOT a todo list
18:55
Learn With Jason
Рет қаралды 47 М.
Metaclasses in Python
15:45
mCoding
Рет қаралды 151 М.
15 Python Libraries You Should Know About
14:54
ArjanCodes
Рет қаралды 377 М.
Modern Python logging
21:32
mCoding
Рет қаралды 166 М.
Why I prefer attrs over dataclasses
6:21
mCoding
Рет қаралды 62 М.
Nature's Incredible ROTATING MOTOR (It’s Electric!) - Smarter Every Day 300
29:37
Как бесплатно замутить iphone 15 pro max
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 8 МЛН
Какой ноутбук взять для учёбы? #msi #rtx4090 #laptop #юмор #игровой #apple #shorts
0:18
تجربة أغرب توصيلة شحن ضد القطع تماما
0:56
صدام العزي
Рет қаралды 63 МЛН