import asyncio: Learn Python's AsyncIO #1 - The Async Ecosystem

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2025

ความคิดเห็น • 120

  • @victornikolov537
    @victornikolov537 ปีที่แล้ว +11

    I am putting this on pause at 38:56 to comment here. I've never thought it would be so interesting to listen about all the history and the path that led to Asycnio.
    Thank you.

  • @ShredEngineerPhD
    @ShredEngineerPhD 3 ปีที่แล้ว +82

    This series is the most complete AsyncIO tutorial on TH-cam. Massive thumbs up! :)

    • @luxetim1541
      @luxetim1541 2 ปีที่แล้ว +1

      :( why it is hard

    • @itsfoss5268
      @itsfoss5268 ปีที่แล้ว

      @@luxetim1541 😅

    • @cstechnique
      @cstechnique ปีที่แล้ว +1

      Since the moment he mentioned 'select sys call,' I didn't understand what he was saying. It's specialized knowledge about Linux and networking, which I'm not familiar with. Perhaps there should be a course that introduces async for the majority of learners, without such academic knowledge

  • @ekkamailax
    @ekkamailax 4 ปีที่แล้ว +15

    You're one of the few people on the planet who understanding the psychology of explaining things effectively. Great video.

  • @senpos
    @senpos 4 ปีที่แล้ว +24

    Loving it! Especially the part about using blocking stuff in my async codebase. Sometimes it is not as convenient as it could be. Also, errors handling and debugging usually missed in such series, thanks for not skipping it!

  • @senses0
    @senses0 4 ปีที่แล้ว +41

    This is very well thought out and provides context, history and answers the WHYs before taking a shortcut to ide/code editor. Highly recommended for anyone interested in understanding crucial concepts behind the asyncio implementation.
    Looking forward to the rest of the episodes!

    • @cstechnique
      @cstechnique ปีที่แล้ว

      Your teaching style is not really good and not intuitive. Going through a series of PEPs and just briefly introducing them, how can viewers understand what you are saying? This is a lecture, not a movie. Viewers need to watch attentively and carefully to understand, unlike a movie where viewers can watch or not, or fast forward to another part, and viewers don't get a headache from watching a movie.

  • @sirius7584
    @sirius7584 3 ปีที่แล้ว +14

    19:58 Gilectomy -> overcoming the limitation of GIL is not easy.
    23:13 the goal of asyncio -> maximize the usage of a single thread.
    29:15 event loop -> Select syscall as a solution to waste of CPU or lag

    • @cstechnique
      @cstechnique ปีที่แล้ว +2

      Since the moment he mentioned 'select sys call,' I didn't understand what he was saying. It's specialized knowledge about Linux and networking, which I'm not familiar with. Perhaps there should be a course that introduces async for the majority of learners, without such academic knowledge

    • @munteanionut3993
      @munteanionut3993 8 หลายเดือนก่อน

      thanks a lot for the clarifications!

  • @AyushDhingra
    @AyushDhingra 6 หลายเดือนก่อน

    I wish you had (or would) create more such amazing in-depth playlists. Teachers like you make us fall in love with programming again and again. Thank you so much!!

  • @necromeo-dev
    @necromeo-dev 4 ปีที่แล้ว +9

    Came here after listening to you on the Real Python Podcast. This is some amazing insight into Python's AsyncIO. Keep it up!

  • @keshavsingh489
    @keshavsingh489 ปีที่แล้ว +1

    Thanks a lot for this video! Watched a lot of asyncio and no one had explained it as well as you did. Please keep sharing !!

  • @paulmarkus4917
    @paulmarkus4917 2 ปีที่แล้ว +1

    I have been trying to learn AsyncIO in Python for a while now and this is by far the best (clear, concise, deep) resource I have found. Massive thanks to Lukasz and Edge DB team for arranging this!

  • @hmx7497
    @hmx7497 4 ปีที่แล้ว +1

    讲的太好了,找了很久有关python asyncio相关的高级知识,现在终于看到了,谢谢你无私的分享

  • @danielrosenwald
    @danielrosenwald 4 ปีที่แล้ว +4

    Explained things so well! Loved hearing the history of asyncio to contextualize it's current implementation. To say you did your homework would be an understatement! Thanks again

  • @recordable542
    @recordable542 ปีที่แล้ว

    This is the BEST asyncio video I have watched so far! I'm bound to applaud

  • @btel
    @btel ปีที่แล้ว

    Great lecture series. After spending hours online and looking at asyncio implementation, I am finally starting to get it. Thank you so much!

  • @minyakonga8897
    @minyakonga8897 ปีที่แล้ว +1

    Awesome introduction, I need to check all these PEPs and libraries, learned a lot. Thanks EdgeDB.

  • @anibalismaelfermandois6943
    @anibalismaelfermandois6943 10 หลายเดือนก่อน

    This is a super super good video. I didn't expect such a comprehensive take on async await.

  • @pietraderdetective8953
    @pietraderdetective8953 ปีที่แล้ว

    OMG your explanation is one of the most comprehensive yet relaxed hence easy to understand.
    Liked and subscribed!
    You have an amazing channel Sir!

  • @Penfold__
    @Penfold__ 10 หลายเดือนก่อน

    Mate thank you for putting these together, you’re a great teacher.

  • @liulixiang1988
    @liulixiang1988 3 หลายเดือนก่อน

    Wow, amazing introduction of the python concurrency history!

  • @kobooa
    @kobooa 3 ปีที่แล้ว +1

    Jestem absolutnie zachwycony twoim tłumaczeniem :D Miło słyszeć, że ktoś to tak świetnie tłumaczy - domyślam się, że nie tylko ja to mówię, ale i tak zostawiam komentarz dla zasięgu :P

  • @wellspokenman81
    @wellspokenman81 4 ปีที่แล้ว

    this is amazing work. I've bounced off a half dozen asyncio tutorials but it's finally, finally starting to click for me. rlogin was my bathtub moment - many thanks.

  • @hubertzelek7780
    @hubertzelek7780 3 ปีที่แล้ว

    Łukasz, this is some very, very, very in detail history knowledge which I'm deeply grateful to you! Thanks for your time and effort. I'm going to continue on rest of the movies!
    Buy this man a beer!

  • @edboythinks
    @edboythinks 2 ปีที่แล้ว

    i never thought, as someone who has been learning python since 8 weeks ago, that i would have such an intimate knowledge of a module before i ever knew how to implement it

  • @illiaavdiienko8177
    @illiaavdiienko8177 4 ปีที่แล้ว +10

    love it! keep doing tutorials, they are really nice

  • @ReubenCleetus
    @ReubenCleetus 4 ปีที่แล้ว +1

    A very thorough discussion! So informative, and the speaker is excellent.

  • @fibromyalgie-traitement2600
    @fibromyalgie-traitement2600 3 ปีที่แล้ว

    Amazing piece of content. Thank you so much for such fantastic quality of information. Special mention for performing the donkey from shrek's "are we there yet" !

  • @andreostrufka69
    @andreostrufka69 4 ปีที่แล้ว

    Hello. Your video is awesome! I am from Brazil, I started working with AsyncIO and python a few weeks ago, and your content is being so helpful. I hope you keep doing that. Congratulations!

  • @dhiegorp
    @dhiegorp 3 ปีที่แล้ว

    Congrats for this video! The most complete I`ve ever seen, specially the historic part. Knowing which concepts and early ideas participated in the creation/evolution of asyncio and its peers was great. Definetely I`ll check the rest of the series.

  • @LukVerhelst
    @LukVerhelst ปีที่แล้ว

    This explanation is the best I ever came across on the subject of asynchronous handling ❤

  • @jesavius
    @jesavius 4 ปีที่แล้ว

    Learning the fundamentals of Asyncio and building an app with Starlette and EdgeDB!? This will be the best TH-cam series for Python devs in the history of TH-cam Videos about Python!!!

  • @atmospheric_b
    @atmospheric_b 3 ปีที่แล้ว

    i thought i will listen to core details in asyncio but man this is SO interesting i should watch the whole playlist! Thank you very much

  • @laguitte
    @laguitte 4 ปีที่แล้ว +2

    Very nice start to what promises to be a very interesting series.
    One thing I'm not sure about: one hand you say "the GIL is what makes python fast" and you work on asyncio to make it even faster; on the other hand I see Google starting the S4TF team to push for ML to be written in Swift because "python is slow". Who is right ?

    • @EdgeDB
      @EdgeDB  4 ปีที่แล้ว +1

      Good question! Python is both a programming language that you see in your text editor, as well as a runtime that executes your program. It is impossible to think about Python just looking at the source code without thinking how it behaves - or can behave - at runtime.
      An important feature of Python is that nothing is private, everything is mutable and introspectable. Plenty of features of Python rely on this design. This puts some constraints on how fast native Python can run, for example due to very widespread usage of dictionaries, duck typing, and so on.
      When we're saying that the GIL is what makes Python fast, we mean that without the GIL the particular design that CPython is an implementation of, would be less efficient without a single global interpreter lock.
      Other programming languages have different sets of guarantees and features, sometimes very specifically chosen to allow better native performance. While Swift isn't particularly interesting in this space, we at EdgeDB are quite excited about Rust for systems programming. Our database server already includes Rust code for some performance-critical bits (which in the old times would typically be handled by writing a C extension).

  • @ruijungao
    @ruijungao 4 ปีที่แล้ว

    Amazing detailed introduction to the history of asyncio and so much stuff about the ecosystem of coroutine in Python, loving it and thanks!

  • @dannydai1
    @dannydai1 5 หลายเดือนก่อน

    great series. not easy to elaborate on this topic. thanks, teacher

  • @JayJay-ki4mi
    @JayJay-ki4mi ปีที่แล้ว

    Fellow ex. FB employee too. I worked in security. Great course to get me up to speed with this library.

  • @seydoudia7828
    @seydoudia7828 4 ปีที่แล้ว

    This is so excellent! I will borrow the bartender analogy to explain concurrency from now on. Subscribed and thank you!

  • @mohammadyahya78
    @mohammadyahya78 2 ปีที่แล้ว +1

    Wow! Thank you. I wish if you had a book about threadin in Python.

  • @slonbeskonechen8310
    @slonbeskonechen8310 3 ปีที่แล้ว +1

    simple and circumstantially! Thank you!

  • @Factory400
    @Factory400 3 ปีที่แล้ว

    Wow! This is a gem....super impressed with the depth. Love this.

  • @laysauchoa7557
    @laysauchoa7557 2 ปีที่แล้ว

    Thanks for sharing your knowledge and explaining this hard to grab concepts with such elegance 👏

  • @Meritumas
    @Meritumas 4 ปีที่แล้ว

    Great tutorial! Thank you, Lukasz for taking the time and explaining asyncio.

  • @foxdeveloper7707
    @foxdeveloper7707 11 หลายเดือนก่อน

    Crisp and detailed contents with nice presentation. :) --> and going to try edge DB

  • @anuragshrestha7711
    @anuragshrestha7711 3 ปีที่แล้ว

    You should make more videos. Really nice examples and thoughtful.

  • @snehotoshbanerjee1938
    @snehotoshbanerjee1938 4 หลายเดือนก่อน

    The Excellent!! What an effort and knowledge content of this video! BTW, what is the status of GIL in 2024. Found a PEP 703, which is making GIL optinal.

  • @kobooa
    @kobooa 3 ปีที่แล้ว

    Możliwe, że i ten komentarz jest dla zasięgu :P, ale w tym powiem, że też miło w końcu rozumieć skąd to wszystko się wzięło :D

  • @imaurer
    @imaurer 4 ปีที่แล้ว +1

    Thanks Łukasz for these videos and for the black formatter.

  • @borisrunakov1662
    @borisrunakov1662 4 ปีที่แล้ว

    Thank you for the video! I got a bit confused at about 12:45 where you explain who catches the error when adding to the dictionary and what thread propagates it. Could you please elaborate? Thanks in advance !

  • @getitjob
    @getitjob 4 ปีที่แล้ว

    Łukasz big Thanks :). Your knowledge is huge and you are really good as you-tuber. I have tried this and it is no easy.

  • @tourdesource
    @tourdesource 2 ปีที่แล้ว

    A true masterclass. Thank you!

  • @amidfallen
    @amidfallen 3 ปีที่แล้ว

    wow, thank you! I hope I will obtain enough knowledge to implement Asyncio in my Flask project.

  • @Tomab3
    @Tomab3 2 หลายเดือนก่อน

    Thank you for this series its great !

  • @paffcio4050
    @paffcio4050 4 ปีที่แล้ว

    When you talk about the event loop you often bring up the picture with those callbacks. It was always rather confusing to me. I finally understood what did you mean by it. Thanks

  • @naeemkhoshnevis
    @naeemkhoshnevis 4 ปีที่แล้ว

    Very well prepared and presented. Thanks.

  • @human-011
    @human-011 3 ปีที่แล้ว

    My doubt is, how that bartender (25:04) goes back to previous customers? please reply

  • @cstechnique
    @cstechnique ปีที่แล้ว +1

    Since the moment he mentioned 'select sys call,' I didn't understand what he was saying. It's specialized knowledge about Linux and networking, which I'm not familiar with. Perhaps there should be a course that introduces async for the majority of learners, without such academic knowledge

  • @asim-gandu-phenchod
    @asim-gandu-phenchod 4 ปีที่แล้ว

    Love to see a detailed series on async

  • @rogerbrinkmann
    @rogerbrinkmann 4 ปีที่แล้ว

    Great content, exactly what I was looking for!

  • @dewashyadubey9829
    @dewashyadubey9829 ปีที่แล้ว

    Correct me if I'm wrong. I have an example for deadlock, "You are trying to find job to gain experience, but need experiance to get a job"

  • @Fran-kc2gu
    @Fran-kc2gu 3 ปีที่แล้ว

    I just finished the podcast on Real Python came here for more :D

  • @pahehepaa4182
    @pahehepaa4182 4 ปีที่แล้ว +2

    It's been more than 5 months since the last video. Will you add the remaining parts or will we be left hanging midway ?
    :/

  • @aaronjiang9478
    @aaronjiang9478 ปีที่แล้ว

    Are there any articles or blogs that accompany the videos?

  • @AurelioCosta
    @AurelioCosta 4 ปีที่แล้ว

    Really nice explanation. Thanks

  • @bertproeme4535
    @bertproeme4535 3 ปีที่แล้ว +1

    What causes this? --> RuntimeError: asyncio.run() cannot be called from a running event loop

  • @leaoaugusto
    @leaoaugusto 7 หลายเดือนก่อน

    wow.. awesome content! thank you

  • @DannyZaharia
    @DannyZaharia 4 ปีที่แล้ว

    Great series! when's the next video coming up?

    • @EdgeDB
      @EdgeDB  4 ปีที่แล้ว +1

      We're uploading it right now. We'll be targeting to release at least one new episode per week.

  • @berryk.4174
    @berryk.4174 3 ปีที่แล้ว

    Exactly wait I was looking for, after watching a couple of other tutorials on async(io) (around 30~45m each) I felt like they all barely touched base and put code on the screen way to fast for me to grasp all concepts.

    • @berryk.4174
      @berryk.4174 3 ปีที่แล้ว

      actually, just watched this first episode and am really pleased with the content. I'm going to watch the rest tomorrow.

  • @bartek9167
    @bartek9167 4 ปีที่แล้ว

    Just out of curiousity, how many times were you recording the part with 6 seconds sleep and adding another variable? :D

  • @KulvinderSingh-pm7cr
    @KulvinderSingh-pm7cr 4 ปีที่แล้ว

    Splendid job 🤘

  • @uploadvoice
    @uploadvoice 4 ปีที่แล้ว

    Would it be as efficient as node's main loop ?

  • @pyderator
    @pyderator 4 ปีที่แล้ว

    Great Explanation !!

  • @akhil3365
    @akhil3365 3 ปีที่แล้ว

    what is the difference between qrequests and asyncio

  • @PythBuster
    @PythBuster 4 ปีที่แล้ว

    Amazing, thank you so much! :)

  • @EmrahBilbay
    @EmrahBilbay 4 ปีที่แล้ว

    Great stuff! Love it

  • @bhuller0164
    @bhuller0164 ปีที่แล้ว

    Sometimes explaining just the main point is good rather than giving overwhelming information.

  • @Busan2
    @Busan2 3 ปีที่แล้ว

    23:10 There's one more thing!

  • @BaselHamadeh
    @BaselHamadeh 4 ปีที่แล้ว

    This is awesome. Thanks alot

  • @shrishtychandra2003
    @shrishtychandra2003 4 ปีที่แล้ว

    Great video.. Seriously

  • @jsr7599
    @jsr7599 3 ปีที่แล้ว

    The video where it clicked, thanks.

  • @alexezio3352
    @alexezio3352 4 ปีที่แล้ว

    Great Vedio!!!!!!!!!!

  • @itsfoss5268
    @itsfoss5268 ปีที่แล้ว

    Dude, you even mentioned K8S and Fargate in the introductory series. I gues this is not meant for someone who is fairly new to these things huh?

  • @y.bibaev
    @y.bibaev 4 ปีที่แล้ว

    Thanks. Very interesting

  • @tarassavchenko2317
    @tarassavchenko2317 4 ปีที่แล้ว

    really interesting tuts

  • @hossein_sokhandan
    @hossein_sokhandan 4 ปีที่แล้ว

    That was precious.

  • @fringefringe7282
    @fringefringe7282 3 ปีที่แล้ว

    Piekna sprawa.

  • @rafaelacioly3252
    @rafaelacioly3252 4 ปีที่แล้ว

    Super nice!

  • @НикитаЛ-о3ч
    @НикитаЛ-о3ч ปีที่แล้ว

    спасибо яндекс что я могу смотреть это видео на русском
    но главное спасибо автору видео :)

  • @pldvs
    @pldvs 10 หลายเดือนก่อน

    Nice. Thanks.

  • @ceoofthen-word8849
    @ceoofthen-word8849 2 ปีที่แล้ว +1

    "Mr White, I'm gonna teach you asyncio"

  • @Alexus736
    @Alexus736 4 ปีที่แล้ว

    Very good

  • @francescolucantoni3243
    @francescolucantoni3243 4 ปีที่แล้ว

    AWESOME!

  • @voilin
    @voilin 2 ปีที่แล้ว

    It would have been most amazing python async series if only black resorted to single quotes

  • @mahdisecurity1700
    @mahdisecurity1700 4 ปีที่แล้ว

    hi this is a great video but if with code programming is better and more example and write your example such as senario.
    god willing

  • @rochakgupta6116
    @rochakgupta6116 ปีที่แล้ว +1

    I was looking for copper and found gold

  • @tamos2006
    @tamos2006 4 ปีที่แล้ว +1

    consider changing ur career to instructor, everything is just well exaplined.

  • @random_act
    @random_act 4 ปีที่แล้ว

    nice

  • @ehsanreghabi
    @ehsanreghabi ปีที่แล้ว +1

    Who's here from real python podcast?

  • @cstechnique
    @cstechnique ปีที่แล้ว +2

    Your teaching style is not really good and not intuitive. Going through a series of PEPs and just briefly introducing them, how can viewers understand what you are saying? This is a lecture, not a movie. Viewers need to watch attentively and carefully to understand, unlike a movie where viewers can watch or not, or fast forward to another part, and viewers don't get a headache from watching a movie.

  • @zofiagaming4281
    @zofiagaming4281 3 ปีที่แล้ว

    You have lost me on bartender analogy Łukasz ;) I guess you should see what real bartenders do in a busy place!

  • @luscasleo
    @luscasleo 8 หลายเดือนก่อน

    I feel bad for the bartender

  • @RevFried
    @RevFried 4 ปีที่แล้ว +6

    this guy is pretty average looking I guess

    • @llanga
      @llanga 4 ปีที่แล้ว +3

      Awww, that's the nicest thing anyone has ever said to me ♥️

    • @cstechnique
      @cstechnique ปีที่แล้ว

      Hi Langa, Since the moment he mentioned 'select sys call,' I didn't understand what he was saying. It's specialized knowledge about Linux and networking, which I'm not familiar with. Perhaps there should be a course that introduces async for the majority of learners, without such academic knowledge
      @@llanga

    • @cstechnique
      @cstechnique ปีที่แล้ว

      Your teaching style is not really good and not intuitive. Going through a series of PEPs and just briefly introducing them, how can viewers understand what you are saying? This is a lecture, not a movie. Viewers need to watch attentively and carefully to understand, unlike a movie where viewers can watch or not, or fast forward to another part, and viewers don't get a headache from watching a movie.
      @@llanga