MCPcopy Index your code
hub / github.com/asimov-platform/asimov.rs

github.com/asimov-platform/asimov.rs @25.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 25.2.0 ↗ · + Follow
698 symbols 1,281 edges 180 files 84 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ASIMOV Software Development Kit (SDK) for Rust

License Compatibility Package Documentation

[ASIMOV] is a polyglot development platform for [trustworthy neurosymbolic machine intelligence].

[Features] | [Prerequisites] | [Installation] | [Examples] | [Reference] | [Development]

✨ Features

  • Defines [flow-based] [program patterns] for refining data into knowledge.
  • Implements a [module system] enabling an ecosystem of [modules].
  • Enables dataflow systems through reusable components called blocks.
  • Compatible with the inventory of dataflow blocks provided by [Flows.rs].
  • Built on the dataflow primitives provided by the [Async-Flow] crate.
  • 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.93+ (2024 edition)

⬇️ Installation

Installation via Cargo

cargo add asimov-sdk --rename asimov

Installation in Cargo.toml

[dependencies]
asimov = { package = "asimov-sdk", version = "25" }

Alternatively, enable only specific features:

[dependencies]
asimov = { package = "asimov-sdk", version = "25", default-features = false, features = ["tracing"] }

👉 Examples

Importing the SDK

use asimov::{config, directory, env, flow, id, kb, patterns, registry, runner, snapshot};

Listing Installed Modules

// cargo run --package asimov-directory --example list_modules

use asimov::directory::{ModuleNameIterator, fs::StateDirectory};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let modules = StateDirectory::home()?.modules()?;
    let mut module_names = modules.iter_installed().await?;
    while let Some(module_name) = module_names.next().await {
        println!("{}", module_name);
    }
    Ok(())
}

📚 Reference

docs.rs/asimov-sdk

Packages

Package Crate Docs
asimov-account Package Documentation
asimov-agent Package Documentation
asimov-cache Package Documentation
asimov-cloud Package Documentation
asimov-config Package Documentation
asimov-construct Package Documentation
asimov-core Package Documentation
asimov-credit Package Documentation
asimov-dataset Package Documentation
asimov-directory Package Documentation
asimov-env Package Documentation
asimov-flow Package Documentation
asimov-graph Package Documentation
asimov-huggingface Package Documentation
asimov-id Package Documentation
asimov-installer Package Documentation
asimov-kb Package Documentation
asimov-ledger Package Documentation
asimov-module Package Documentation
asimov-nexus Package Documentation
asimov-ontology Package Documentation
asimov-patterns Package Documentation
asimov-platform Package Documentation
asimov-prompt Package Documentation
asimov-protocol Package Documentation
asimov-proxy Package Documentation
asimov-registry Package Documentation
asimov-repository Package Documentation
asimov-runner Package Documentation
asimov-runtime Package Documentation
asimov-sdk Package Documentation
asimov-server Package Documentation
asimov-snapshot Package Documentation
asimov-token Package Documentation
asimov-universe Package Documentation
asimov-vault Package Documentation

Glossary

  • Module: A collection of systems and blocks, packaged as a reusable unit.

  • System: A collection of blocks that are connected together. Systems are the top-level entities in dataflow progra

Extension points exported contracts — how you extend this code

Execute (Interface)
(no doc) [11 implementers]
lib/asimov-patterns/src/execute.rs
Env (Interface)
(no doc) [3 implementers]
lib/asimov-env/src/env.rs
ConfigProfile (Interface)
A configuration profile.
lib/asimov-config/src/config_profile.rs
StateDirectory (Interface)
A state directory in the abstract.
lib/asimov-directory/src/state_directory.rs
Storage (Interface)
(no doc) [1 implementers]
lib/asimov-snapshot/src/storage.rs
Provider (Interface)
(no doc) [1 implementers]
lib/asimov-server/src/http/mcp/provider.rs
Cataloger (Interface)
Graph iterator. Takes a URL input, produces RDF output. See: https://asimov-specs.github.io/program-patterns/#cataloger
lib/asimov-patterns/src/programs/cataloger.rs
ConfigDirectory (Interface)
A configuration directory in the abstract.
lib/asimov-config/src/config_directory.rs

Core symbols most depended-on inside this repo

into
called by 58
lib/asimov-id/src/id.rs
into
called by 44
lib/asimov-prompt/src/prompt_role.rs
as_ref
called by 43
lib/asimov-id/src/id.rs
into_response
called by 23
lib/asimov-server/src/http/openai_v1/error.rs
get
called by 22
lib/asimov-server/src/persistence.rs
path
called by 19
lib/asimov-env/src/env.rs
as_stdio
called by 15
lib/asimov-runner/src/input.rs
command
called by 12
lib/asimov-runner/src/executor.rs

Shape

Method 401
Function 143
Class 86
Enum 45
Interface 23

Languages

Rust100%

Modules by API surface

lib/asimov-module/src/resolve.rs25 symbols
lib/asimov-kb/src/id.rs22 symbols
lib/asimov-server/src/http/mcp/server.rs20 symbols
lib/asimov-registry/src/registry.rs20 symbols
lib/asimov-env/src/envs/ruby.rs19 symbols
lib/asimov-env/src/envs/python.rs19 symbols
lib/asimov-registry/src/registry/error.rs18 symbols
lib/asimov-module/src/models/module_manifest.rs18 symbols
lib/asimov-credit/src/credits.rs18 symbols
lib/asimov-runner/src/executor.rs16 symbols
lib/asimov-id/src/id.rs16 symbols
lib/asimov-snapshot/src/storage/fs.rs15 symbols

For agents

$ claude mcp add asimov.rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page