Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrismckenzie/gette-rs
Rust library for getting "things"
https://github.com/chrismckenzie/gette-rs
Last synced: 29 days ago
JSON representation
Rust library for getting "things"
- Host: GitHub
- URL: https://github.com/chrismckenzie/gette-rs
- Owner: ChrisMcKenzie
- Created: 2023-10-17T00:16:21.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-31T13:48:02.000Z (about 1 year ago)
- Last Synced: 2024-04-14T15:13:23.791Z (7 months ago)
- Language: Rust
- Homepage:
- Size: 51.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gette-rs: Rust Downloader Library
![Rust Version](https://img.shields.io/badge/Rust-1.73%2B-green.svg)
![rust](https://github.com/ChrisMcKenzie/gette-rs/actions/workflows/rust.yml/badge.svg)Gette-rs is a versatile and high-performance Rust library designed for downloading files from various sources, including local files and cloud blob stores. This library is intended for developers who need a reliable and efficient way to fetch data from a wide range of sources while maintaining Rust's safety and performance standards.
## Features
- **Source Agnostic**: Gette-rs supports multiple sources, including local files, Amazon S3, Azure Blob Storage, Google Cloud Storage, GIT, and HTTP/HTTPS URLs.
- **Asynchronous**: Take full advantage of Rust's asynchronous capabilities for concurrent and non-blocking operations.
- **Error Handling**: Robust error handling to ensure the integrity of your downloads.
- Extensible: Easily extend Gette-rs to support additional sources and protocols. [Extending Gette-rs](https://docs.rs/gette/latest/gette/trait.Getter.html#extending-gette)
## Getting Started
Add Gette-rs to your project's `Cargo.toml`:
```toml
[dependencies]
gette = "0.1"
```### Basic Usage
Downloading a file is straightforward with Gette-rs:
```rust
use gette::RequestBuilderfn main() {
let dest = "/tmp/readme.md";
let source = "test-bucket.amazonaws.com/test.txt";
// this will automatically download the file from s3 to the local file system
let builder = RequestBuilder::builder().src(source.to_string()).dest(dest).get().await.unwrap();
println!("File downloaded successfully!");
Ok(())
}
```For more advanced usage, including cloud storage integration, please refer to the [official documentation](https://docs.rs/gette).
## Contributing
Gette-rs is an open-source project, and we welcome contributions from the community. If you find a bug, have a feature request, or want to contribute code, please file an issue/PR.
## Contact
If you have questions or need assistance, feel free to contact us via [email](mailto:[email protected]) or [open an issue](https://github.com/ChrisMcKenzie/gette-rs/issues).
---
Thank you for choosing Gette-rs! We hope this library serves you well in your Rust project. Your feedback and contributions are highly appreciated.