3 releases

new 0.1.2 Apr 9, 2025
0.1.1 Apr 6, 2025
0.1.0 Apr 5, 2025

#635 in Asynchronous

Download history 228/week @ 2025-04-02

228 downloads per month

MIT/Apache

170KB
3K SLoC

stream-download-opendal

crates.io docs.rs Dependency Status license CI codecov GitHub repo size Lines of Code

stream-download-opendal provides integration between stream-download and opendal.

OpenDAL is a data access layer that supports data retrieval from a variety of storage services. The list of supported services is documented here.

Example using S3

 use std::error::Error;

 use opendal::{Operator, services};
 use stream_download::storage::temp::TempStorageProvider;
 use stream_download::{Settings, StreamDownload};
 use stream_download_opendal::{OpendalStream, OpendalStreamParams};

 #[tokio::main]
 async fn main() -> Result<(), Box<dyn Error>> {
     let mut builder = services::S3::default()
         .region("us-east-1")
         .access_key_id("test")
         .secret_access_key("test")
         .bucket("my-bucket");

     let operator = Operator::new(builder)?.finish();
     let stream = OpendalStream::new(OpendalStreamParams::new(operator, "some-object-key")).await?;

     Ok(())
 }

Dependencies

~14–26MB
~385K SLoC