rxgraph 0.9.0

High-performance graph traversal engine
Documentation
[package]
name = "rxgraph"
version = "0.9.0"
edition.workspace = true
rust-version.workspace = true
description = "High-performance graph traversal engine"
license = "MIT"
repository.workspace = true
readme = "README.md"
keywords = ["arrow", "graph", "traversal", "polars"]
categories = ["algorithms", "data-structures"]
include = [
    "Cargo.toml",
    "README.md",
    "src/**/*.rs",
    "examples/**/*.rs",
    "benches/**/*.rs",
]

[dependencies]
anyhow.workspace = true
arrow.workspace = true
arrow-schema.workspace = true
inventory.workspace = true
parquet.workspace = true
# Optional: only pulled in by the `python` feature for the PyO3 binding layer.
# `extension-module` is intentionally NOT enabled here; the final extension
# crate (cdylib) enables it, so this stays linkable/testable as an rlib.
pyo3 = { workspace = true, optional = true }
pyo3-arrow = { workspace = true, optional = true }
rand.workspace = true
rayon.workspace = true
serde.workspace = true
serde_json.workspace = true
smallvec.workspace = true
sprs.workspace = true
stats_alloc.workspace = true

[features]
# Exposes the PyO3 binding layer (`register`, the `plugin!` macro, and pyclasses)
# so downstream consumers can build native kernel plugins against the published
# crate without an unpublished path-dependency.
python = ["dep:pyo3", "dep:pyo3-arrow"]

[dev-dependencies]
criterion.workspace = true
pretty_assertions.workspace = true

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

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

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