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

  • @AntonioZL
    @AntonioZL2 ай бұрын

    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
    @temik262 ай бұрын

    This is pure gold, thanks

  • @khanra17

    @khanra17

    2 ай бұрын

    The topic is gold but this video is dog poop !

  • @smnomad9276
    @smnomad92762 ай бұрын

    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
    @greob2 ай бұрын

    Great demonstration! Very excited for other videos about this topic! Thanks for sharing!

  • @dirtdart81
    @dirtdart812 ай бұрын

    This comes at a perfect time, thank you for making this series!

  • @sandie_jr
    @sandie_jr2 ай бұрын

    Much needed! Thanks for the making series for it.

  • @draufunddran
    @draufunddran2 ай бұрын

    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!

  • @Sandeep-zd6dq
    @Sandeep-zd6dq2 ай бұрын

    Thanks for starting this amazing series 🙌

  • @ejovo
    @ejovo2 ай бұрын

    Awesome content! Been using FastAPI at work and this content is so illustrative of technical details behind the scenes. Mission accomplished, thank you!

  • @jurgenrusch4041
    @jurgenrusch40412 ай бұрын

    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.

  • @bool2max
    @bool2max2 ай бұрын

    very eye opening, waiting for future installments!

  • @pythoninarabic3341
    @pythoninarabic33412 ай бұрын

    perfect timing, I'm just started learning about this ❤❤❤

  • @matis9783
    @matis97832 ай бұрын

    Quality content as usual, the ASGI series will be great!

  • @adamdapatsfan
    @adamdapatsfan2 ай бұрын

    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

  • @robosergTV
    @robosergTV2 ай бұрын

    dude, thanks! I was just tasked to understand our core FastAPI app at my company, this is perfect!

  • @nitishvirtual4745
    @nitishvirtual4745Ай бұрын

    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.

  • @jewpcabra666
    @jewpcabra6662 ай бұрын

    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!

  • @svaponi
    @svaponi2 ай бұрын

    Great content! Thanks for breaking this down

  • @shadowviper95
    @shadowviper952 ай бұрын

    Love this content idea. Please keep it up!

  • @manuelangelsuarezalvarez3355
    @manuelangelsuarezalvarez33552 ай бұрын

    Loved the video, thanks for this kind of low level content!!

  • @AntonLebedevEsq
    @AntonLebedevEsq2 ай бұрын

    That's a cool quest to undertake. I'll make sure to follow along, going to be an interesting journey. Thanks!

  • @farhadeviltrg6116
    @farhadeviltrg61162 ай бұрын

    this was perfect, I couldn't understand asgi before but now its a lot more clear

  • @slash_me
    @slash_me2 ай бұрын

    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.

  • @PaulaBean
    @PaulaBean2 ай бұрын

    Very enlightening! Thanks!

  • @Ontaro
    @Ontaro2 ай бұрын

    What a genius, 10/10, liked, suscribed, and will patreon.

  • @Khushpich
    @Khushpich2 ай бұрын

    Best python content on youtube. Thanks James.

  • @ramimashalfontenla1312
    @ramimashalfontenla13122 ай бұрын

    Waw, what a video! Thanks, awesome content!

  • @this-one
    @this-one2 ай бұрын

    Great content, as always.

  • @trupalcanada
    @trupalcanada2 ай бұрын

    great series🎉

  • @nicolaipre
    @nicolaipre2 ай бұрын

    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.

  • @strawberriesandcum
    @strawberriesandcum2 ай бұрын

    This is very helpful

  • @dojjy5798
    @dojjy57982 ай бұрын

    Another master piece

  • @blitzarsun
    @blitzarsun2 ай бұрын

    This is great! I would love to learn about deployment too.

  • @aashayamballi
    @aashayamballi2 ай бұрын

    Thank you!

  • @tan.nicolas
    @tan.nicolas2 ай бұрын

    u rock! thank you so much

  • @soyitiel
    @soyitiel2 ай бұрын

    0:25 that's exactly how I feel whenever I'm learning a new python library

  • @CASnumber
    @CASnumber2 ай бұрын

    Quality content

  • @agb2557
    @agb2557Ай бұрын

    Amazing

  • @sscapture
    @sscapture2 ай бұрын

    Super!

  • @YuvrajRaghuvanshiS
    @YuvrajRaghuvanshiS2 ай бұрын

    Yesss❤

  • @yourdadsbestfriend7101
    @yourdadsbestfriend71012 ай бұрын

    Great!

  • @MrFluteboy1980
    @MrFluteboy19802 ай бұрын

    The opening description of all the magic sounded like Laravel for Python!

  • @Neuroszima
    @Neuroszima15 күн бұрын

    Now tell me if your GPT-4 explained this to you in such way. Insane quality and no bullshit

  • @mistervallus185
    @mistervallus1852 ай бұрын

    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?

  • @prakashkalluri64
    @prakashkalluri642 ай бұрын

    Instructions unclear. Started raising a whole herd of goats

  • @jdratlif
    @jdratlif2 ай бұрын

    This was really interesting. Thanks!

  • @Razerblue6
    @Razerblue62 ай бұрын

    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?

  • @Ca1vema
    @Ca1vema2 ай бұрын

    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.

  • @nemoumbra0
    @nemoumbra02 ай бұрын

    4:57 Can this be expressed via the `Coroutine` from `typing`? (btw, I use Manjaro, not Arch)

  • @JohnFallot
    @JohnFallot2 ай бұрын

    Discord gang lets goooo

  • @mCoding

    @mCoding

    2 ай бұрын

    First, gratz!

  • @sakost
    @sakost2 ай бұрын

    ..... 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 :)

  • @jakedunn9241
    @jakedunn92412 ай бұрын

    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
    @yomajo2 ай бұрын

    What is print(objects...)?

  • @monorepo
    @monorepo2 ай бұрын

    When's the Litestar series drop? 👀

  • @hoteny
    @hoteny2 ай бұрын

    2:32 im very curious now

  • @JohnWasinger
    @JohnWasinger2 ай бұрын

    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.

  • @BR-lx7py
    @BR-lx7py2 ай бұрын

    So ASGI is the newfangled CGI?

  • @iury664
    @iury664Ай бұрын

    no need to pass self as the first argument in get, post, patch...functions ?

  • @baja
    @baja2 ай бұрын

    As always, great video but the `q: str = None` is really killing me 😬

  • @denispmaciel
    @denispmaciel2 ай бұрын

    T-H-A-T I-S G-R-E-A-T !!!

  • @thisoldproperty
    @thisoldproperty2 ай бұрын

    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.

  • @jadore801120
    @jadore8011202 ай бұрын

    Gj

  • @glorytoarstotzka330
    @glorytoarstotzka3302 ай бұрын

    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)

  • @jullien191
    @jullien1912 ай бұрын

    No he entendido

  • @b33thr33kay
    @b33thr33kay2 ай бұрын

    Asynchronous programming is still so weird to me 😭

  • @Mekuso8
    @Mekuso82 ай бұрын

    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!

  • @abhijithalder4996
    @abhijithalder49962 ай бұрын

    24k gold 🪙

Келесі