Skip to content

pgmpy/causalgraphs

Repository files navigation

CausalGraphs

A cross-language library for working with causal graphs (DAGs) in Rust, Python, and WebAssembly.

Structure

  • rust_core/: Core Rust implementation of DAGs and causal graph logic.
  • python_bindings/: Python bindings using PyO3 and maturin.
  • wasm_bindings/: WebAssembly bindings for use in JavaScript and Node.js environments via wasm-bindgen and wasm-pack
  • r_bindings/: R bindings using extendr.

Prerequisites

To build and develop this project locally, you will need:

  • Rust (stable toolchain)
  • Python 3.x with pip
  • Node.js (LTS recommended) with npm
  • R 4.2+
  • make (usually pre-installed on Linux/macOS, available via build tools on Windows)

Supported Platforms

This library is actively developed and tested on:

  • Windows (via WSL, or native MSVC toolchain for Rust + Rtools for R)
  • Linux (Ubuntu, other distros)
  • macOS

Quick Start

We provide a top‑level Makefile to save you typing:

  • Build everything (Rust core + Python + WASM + R):

    make all
  • Run all tests:

    make test
Target What it does
make core Builds only the rust_core crate.
make python Builds & installs Python bindings.
make wasm Builds WASM modules for JS/Node via wasm-pack
make r Generates R wrappers via rextendr::document().

License

MIT

About

Rust implemention of causal graphs and algorithms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •