Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 async-await Open-Source Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ActionHero
Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
-
lad
Node.js framework made by a former @expressjs TC and @koajs team member. Built for @forwardemail, @spamscanner, @breejs, @cabinjs, and @lassjs.
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
-
promises-training
Practice working with promises through a curated collection of interactive challenges. This repository provides a platform to refine your skills, complete with automated tests to to give you instant feedback and validate your progress.
-
basic-ftp
FTP client for Node.js, supports FTPS over TLS, passive mode over IPv6, async/await, and Typescript.
-
aiomonitor
aiomonitor is module that adds monitor and python REPL capabilities for asyncio application
-
feather
Feather is a modern Swift-based content management system powered by Vapor 4. (by FeatherCMS)
-
posterus
Composable async primitives with cancelation, control over scheduling, and coroutines. Superior replacement for JS Promises.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I wound up on a different team with pre-existing Python code so temporarily shelved my use of Go for a bit, and we used Sanic (an async Python framework built on top of the excellent uvloop & libuv that also powers Node.js) to build some APIs for live channel management & operations. We hand-wrote our OpenAPI and used it to generate documentation and a CLI, which was an improvement over what was there (or not) before. Other teams used the OpenAPI document to generate SDKs to interact with our service.
But maybe check out the discussion here https://github.com/async-rs/async-std/pull/631 or something (the blog post was linked on the end of it)
PS: You may want to look at the other in-memory concurrency structures available. You may find something that perfectly fits the specific problem you are trying to solve. https://learn.microsoft.com/en-us/dotnet/api/system.threading?view=net-7.0, https://learn.microsoft.com/en-us/dotnet/api/system.collections.concurrent?view=net-7.0, and https://github.com/StephenCleary/AsyncEx
PS: Take a look at cppcoro; this might help as well, especially generator<>, if you're looking to generate numbers, and stuff;
Project mention: Dynarust - no excuse for not using rust in AWS now - a DynamoDB ODM library that uses serde_json for mapping native rust structs to Dynamo items. | /r/rust | 2023-06-26I have found that the combination of [cargo lambda](https://github.com/cargo-lambda/cargo-lambda), [async graphql](https://github.com/async-graphql/async-graphql) and DynamoDB is an amazing combination for a backend stack, really cheap as lambdas are pretty minimal and insanely fast with the Rust runtime.
I am using concurrencpp for my project. What I like about it is that it's basically a thread pool factory with coroutines. It allows for better structuring / organizing of multithreaded work. So for me the main advantage of coroutines is that the code looks easier to follow
I feel like this misses the reason I like extension methods: discoverability.
With an extension method, I can do `object.` and my IDE will tell me what can be called on object. With a static helper method, it isn't as easy to know what is available. I need to know which helpers actually exist.
Since this doesn't have IDE support, it doesn't help discoverability. I'm not going to get nice autocomplete that shows me what is available. In fact, my IDE is going to highlight it as a bug. If I have a spelling mistake, I won't be able to easily pick it up - I'll assume it's just the normal complaint for all of these fluent extension methods.
That makes this simply syntactic sugar rather than something that actually helps me discover things more easily. It then hurts readability and navigation since I can't easily click through to get the definition of the method.
On a more general note about Java, things like this are one of the reasons I don't love the Java ecosystem. People try to change the behavior of Java in really hacky ways that don't work well. I understand that it's an attempt to overcome shortcomings in the language, but when one looks other languages it becomes clear that Java could have just evolved the language to be better. Java has lots of good things and I'm not looking to argue that. However, when I look at things like this, it makes me think that Java needs to really address the core language.
Instead, we get lots of tools like this which might be nice, but make it really hard to understand what's going on. Electronic Arts created an async/await library that'll do crazy stuff to let you do async/await style programming (https://github.com/electronicarts/ea-async). Yes, Java is doing good things with structured concurrency and Project Loom, but the point is how people keep trying to work around the language. There are so many POJO generators it isn't funny: AutoValue, Immutables, JodaBeans, Lombok, and more I'm probably forgetting. Java records don't fulfill everything (and they're at least a decade late). Java doesn't support expression trees for lambdas so libraries sometimes do crazy hacky things to make that exist.
Java is a great piece of technology, but it feels like people are often trying to overcome issues with the language through really hacky means in a way that I don't see in other languages. Java is getting better about modernizing the language, but it still feels like people are running against the language more than in other ecosystems.
Project mention: Promises Training: Practical Exercises on Promises in JavaScript | /r/hackernews | 2023-11-25
async-await related posts
-
Effection 3.0 – Structured Concurrency and Effects for JavaScript
-
trio VS awaits - a user suggested alternative
2 projects | 9 Dec 2023 -
awaits VS aioify - a user suggested alternative
2 projects | 9 Dec 2023 -
Promises Training: Practical Exercises on Promises in JavaScript
-
Concurrencpp – a C++20 library for coroutines and executors
-
Comparing asio to unifex
-
Do you think the current asynchronous models (executors, senders) are too complicated and really we just need channels and coroutines running on a thread pool?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 2 May 2024
Index
What are some of the best open-source async-await projects? This list will help you:
Project | Stars | |
---|---|---|
1 | uvloop | 10,006 |
2 | trio | 5,895 |
3 | promise-fun | 4,577 |
4 | async-std | 3,836 |
5 | AsyncEx | 3,415 |
6 | cppcoro | 3,235 |
7 | async-graphql | 3,216 |
8 | await-to-js | 3,168 |
9 | ActionHero | 2,389 |
10 | EventFlow | 2,318 |
11 | lad | 2,260 |
12 | concurrencpp | 2,058 |
13 | ea-async | 1,362 |
14 | p-map | 1,227 |
15 | then🎬 | 987 |
16 | SwiftCoroutine | 832 |
17 | promises-training | 720 |
18 | Coerce-rs | 671 |
19 | basic-ftp | 644 |
20 | aiomonitor | 623 |
21 | feather | 594 |
22 | posterus | 550 |
23 | ue5coro | 497 |
Sponsored