opendal
rust-playground
opendal | rust-playground | |
---|---|---|
10 | 71 | |
2,858 | 1,174 | |
2.5% | 1.8% | |
9.9 | 9.5 | |
2 days ago | 14 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.
opendal
-
Welcome to Apache OpenDAL
Sounds likely.
The core part of OpenDAL is a Rust crate that provides fs-like APIs over different storage backends, but we also investigate providing other interfaces like a CLI. We have an experimental binary named `oli`[1].
You're welcome to start a discussion[2] to share how you use rclone and we may find it fit in OpenDAL's scope :D
[1] https://github.com/apache/incubator-opendal/tree/main/bin/ol...
-
Hey Rustaceans! Got a question? Ask here (49/2023)!
[profiles.mys3] type = "s3" region = "us-east-1" access_key_id = "foo" enable_virtual_host_style = "on" ``` The team at Opendal wrote a handcrafting config parser for the same use case, see. Since parsing configs in toml or json is a standard functionality, is there any recommended way?
-
Ask HN: Experience using your user's Google Drive instead of a database?
I've often felt we need an abstraction for just this. "Bring your own storage" so that you can sign up and provide a "bucket", then the service will write to that.
OpenDAL was on HN recently and would be a pretty decent abstraction to use for this: https://github.com/apache/incubator-opendal
-
Rust std:fs slower than Python
Totally unrelated but: this post talks about the bug being first discovered in OpenDAL [1], which seems to be an Apache (Incubator) project to add an abstraction layer for storage over several types of storage backend. What's the point/use case of such an abstraction? Anybody using it?
[1] https://opendal.apache.org/
-
S3 as the Storage Layer
https://github.com/apache/incubator-opendal
- Apache OpenDAL: A unified data access layer
- Apache OpenDAL
-
Way to Go: OpenDAL successfully entered Apache Incubator
A new big event in a few weeks, this may be the first project whose primary language is Rust to enter the Apache incubator. OpenDAL originated from the vision of creating a universal, unified and user-friendly data access layer. It came into being in late 2021, initially as a component of the Databend project.
-
[Need inspiration] Building the control plane of a search engine (Quickwit)
I was reading through the code of databend: https://databend.rs/ It's a "wrapper" over datafusion and does a lot of similar things to Quickwit. And yeah, to drive the index cluster they rely on https://github.com/datafuselabs/openraft && https://github.com/datafuselabs/opendal. I'd be interested about you thoughts on the project if you've already heard about it too.
-
[Announcement] Databend v0.7.0 Released!
Announce OpenDAL for object storage data access
rust-playground
-
Rust: Box Is a Unique Type
If you have an object that's !Unpin, then Miri will not apply uniqueness rules to anything containing it [0], including boxes and &mut references. (In the example code, replacing the PhantomPinned with a () will make Miri complain again.) This is considered a temporary (if long-lived) measure to allow async executors to manipulate pinned futures without invalidating all their references and whatnot. Thus, it might be seen as undetected UB, in lieu of a permanent solution.
[0] https://play.rust-lang.org/?version=stable&mode=debug&editio...
-
Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
That would be true if you used `Vec::clear` too, it doesn't allocate a new vector. My point was that you still end up running Drop implementations with RepeatedField, just not all at once. See https://play.rust-lang.org/?version=stable&mode=debug&editio...
- Xz: Can you spot the single character that disabled Linux landlock?
-
How to Lose Control of Your Shell
That's a valid Unix path, but rust's quoting does nothing to stop it: https://play.rust-lang.org/?version=stable&mode=debug&editio...
-
Borrow Checking Without Lifetimes
Self-referential structs work fine in Rust and always have.
https://play.rust-lang.org/?version=stable&mode=debug&editio...
The compiler will correctly prevent you from moving the value.
The other way to have a struct that starts out as non-self-referential and then becomes self-referential can be achieved with `unsafe` and `Pin::new_unchecked`, which is how `async {}` is handled.
-
Improving Interoperability Between Rust and C++
In rust as currently stands: https://play.rust-lang.org/?version=stable&mode=debug&editio...
On the other hand, both this wrapper and yours are counterproductive if the element size is dynamic (e.g. perhaps you're dealing with some nonsense like:)
struct ITableColumn {
-
New Linux glibc flaw lets attackers get root on major distros
Overflow checks turn into two's compliments' wrapping, but that's only considered acceptable because bounds checks are not turned off.
https://play.rust-lang.org/?version=stable&mode=release&edit...
-
Atomics and Concurrency
I have no idea what you're talking about, but it sounds unnecessarily complicated and why I don't use Rust for any serious work.
This demonstrates the ABA problem in safe Rust: https://play.rust-lang.org/?version=stable&mode=debug&editio...
Substitute the sleep with a combination of doing computation/work and the OS thread scheduler, and you can see how the bug surfaces.
-
Rust 🦀 Installation + Hello World
You can also try Rust online using the Rust playground: https://play.rust-lang.org/
-
4B If Statements
(Click ... beside build to get assembly) https://play.rust-lang.org/?version=stable&mode=release&edit...
Unfortunately the go playground doesn't seem to support emitting assembly?
What are some alternatives?
databend - 𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
openraft - rust raft with improvements
trunk - Build, bundle & ship your Rust WASM application to the web.
s3s - S3 Service Adapter
mdBook - Create book from markdown files. Like Gitbook but implemented in Rust
fluvio - Lean and mean distributed stream processing system written in rust and web assembly.
Rocket - A web framework for Rust.
dilbert-viewer - A simple comic viewer for Dilbert by Scott Adams
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
storage - A vendor-neutral storage library for Golang: Write once, run on every storage service.
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.