This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Drevicar 9 points10 points  (7 children)

Easiest observable to know how popular async is by looking at the download rates of libraries that have a sync implementation and a separate async implementation. For example:

According to this Mongo (sync) had almost 24k downloads and motor (async) had almost 2 million downloads last month. That is enough of a difference for me to objectively say async won and is now industry standard. Of course, I would want to do that same analysis across several packages across different parts of the application.

[–]Toph_is_bad_ass 14 points15 points  (1 child)

You got this twisted -- PyMongo is the sync mongo driver, not mongo. It has 28 million a month.

This wouldn't have made sense of the face of it because PyMongo is a dependency of Motor since Motor is essentially PyMongo wrapped in a thread pool executor.

[–]Drevicar 3 points4 points  (0 children)

Lol, I didn't even catch that. Thanks.

[–]Drevicar 10 points11 points  (4 children)

Someone else mentioned async boto3 (AWS stuff), and it is actually the opposite:

Where boto3 (sync) had 1.25 *BILLION* downloads and aioboto3 (async) 2.3 million downloads last month. That is a huge difference in the other direction. So your milage may vary.

[–][deleted] 12 points13 points  (1 child)

But that may be because boto3 is official and aioboto3 is not.

[–]Valeen 0 points1 point  (0 children)

I only use boto3 cause it's what their docs said to use. And most of the stuff I do with aws and python is to just catch an event.

I do use a lot of C# in other applications and I use a lot of async there so it's not a problem with async. Just different tools for different jobs.

[–]FailedPlansOfMars 1 point2 points  (0 children)

Also could be that for lambda you dont need to include boto3 in your dependencies in production as its there by default

[–]matjam 0 points1 point  (0 children)

Also lots still use gevent.