Install
DeepCausality is a workspace of twenty independently published crates. Pick what you need.
Prerequisites
Section titled “Prerequisites”DeepCausality targets the Rust 2024 edition:
rustup update stablerustc --versionThe umbrella crate
Section titled “The umbrella crate”Most users start here:
cargo add deep_causalityThe deep_causality crate re-exports the user-facing types: Causaloid, CausaloidGraph, Context, the propagating-effect machinery, and the surrounding aliases. It pulls in deep_causality_core, deep_causality_haft, deep_causality_uncertain, deep_causality_ast, deep_causality_data_structures, and ultragraph transitively, so a single cargo add is enough for a first project.
Specialized crates
Section titled “Specialized crates”Reach for one of these when the umbrella is broader than you need:
deep_causality_algorithms: MRMR feature selection, SURD information decomposition.deep_causality_data_structures: sliding-window and grid-array containers, useful on stream workloads.deep_causality_discovery: the Causal Discovery Language (CDL) pipeline.deep_causality_ethos: the Effect Ethos and its Teloids.deep_causality_topology,deep_causality_physics,deep_causality_multivector: math and physics primitives.deep_causality_tensor,deep_causality_sparse: numerical containers.deep_causality_uncertain: a first-order type for uncertain values.
Each crate stands on its own and links back to the others through clear seams. The full API reference is on docs.rs, one page per crate.
Verify the install
Section titled “Verify the install”A tiny program that lifts a value into a PropagatingEffect is enough to prove the install is wired:
use deep_causality::PropagatingEffect;
fn main() { let effect: PropagatingEffect<f64> = PropagatingEffect::pure(42.0); println!("ok: {:?}", effect.value);}cargo runIf you see ok: Value(42.0), the install is good. The next page writes your first causal pipeline with the high-level Flow DSL.
A note on the docs.rs reference
Section titled “A note on the docs.rs reference”Every crate ships rustdoc on docs.rs. The pages in this site’s reference section are short overviews: what the crate is for and when you should reach for it. The exhaustive API stays on docs.rs.