3 releases
| 0.2.4 | Dec 31, 2022 |
|---|---|
| 0.2.3 | Dec 26, 2022 |
| 0.2.2 | Dec 17, 2022 |
#1564 in Audio
8KB
134 lines
acme
Warning: the project is currently in the early stages of development and not yet suitable for production use-cases
Welcome to acme! This crate focuses on aggregating information from various sources and processing it in a secure, robust, and efficient manner. The project is designed to be modular and extensible, allowing for easy integration of new data sources and sinks.
This crate is one of the first extensions of the eryon framework, a Rust-based computational systems designed for high-performance data processing using topology with a hint of music-theory. The acme crate aims to provide a flexible and powerful platform for building data processing pipelines, leveraging the capabilities of the eryon framework.
Features
engine: The core engine that orchestrates the data processing pipeline.core: Provides the foundational components and utilities for the ACME platform.
Dependency-related Features
In addition to the core features of the crate and the various environmental features, the crate integrates with several external crates for enhanced functionality:
serde: Enables serialization and deserialization of data.tracing: Provides a framework for instrumenting Rust programs to collect structured, contextual, and async-aware diagnostics.tokio: An asynchronous runtime for the Rust programming language, enabling concurrent programming.
Getting Started
Before you start using acme, ensure you have the following prerequisites:
- Git for cloning the repository
- Rust installed on your machine. You can install it from rustup.rs.
- A compatible version of the Rust toolchain (preferably the latest stable version).
- Cargo for building and managing Rust projects.
- Optionally, install the cargo-binstall utility for streamlined installation of Rust binaries.
For more information on how to setup your environment, refer to the QUICKSTART guide.
From the source
Start by cloning the repository:
git clone https://github.com/FL03/acme.git
Then, navigate to the project directory:
cd acme
Using cargo
To build the project, you can use the following command:
cargo build --all-features --workspace [--release]
To run the tests, you can use the following command:
cargo test --all-features --workspace
Usage
Add this to your Cargo.toml:
[dependencies.acme]
features = []
version = "0.4.0"
Examples
Basic Usage
use acme::engine::Engine;
fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt()
.with_line_number(false)
.with_max_level(tracing::Level::TRACE)
.with_thread_ids(false)
.with_target(true)
.compact()
.init();
// verify the tracing layers are initialized
tracing::info!("Welcome to {name}", name = acme);
// initialize a new instance of the engine
let acme = Engine::new()?;
// finish
Ok(())
}
Contributing
License
This project is licensed under the Apache-2.0.
Dependencies
~13–29MB
~311K SLoC