shepherd-rs

Crates.ioshepherd-rs
lib.rsshepherd-rs
version0.2.0
created_at2025-06-11 14:21:18.291314+00
updated_at2025-08-23 10:04:20.229467+00
descriptionShepherd is a resilient, non-blocking orchestrator that persistently transforms and delivers data—built for remote, compute-heavy workloads.
homepagehttps://github.com/supragya/shepherd-rs
repositoryhttps://github.com/supragya/shepherd-rs
max_upload_size
id1708621
size682,656
Supragya Raj (supragya)

documentation

README

shepherd-rs logo

Shepherd Framework

An scheduler framework that reliably undertakes data transformation and submission of results with perseverance.

Overview

The scheduler framework is designed to:

  • Retry Mechanism: Ensure reliable transformation and submission of data by retrying tasks until completion.
  • Non-blocking Architecture: Handle compute-heavy tasks efficiently, especially when data transforming units (DTUs) are hosted remotely (e.g., zkVM provers).

Features

  • Flexible Integration: Supports various transformation units and consumer endpoints.
  • Robustness: Guarantees task completion through persistent retries.
  • Scalability: Optimized for compute-heavy workloads.

Requirements

Ensure you have rustup installed. Compile the system using the Rust nightly channel, as it utilizes nightly-only features such as associated_type_defaults.

Testing

PostgreSQL Database test requires docker to be installed on system & may pose intermittent failures if ran parallely. Use:

cargo test database::postgresql -- --test-threads=1

Documentation

Generate and view the documentation:

cargo doc --open

License

This project is licensed under the terms of the MIT License.

Commit count: 0

cargo fmt