flume
reqwest
Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
flume | reqwest | |
---|---|---|
13 | 55 | |
1,986 | 8,344 | |
- | - | |
0.0 | 8.3 | |
11 days ago | 2 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
flume
- pub/sub Event bus in rust
-
Is there any part of the Standard Library that really impresses you?
I also like flume, it has impressive performance (although not the best). More importantly, it's written only with safe rust. https://github.com/zesterer/flume
-
appreciating fearless concurrency
The most commonly suggested replacement for mspc is crossbeam-channel; flume is also relatively popular.
-
Rust has a small standard library (and that's ok)
It's not officially deprecated, but the alternatives on crates.io are considered better. flume and crossbeam-channel feature less unsafe code and offer better performance. Benchmarks.
-
Why are so many important features not in standard library yet?
it's slow (checkout flume's benchmarks for example)
-
A mini-Erlang/Elixir -- tell me if/why my idea sucks
For concurrency/parallelism, you launch at most 2 * CPU Cores, PIN them and use a fast broker to spread the task (like a ring buffer or an MPSC). But you keep linear scan, tight loops, SIMD friendly data, on each. You are not switching context that much, and instead, bet you will process the batch fast. (CPUs are fast today!)
- Whats your favourite open source Rust project that needs more recognition?
-
PlaintDB Serves - another milestone reached
First, I was becoming more and more confident that the channel library Daxpedda and I fell in love with, flume, was misbehaving, but I couldn't seem to reproduce it outside of the massive PliantDB codebase. I finally called up Daxpedda on Discord and screen shared my debugging session, showing him how the tests succeeded if I retained a channel. If I allowed the sender to drop after successfully sending, sometimes the tests would fail. He agreed, something was odd. It took me a while, but I finally whittled it down to about 30 lines of code and reported the issue. In an amazingly quick fashion, the maintainer fixed the issue and released an update. And for the record, I still fully love and recommend this library if you're mixing async and non-async code using channels. It's a wonderful implementation.
-
single-producer single-consumer concurrent queue
Sort of? Here's the closest thing you'll probably find: https://crates.io/crates/flume
-
Hey Rustaceans! Got an easy question? Ask here (6/2021)!
My first try was with flume, which uses a single producer, multi-consumer setup, and while it compiles and runs, it's magnitudes slower than the serial version. Here's a psuedocode rendition:
reqwest
-
ReductStore 1.6.0 has been released with new license and client SDK for Rust
ReductStore was rewritten from C++ to Rust a few months ago. We are delighted to be part of the Rust community and have taken a new step towards Rust with the Client SDK. The SDK is powered by reqwest and enables asynchronous integration of the database into Rust applications:
-
Rust dependency woes
From what I could turn up when googling the specific error lines (here), it has something to do with the crate mio not having support for WASM, but I don’t understand what’s being said on this thread.
-
Authentication system using rust (actix-web) and sveltekit - Automated testing
When starting out, we made some design decisions at the backend. The decision will allow us to independently test the service without interfering with the real application using a term called integration testing. We'll utilize two "dev" packages: reqwest and fake. Dev dependencies only get introduced into your application in development or during testing. In production, they are not included:
-
Becoming Rustacean:Awesome Free Online Resources to Learn Rust Programming
Rust allows me to mainly only run the application to confirm things work from a business perspective.
For people starting out building stuff in rust - understand that there is a distinction of async code and libraries and can lead to confusing compiler errors if you don't realize there is a distinction. It's simple in hindsight but did cause me to waste hours barking up the wrong trees at first. Other wise just learn about `match` and Result/Option types asap, they're fundamental.
https://github.com/http-rs/tide tide is great to create an http server / routes
https://github.com/djc/askama I use this to template out HTML and it checks all my boxes, dynamic data, passing in functions, control flow.
https://github.com/launchbadge/sqlx sql interface for a variety of backend, async safe.
https://github.com/seanmonstar/reqwest http client to make requests
Rust is amazing, don't let the initial few speed bumps discourage you - building real things with rust is no more challenging today than any other modern language stack.
-
This Month in hyper: March 2023
Is there any this month in reqwest? I would like to show my interest in https://github.com/seanmonstar/reqwest/issues/39
-
You Have Mail: Email Notification on Android without Google Play Services
Reqwest for HTTP connections
-
Announcing diff.rs!
It works by fetching a crate's metadata from crates.io, downloading the sources using reqwest, uncompressing them using flate2, extracting them (using tar), and finally rendering a diff (using similar). In the UI you can switch between different versions of the crate to diff against and it also has a search bar to enter the crate name.
-
Reqwest tutorial
I am wondering this, too. Making a request is mostly about one line of code and as you said it is documented and the documentation refers to examples.
request
-
I made a site that tracks the price of eggs at every US Walmart. The most expensive costs 3.4X more than the cheapest.
In total for scraping: reqwest, tokio, and scraper-main. Those are I use to get the scraping started.
What are some alternatives?
hyper - An HTTP library for Rust
curl-rust - Rust bindings to libcurl
ureq - A simple, safe HTTP client
Rocket - A web framework for Rust.
surf - Fast and friendly HTTP client framework for async Rust
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
tokio-tungstenite - Future-based Tungstenite for Tokio. Lightweight stream-based WebSocket implementation
yew - Rust / Wasm framework for creating reliable and efficient web applications
curl-rs - A curl(libcurl) mod for rust.
async-std - Async version of the Rust standard library
warp - A super-easy, composable, web server framework for warp speeds.