deep_causality_algorithms 0.3.0

Computational causality algorithms and utils used in the DeepCausality project.
Documentation
[package]
name = "deep_causality_algorithms"
version = "0.3.0"
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
readme = "README.md"

description = "Computational causality algorithms and utils used in the DeepCausality project."
documentation = "https://docs.rs/deep_causality"
homepage = "https://deepcausality.com/"
repository = "https://github.com/deepcausality/deep_causality.rs"
keywords = ["surd", "causal-graph", "causal-reasoning", "algorithms"]
categories = ["algorithms", "science", "aerospace", "finance", "mathematics"]
authors = ["Marvin Hansen <marvin.hansen@gmail.com>", ]
exclude = ["*.bazel", "*/*.bazel",  "*.bazel.*", "BUILD", "BUILD.bazel", "MODULE.bazel", ".bazelignore",".bazelrc", "tests/**/*"]


[dependencies.deep_causality_tensor]
path = "../deep_causality_tensor"
version = "0.4"

[dependencies.deep_causality_num]
path = "../deep_causality_num"
version = "0.3"

[dependencies.deep_causality_topology]
path = "../deep_causality_topology"
version = "0.6"

[dependencies.deep_causality_rand]
path = "../deep_causality_rand"
version = "0.1"

[dependencies.rayon]
version = "1.12"
optional = true


[features]
default = []
# Enables parallel execution of the SURD algorithm by adding a dependency on Rayon.
# Disabled by default.
parallel = ["dep:rayon"]


[package.metadata.docs.rs]
all-features = true

[dev-dependencies]
criterion = {  version = "0.8" }

[[bench]]
name = "mrmr_benchmark"
harness = false

[[bench]]
name = "brcd_benchmark"
harness = false

[[bench]]
name = "brcd_benchmark_wide"
harness = false

# --- BRCD verification examples (run individually) ---
# Base verification: self-contained synthetic recovery (no Python needed).
#   cargo run -p deep_causality_algorithms --example verification_base
[[example]]
name = "verification_base"
path = "examples/verification/brcd/verification_base.rs"

# BOSS structure-learning verification: self-contained structural recovery plus
# a learned-CPDAG (cpdag=None) end-to-end run on committed Online Boutique data.
#   cargo run -p deep_causality_algorithms --example verification_boss
[[example]]
name = "verification_boss"
path = "examples/verification/brcd/verification_boss.rs"

# Supplied-CPDAG vs BOSS-learned comparison (illustrates the learned-vs-map gap).
# Sock Shop completes; Online Boutique's ~50-var / 2100-row cases can be intractable
# for a learned CPDAG (exponential in local undirected degree) — see the OB example docs.
#   cargo run --release -p deep_causality_algorithms --example verification_boss_sockshop
#   cargo run --release -p deep_causality_algorithms --example verification_boss_online_boutique
[[example]]
name = "verification_boss_sockshop"
path = "examples/verification/brcd/verification_boss_sockshop.rs"

[[example]]
name = "verification_boss_online_boutique"
path = "examples/verification/brcd/verification_boss_online_boutique.rs"

# Real-world verification (Online Boutique): replays committed Python-derived
#   cargo run -p deep_causality_algorithms --example verification_online_boutique
[[example]]
name = "verification_online_boutique"
path = "examples/verification/brcd/verification_online_boutique.rs"

# Real-world verification (Sock Shop).
#   cargo run -p deep_causality_algorithms --example verification_sockshop
[[example]]
name = "verification_sockshop"
path = "examples/verification/brcd/verification_sockshop.rs"

[lints]
workspace = true