[package]
name = "oxgraph-algo"
version.workspace = true
license.workspace = true
description = "Substrate-agnostic graph algorithms over oxgraph-topology traits."
categories.workspace = true
keywords.workspace = true
readme = "README.md"

authors.workspace = true
edition.workspace = true
repository.workspace = true

[dependencies]
oxgraph-graph = { version = "0.4.2", path = "../oxgraph-graph" }
oxgraph-hyper = { version = "0.4.2", path = "../oxgraph-hyper" }
oxgraph-topology = { version = "0.4.2", path = "../oxgraph-topology" }

[features]
default = []
alloc = []
std = ["alloc"]

[dev-dependencies]
arrow-array = { workspace = true }
arrow-schema = { workspace = true }
criterion = { workspace = true }
oxgraph-csr = { path = "../oxgraph-csr", features = ["build-property-arrow"] }
oxgraph-hyper = { version = "0.4.2", path = "../oxgraph-hyper" }
oxgraph-hyper-bcsr = { path = "../oxgraph-hyper-bcsr", features = ["build-property-arrow"] }
oxgraph-layout-util = { version = "0.4.2", path = "../oxgraph-layout-util", default-features = false }
oxgraph-property = { version = "0.4.2", path = "../oxgraph-property" }
oxgraph-snapshot = { version = "0.4.2", path = "../oxgraph-snapshot", features = ["alloc"] }
proptest = { workspace = true }
zerocopy = { workspace = true }

[[bench]]
name = "bfs"
harness = false
required-features = ["std"]

[[bench]]
name = "pagerank"
harness = false
required-features = ["std"]

[[bench]]
name = "graph_algorithms"
harness = false
required-features = ["std"]

[lints]
workspace = true
