25 releases (5 stable)
Uses new Rust 2024
| 25.1.0 | Jan 31, 2026 |
|---|---|
| 25.0.2 | Nov 12, 2025 |
| 25.0.0-dev.19 | Jul 29, 2025 |
| 24.0.0-dev.22 | Oct 23, 2024 |
#65 in Development tools
186 downloads per month
Used in 48 crates
(47 directly)
86KB
1.5K
SLoC
ASIMOV Software Development Kit (SDK) for Rust
ASIMOV is a polyglot development platform for trustworthy, neurosymbolic AI.
[Features] | [Prerequisites] | [Installation] | [Examples] | [Reference] | [Development]
✨ Features
- Defines flow-based program patterns for refining data into knowledge.
- Implements a module system supporting an ecosystem of ASIMOV modules.
- Enables dataflow systems through reusable components called blocks.
- Built on the dataflow primitives provided by the Async-Flow crate.
- Compatible with the inventory of dataflow blocks provided by Flows.rs.
- Supports opting out of any feature using comprehensive feature flags.
- Adheres to the Rust API Guidelines in its naming conventions.
- Cuts red tape: 100% free and unencumbered public domain software.
🛠️ Prerequisites
- Rust 1.85+ (2024 edition)
⬇️ Installation
Installation via Cargo
cargo add asimov-sdk --rename asimov
Installation in Cargo.toml (with all features enabled)
[dependencies]
asimov = { package = "asimov-sdk", "version" = "25" }
Installation in Cargo.toml (with only specific features enabled)
[dependencies]
asimov = { package = "asimov-sdk", "version" = "25", default-features = false, features = ["tracing"] }
👉 Examples
Importing the SDK
use asimov::{config, env, flow, id, kb, patterns, registry, runner, snapshot};
📚 Reference
Packages
👨💻 Development
git clone https://github.com/asimov-platform/asimov.rs.git
Glossary
-
System: A collection of blocks that are connected together. Systems are the top-level entities in dataflow programs.
-
Block: An encapsulated system component that processes messages. Blocks are the autonomous units of computation in a system.
-
Port: A named connection point on a block that sends or receives messages. Ports are the only interfaces through which blocks communicate with each other.
-
Message: A unit of data that flows between blocks in a system, from port to port. Any Rust type that implements the
Send + Sync + 'statictraits can be used as a message.
Dependencies
~3–20MB
~219K SLoC