There is not a lot of material on queues, locks, etc. with asyncio on TH-cam. Certainly none showcased with using Python 3.10. I think a lot of people will benefit from seeing those synchronization primitives in use. Loved the use of the sequential and "parallel" wrappers in this video. Very clean and readable.
@@ArjanCodes Great video. The use of semaphore to control the number of "threads" is an important concept in asyncio, if you decide to make a longer video about it.
@@ArjanCodes A quick question about that: why isn't the functions called in the sequential for loop (18:02)? It seems like the function, or callable objects, are just declared to be awaited, but newer invoked (adding a parenthesis after the name). Can you explain that I'm misunderstanding here? P. S.: Thanks for the video, it's one of the best I've seen on the topic!
@@ondskabenselv I am a newbie in python but I guess arguments are not functions, or references to functions, they are "awaitables", something like "promises" in js. I think it's a result of async function, but it's not a final result but a proxy object that keeps information on how long does it take to wait until it is ready. The result of async function is that medium object, and such objects, called "awaitables" are passed, not function references. That's why we don't have to call it and add parenthesis.
Wow! Finally async makes sense to me. I've been trying to learn about it, but it just wouldn't click with any other video/article. This was the one that finally got me to understand it enough to use it. Thank you so much! I definitely would be interested in seeing you dive more into async and see what can be possible with it.
Would DEFINITELY appreciate it if you did follow-ups to asyncio. Maybe even one on threading. Also, I am very, very thankful for your channel. When I first found your channel I was a lone developer at a company that did not have the guidance of a senior engineer. I knew quite a lot but my fundamentals were horrendous even though I had the breadth of knowledge. I was looking for a job because I knew I was lacking in depth and wanted to find a place where I could grow my ability. I began using your techniques in my take-home assessments and ultimately landed a job as a mid-level and it is 100000000000% because of you. I do watch your channel less because I'm learning a lot from the new company, and it's also in blockchain and that's another topic I'm learning a lot about as well. Anyway, wanted to say You're great and I can't believe you already have 50,000+ subscribers in less than a year. Great stuff. They use asyncio and some threading, so for old times sake...teach me. :) Merry Christmas and hope you have a happy new year.
Hi Gamal, that’s amazing! I’m so happy for you that you were able to make such a meaningful move in your career. I feel honored that my videos have helped you get there. Have a great holiday as well, and feel free to come back for more videos any time ;).
It’s been said a lot, but I’m just going to reiterate that this is the video which finally made async click! I couldn’t understand when or how to use the “gather” function, nor what it really does. You are the only one that realized how helpful & instructional it would be to show a full code still works synchronously when you have “await” everywhere, and that the “gather” function works by “gathering” all those awaits into a single call. This is what finally bridged the gap for me. I really appreciate all your content and think your videos have done the most to improve my skills in the past 4 months!
The last speaker sequence you added: Turn on and play music You had the switch off speaker call also in that run_parallel call so it is possible for the switch off to run after the turn on call or before it.
I usually don't like "toy" examples, but you've made it so much sense with this one and clarified a somewhat obscure topic in python that now I see the value in them. Thank you!
This is the best Video on Python asyncio i have ever Seen. And i have Seen a Lot of them trying to understand this topic. You are a Genius Arjan. Finally i think i understand it. Keep the Videos in this topic coming, since i believe there is a lot more to learn.
Thanks Arjan for hearing me out and creating the video (I requested for asyncio through one of my comment 7-8 months back, I think in some exception handling video:)). There are lots of materials on asyncio, but this one is the best and single place to have all information to handle asyncio in Pythonic way. Appreciate it.
I was looking at asyncio a few days ago to improve an internal application at work, and this video was published the same day! I really liked the way you have presented it and I would really like a follow-up video on more advanced async topic. Thanks you for your videos, they are always interesting!!
Small tip for VSC, if you want to write something across multiple lines you can use multiple cursors by holding ALT and clicking on the spot of the line you wish to write. Love your vids by the way
A Very high quality guide as always. I think even most of people explaining cooperative multitasking don't have a comprehensive knowledge of field and barely know why they do something but just talking about boilerplate examples. Therefore please go on with more advanced approaches about the topic. That would be a real treasure.
I enjoyed the video a lot. thanks Arjan🙂 We really needed someone like you in Python community to produce such crucial contents of software design architecture
Watched two of your videos, on dataclass in python and this asyncio in python. Both are awesome, super, educating and helpful, concise, and do well describe the topic. Usually I prefer articles in text just because it's faster to read. But these videos are just great. No wasted time. Thank you, will continue watching.
Also, I expected you create a "compound" message so that these actions can still be passed as a structure, something like those "program" veriables defined at the top.
I'm a bit late to the party, but this video actually made more sense to me than any other asyncio video/tutorial I've seen. Love the run_sequence vs run_parallel implementation, really helps differentiate between the two ways of running code.
Thank you sooooooooooooooooo much. Your videos always make me wonder why hundreds of books and tutorials and online articles I've read just cannot explain things clearly... Anyway... best wishes for you continuing creating awesome content
Thanks a lot ! Now I am going to use this knowledge to pararelly merge (average use case: 12 with base data) dataframes based on various conditions ! to speed things up ! You gave me confidence to wander into this unexplored territory !!
Thank you for this video! I had a suspicion that writing everything with "await" meany my code was essentially still synchronous. Now I understand what I need to do in order to make it actually async.
Yes please, more on asyncio with streams and queues! This was another great video -- really like the gradual build up of the examples to effectively highlight the underlying concepts.
I'd love more asyncio content. Identifying parts of the code to convert to ansyncio, how, why, where, etc, would be really helpful for me, personally. Thanks again for the quality content!
That last bit when you introduce helpers and enforce synchronous when you want to is what differentiates this tutorial from others. Because it’s super important to prevent race conditions in practice. Great work! (P.S.: The word parallel is IMO misleading because it’s just asyn but it’s not parallel but I can see why you chose that for the purpose of this video)
I really like the way how you structured simple program and while explaining problems and solutions, how and where to include async. @ 13:00 you nailing the hammer. Greetings from DK 😃
Thank you for the video, just in time:) I've got some libs I thought about of couple times to convert them to async, you just encouraged me to do so, I didn't realize that such conversion could be so simple
Great Content, thanks so much for the video. I'll be using this for setting up parallel command executions in my UI. I definitely want to see the follow up about other details of aysncio!
I'm having some previous knowledge of async in another language, but alone those two wrappers are just mind-blowing in their elegance and simplicity and use of Python syntactic sugar :O I'm sure my hobbyist scraping projects will benefit from that!
16:48 - My guess is that this probably the only video amongst the total collection of billions of TH-cam videos, which discusses the principle of "cleaning and flushing the toilet at the same time". And THAT is what I like about this channel!
Hoi Arjen, super goede tutorial over asyncio. Veel van geleerd wat direct toepasbaar is voor mijn dagelijks werk. Ben zeker geïnteresseerd in een follow-up. Dank voor het delen van jouw kennis en kunde!!
Hi Arjan. Excellent video. Brilliant concept of sequential and parallel operations working in unison. Thanks for your time and efforts. Please make the follow up video about Async streams, subprocesses, etc. and if possible, would love to see a video with your take on Async with HTTP requests.
Amazingly well served knowledge! Keep up the great work Arjan and YES we would want to see more async deep dive from you! In my company we work with a lot of data and mainly build batch and streaming data pipelines using Spark and Kafka. Recently we were faced with the situation where we had to use Faust (python stream processing library mainly built to mimic Kafka Streams for python developers) as a tool to consume Kafka topics and one challenge was (and still is) about how do we join streaming datasets in real-time. Unfortunately streaming joins are not supported in Faust and perhaps we would need to implement these ourselves. Our best candidate for this is indeed asyncio however we haven't yet investigated further how this will play out. Again great work. Everyone would love to see more deep dive on the topic!
Smart toilet, I would think it's be about water consumption/conservation, pre-heating based on sensors and various other gadgets that are found in more advanced toilets these days. One of the most funny and nice features I have run into when I lived in Japan, were public toilets that started to play forest sounds or classical music when you sat on the toilet, they also had flushing sound button. Apparently, many people were flushing the toilet just for the sound, to appear they had been using it, while they had been just resting/sleeping/doing something else. So to save water, they added a flush sound button xD ps. this same syntax works in C# as well, which is where they originate from
Your approach to conveying knowledge is on spot! Could you make some video covering "paralellism" with multiprocessing and how to scale it up? Maybe touching containers or clouds? Great content and thank you for such videos!
Really good video, but Can I make one recommendation, You should never use `Any` in a type annotation, it doesn't mean "any type" it means "don't type check this at all". I think it's a misunderstanding that many people unfamiliar with typing make, and I think it's not a good idea to use it in these kinda of demos as people will get the wrong idea about it's meaning. The correct way to type those functions would be: async def run_sequence(*functions: Awaitable[object]) -> None: for function in functions: await function async def run_parallel(*functions: Awaitable[object]) -> None: await asyncio.gather(*functions) The main purpose of `Any` is for migrating un-typed code, not for representing "any type".
Did you ever end up doing the follow-up video discussed here with the more in-depth features? This video (like all your videos) was great and I'd love to see more on this
Great video, again :) Gonna learn the asyncio basics now, i am doing some web scraping where this is gona be super helpful, and when i am done I hope there will be a folloup in depth asyncio tutorial from you :)
Thank you! Internally asyncio uses an event loop that handles the various asynchronous operations, callbacks after a network request has completed and so on, and this is all hidden behind the async/await syntax. It's not true parallelism (= executing multiple tasks at the same time), but it is concurrency (= multiple tasks are in progress at the same time).
Great Video!! I'd definitely would love to see more on this topic. I've seen other videos that use tasks and other stuff from the asyncio library. Your approach if much more understandable.
💡Here's my FREE 7-step guide to help you consistently design great software: arjancodes.com/designguide.
There is not a lot of material on queues, locks, etc. with asyncio on TH-cam. Certainly none showcased with using Python 3.10. I think a lot of people will benefit from seeing those synchronization primitives in use.
Loved the use of the sequential and "parallel" wrappers in this video. Very clean and readable.
Thanks Maurice, glad you enjoyed it!
@@ArjanCodes Great video. The use of semaphore to control the number of "threads" is an important concept in asyncio, if you decide to make a longer video about it.
@@ArjanCodes A quick question about that: why isn't the functions called in the sequential for loop (18:02)? It seems like the function, or callable objects, are just declared to be awaited, but newer invoked (adding a parenthesis after the name). Can you explain that I'm misunderstanding here?
P. S.: Thanks for the video, it's one of the best I've seen on the topic!
@@ondskabenselv I am a newbie in python but I guess arguments are not functions, or references to functions, they are "awaitables", something like "promises" in js. I think it's a result of async function, but it's not a final result but a proxy object that keeps information on how long does it take to wait until it is ready. The result of async function is that medium object, and such objects, called "awaitables" are passed, not function references. That's why we don't have to call it and add parenthesis.
I followed another tutorial from him... his content is extremely detailed and well explained.
Wow! Finally async makes sense to me. I've been trying to learn about it, but it just wouldn't click with any other video/article. This was the one that finally got me to understand it enough to use it. Thank you so much! I definitely would be interested in seeing you dive more into async and see what can be possible with it.
Thanks, glad to hear it was helpful!
Would DEFINITELY appreciate it if you did follow-ups to asyncio. Maybe even one on threading.
Also, I am very, very thankful for your channel. When I first found your channel I was a lone developer at a company that did not have the guidance of a senior engineer. I knew quite a lot but my fundamentals were horrendous even though I had the breadth of knowledge. I was looking for a job because I knew I was lacking in depth and wanted to find a place where I could grow my ability. I began using your techniques in my take-home assessments and ultimately landed a job as a mid-level and it is 100000000000% because of you. I do watch your channel less because I'm learning a lot from the new company, and it's also in blockchain and that's another topic I'm learning a lot about as well. Anyway, wanted to say You're great and I can't believe you already have 50,000+ subscribers in less than a year. Great stuff. They use asyncio and some threading, so for old times sake...teach me. :)
Merry Christmas and hope you have a happy new year.
Hi Gamal, that’s amazing! I’m so happy for you that you were able to make such a meaningful move in your career. I feel honored that my videos have helped you get there. Have a great holiday as well, and feel free to come back for more videos any time ;).
Threads are a very complex and wide subject, not to mention there's many methods of implementation - multiprocessing, QThreads for Qt etc.
@@ArjanCodes great and impressive content. Please make more videos on python asyncio or even a project on it
Here's another vote for more on async. I enjoy your approach to explaining things and using examples. Very helpful. Keep up the great work, Arjan!
Thank you and will do, Paul!
Excellent explanation! Thanks.
I'd love more async content. It's hard for many to understand and I think this is helpful.
Thank you Beau. There's more to come!
It’s been said a lot, but I’m just going to reiterate that this is the video which finally made async click!
I couldn’t understand when or how to use the “gather” function, nor what it really does. You are the only one that realized how helpful & instructional it would be to show a full code still works synchronously when you have “await” everywhere, and that the “gather” function works by “gathering” all those awaits into a single call. This is what finally bridged the gap for me.
I really appreciate all your content and think your videos have done the most to improve my skills in the past 4 months!
The last speaker sequence you added:
Turn on and play music
You had the switch off speaker call also in that run_parallel call so it is possible for the switch off to run after the turn on call or before it.
I usually don't like "toy" examples, but you've made it so much sense with this one and clarified a somewhat obscure topic in python that now I see the value in them. Thank you!
Glad it was helpful!
This is my absolute favorite channel when it comes to coding tips... Everything is fantastic. So glad I found it this week
Loving the light humor that's in always present somewhere in your videos.
This is an outstanding Video ! Thank you putting it all together. More than just explaining async, the helper functions really tie it all together.
Thank you Tom, glad you liked it!
I would be super interested on a follow-up video on async queues and processes.
Me too!
This is the best Video on Python asyncio i have ever Seen. And i have Seen a Lot of them trying to understand this topic. You are a Genius Arjan. Finally i think i understand it. Keep the Videos in this topic coming, since i believe there is a lot more to learn.
Wow, thanks Florian! Glad the video was helpful.
Asyncio is amazing. Incredibly practical when you have complex synchronous code and now need to run certain functions asynchronously.
I love the way how you show it first and then optimize it. Penetrates through the head.
Glad you liked it!
Thanks Arjan for hearing me out and creating the video (I requested for asyncio through one of my comment 7-8 months back, I think in some exception handling video:)).
There are lots of materials on asyncio, but this one is the best and single place to have all information to handle asyncio in Pythonic way. Appreciate it.
Glad to hear you liked it! Indeed, you were one of the commenters mentioning this. If you have other great suggestions, do let me know ;).
I was looking at asyncio a few days ago to improve an internal application at work, and this video was published the same day! I really liked the way you have presented it and I would really like a follow-up video on more advanced async topic.
Thanks you for your videos, they are always interesting!!
Glad it was helpful!
Hi Arjan, this is by far the BEST python channel on youtube. I really love you videos. thank you so much for sharing your knowledge!
Thank you so much, glad you like the videos!
Thank you for the great content, that helps thousands of people, including me, understand complex subjects in a spare time
Small tip for VSC, if you want to write something across multiple lines you can use multiple cursors by holding ALT and clicking on the spot of the line you wish to write. Love your vids by the way
I got a lot out of this tutorial. Please keep going with the async series! Bravo
Thanks, will do!
A Very high quality guide as always. I think even most of people explaining cooperative multitasking don't have a comprehensive knowledge of field and barely know why they do something but just talking about boilerplate examples. Therefore please go on with more advanced approaches about the topic. That would be a real treasure.
I enjoyed the video a lot. thanks Arjan🙂 We really needed someone like you in Python community to produce such crucial contents of software design architecture
Watched two of your videos, on dataclass in python and this asyncio in python. Both are awesome, super, educating and helpful, concise, and do well describe the topic. Usually I prefer articles in text just because it's faster to read. But these videos are just great. No wasted time. Thank you, will continue watching.
Also, I expected you create a "compound" message so that these actions can still be passed as a structure, something like those "program" veriables defined at the top.
I was just about to start reading up on asyncio today and just ran into this video (the only one on your channel I haven't watched): Thanks Arjan!
You're welcome, Albert! This Friday, there'll be another video you haven't watched yet ;).
amazing! I have seen a lot of videos on youtube about asyncio, this is the best, clearest explanation I have seen!
I'm a bit late to the party, but this video actually made more sense to me than any other asyncio video/tutorial I've seen. Love the run_sequence vs run_parallel implementation, really helps differentiate between the two ways of running code.
Thank you sooooooooooooooooo much. Your videos always make me wonder why hundreds of books and tutorials and online articles I've read just cannot explain things clearly... Anyway... best wishes for you continuing creating awesome content
Thanks a lot ! Now I am going to use this knowledge to pararelly merge (average use case: 12 with base data) dataframes based on various conditions ! to speed things up ! You gave me confidence to wander into this unexplored territory !!
You’re welcome and good luck - sounds challenging, so let me know how it goes!
Thank you for this video! I had a suspicion that writing everything with "await" meany my code was essentially still synchronous. Now I understand what I need to do in order to make it actually async.
Glad the video was helpful in your endeavors!
Always love your videos, from start to finish you cover the topic thoroughly. Thank you.
Thank you so much Arjan! I had requested a video on asyncio a few months back. This was a great intro that helped me understand how to implement it.
This was the best asyncio video I have seen. Looking forward to that follow-up video. :)
Yes please, more on asyncio with streams and queues! This was another great video -- really like the gradual build up of the examples to effectively highlight the underlying concepts.
Finally a good tutorial on asyncio!
It finally clicked for me.
Glad to hear you liked it!
After a couple of tutorials, async makes sense to me with. Thanks a lot, Arjan!
Happy to hear you found it helpful!
I'd love more asyncio content. Identifying parts of the code to convert to ansyncio, how, why, where, etc, would be really helpful for me, personally.
Thanks again for the quality content!
That last bit when you introduce helpers and enforce synchronous when you want to is what differentiates this tutorial from others. Because it’s super important to prevent race conditions in practice. Great work! (P.S.: The word parallel is IMO misleading because it’s just asyn but it’s not parallel but I can see why you chose that for the purpose of this video)
Thanks for the video! Now python async/await is much more clear to me!
Great video Arjan! Please make more videos abour the asynchio
Will do!
Great asyncio introduction!! Looking forward to the follow up video 😊
As usual great video. Here is another vote for follow up on Asyncio.
I really like the way how you structured simple program and while explaining problems and solutions, how and where to include async. @ 13:00 you nailing the hammer. Greetings from DK 😃
Thank you, glad to hear you liked it!
Great video, Arjan. I would be interested in more videos about this topic.
Thank you for the video, just in time:) I've got some libs I thought about of couple times to convert them to async, you just encouraged me to do so, I didn't realize that such conversion could be so simple
Great Content, thanks so much for the video. I'll be using this for setting up parallel command executions in my UI.
I definitely want to see the follow up about other details of aysncio!
Unfortunately many don't understand the concept of flushing toilets. Joking! Nice explanation and awesome content!
I'm having some previous knowledge of async in another language, but alone those two wrappers are just mind-blowing in their elegance and simplicity and use of Python syntactic sugar :O I'm sure my hobbyist scraping projects will benefit from that!
Wonderful video Arjan!!
Great video, I suggest adding timer so that we actually see the speed improvement.
Awesome, many thanks for that video. It will be very nice to follow up video with some more advance features of asyncio
Thanks for the video. Loved the simplicity with which this was explained. Would love to see async and streaming video.
16:48 - My guess is that this probably the only video amongst the total collection of billions of TH-cam videos, which discusses the principle of "cleaning and flushing the toilet at the same time".
And THAT is what I like about this channel!
It’s the minimum requirement for writing clean code 😉.
Great video as always Arjan, keep up the good work!!
Thanks a lot, would love that follow up video please
Yes please. More Asynchronous!
Excellent program design and explanation. I watch one of your videos/day, Thank you so much for your videos.
Glad you like them!
nice tutorial. thanks for posting this. this was crisp and clear.
Hoi Arjen, super goede tutorial over asyncio. Veel van geleerd wat direct toepasbaar is voor mijn dagelijks werk. Ben zeker geïnteresseerd in een follow-up. Dank voor het delen van jouw kennis en kunde!!
Dankjewel :)
Definitely would like to see more of asyncio
Hi Arjan. Excellent video. Brilliant concept of sequential and parallel operations working in unison. Thanks for your time and efforts. Please make the follow up video about Async streams, subprocesses, etc. and if possible, would love to see a video with your take on Async with HTTP requests.
One of the cleanest explinations.
Brilliant, clear and concise.
Aysnc in Python is much easier to understand now. Thanks!
Would love to see the follow up video with more advanced stuff.
Congrats on 100k - well played sir !
Thank you so much
nice video. a little vscode tip: you can select one part of code which is repeated many times and use F2 for multi cursor and edit them at
Thanks and great tip!
Its really useful, but I guess its more for functions calls or variables which you want to rename
Amazingly well served knowledge! Keep up the great work Arjan and YES we would want to see more async deep dive from you!
In my company we work with a lot of data and mainly build batch and streaming data pipelines using Spark and Kafka. Recently we were faced with the situation where we had to use Faust (python stream processing library mainly built to mimic Kafka Streams for python developers) as a tool to consume Kafka topics and one challenge was (and still is) about how do we join streaming datasets in real-time. Unfortunately streaming joins are not supported in Faust and perhaps we would need to implement these ourselves. Our best candidate for this is indeed asyncio however we haven't yet investigated further how this will play out.
Again great work. Everyone would love to see more deep dive on the topic!
Glad you liked it! I’ll certainly revisit asyncio in the future!
Who wants follow up?? 🤚🤚🤚
yes please dive more into asyncio
Smart toilet, I would think it's be about water consumption/conservation, pre-heating based on sensors and various other gadgets that are found in more advanced toilets these days. One of the most funny and nice features I have run into when I lived in Japan, were public toilets that started to play forest sounds or classical music when you sat on the toilet, they also had flushing sound button.
Apparently, many people were flushing the toilet just for the sound, to appear they had been using it, while they had been just resting/sleeping/doing something else. So to save water, they added a flush sound button xD
ps. this same syntax works in C# as well, which is where they originate from
Really helped clear some confusions I had about async programming 👍keep up the awesome videos
Díky!
Nemáš zač!
absolutely amazing explanation as well as selected example
Thank you for the kind words! Glad I was able to help.
Arjan! You’re the best.
Thanks so much!
Perfect video, one small point is things are not parallel they are just concurrent
Your approach to conveying knowledge is on spot!
Could you make some video covering "paralellism" with multiprocessing and how to scale it up? Maybe touching containers or clouds?
Great content and thank you for such videos!
I've seen a lot of asyncio vids and this was great!
Thanks Kyle!
Thanks Arjan. Good introduction on asyncio. We definitely need more videos on this topic. Maybe doing error handling with monads :-) ?
What an amazing explanation Arjan. Thank you so much!
Thank you Douglas, glad you liked it!
this is a really great video Arjan! Loved it. Thanks so much!
Thanks, glad you liked it!
@@ArjanCodes if you haven't already can you do a video on GraphQL (graphene) and Unit Testing? Would love to see that!
It's a very professional video class... Congratulations!!
Thank you, glad you liked it!
Wow! This video is awesome! Thank you for sharing your knowledge it with us.
Outstanding video mate, thanks for that :)
Glad you enjoyed it
Really well presented with good explanations.
Hi Arjan, great content!.
Thank you so much Dario!
Really good video, but Can I make one recommendation, You should never use `Any` in a type annotation, it doesn't mean "any type" it means "don't type check this at all". I think it's a misunderstanding that many people unfamiliar with typing make, and I think it's not a good idea to use it in these kinda of demos as people will get the wrong idea about it's meaning.
The correct way to type those functions would be:
async def run_sequence(*functions: Awaitable[object]) -> None:
for function in functions:
await function
async def run_parallel(*functions: Awaitable[object]) -> None:
await asyncio.gather(*functions)
The main purpose of `Any` is for migrating un-typed code, not for representing "any type".
Thank you! Very interesting and informative!
Thanks for explanation, vote for next video about "Asyncronicity" :)
Did you ever end up doing the follow-up video discussed here with the more in-depth features? This video (like all your videos) was great and I'd love to see more on this
Thank you so much for this clear and practical explanation! It's really helped things to click for me.
Great video! Please do more videos about asyncio, specially stuff like ensure_future etc.
Need more of Async!
Very detailed and accurate explanation of threads VS asyncio !
It would be interesting to watch some video devoted to queues with Kafka, Redis
Thanks for the great tutorials ... I'm just a beginner but yeps looking forward to more information of queues, locks, etc. with asyncio.
Thank you, glad to hear you like them!
This was really good, thanks. Would be interested in seeing a deeper dive in the future. Maybe another async program or a code roast of one.
Great video, again :) Gonna learn the asyncio basics now, i am doing some web scraping where this is gona be super helpful, and when i am done I hope there will be a folloup in depth asyncio tutorial from you :)
Glad it was helpful Petr! I did a follow-up recently you might like as well: th-cam.com/video/GpqAQxH1Afc/w-d-xo.html.
Thanks! I'm 'await' for more videos about async ))
Finally, great async Python video. One question: running in parallel means running those methods each on different thread?
Python does not support true parallelism
Thank you! Internally asyncio uses an event loop that handles the various asynchronous operations, callbacks after a network request has completed and so on, and this is all hidden behind the async/await syntax. It's not true parallelism (= executing multiple tasks at the same time), but it is concurrency (= multiple tasks are in progress at the same time).
Great Video!! I'd definitely would love to see more on this topic. I've seen other videos that use tasks and other stuff from the asyncio library. Your approach if much more understandable.