acme-engine

Crates.ioacme-engine
lib.rsacme-engine
version0.4.0
created_at2025-07-06 13:17:06.033802+00
updated_at2025-07-06 13:17:06.033802+00
descriptionthe engine of the acme platform enabling automation and orchestration of tasks across various sources and sinks
homepagehttps://github.com/FL03/acme/wiki
repositoryhttps://github.com/FL03/acme.git
max_upload_size
id1740135
size60,986
Joe McCain III (FL03)

documentation

README

acme

crates.io docs.rs creates.io (License)


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

CONTRIBUTORS

License

This project is licensed under the Apache-2.0.

Commit count: 3

cargo fmt