[package]
edition = "2021"
rust-version = "1.75"
name = "aprender-graph"
version = "0.29.0"
authors = ["Pragmatic AI Labs <info@paiml.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPU-first embedded graph database for code analysis (call graphs, dependencies, AST traversals)"
readme = "README.md"
keywords = [
"graph",
"gpu",
"database",
"csr",
"pagerank",
]
categories = [
"database",
"algorithms",
"data-structures",
]
license = "MIT"
repository = "https://github.com/paiml/trueno-graph"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[package.metadata.release]
shared-version = true
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = '## \[Unreleased\]'
replace = "## [{{version}}] - {{date}}"
[features]
default = ["storage"]
gpu = [
"wgpu",
"bytemuck",
"futures-intrusive",
]
storage = [
"dep:arrow",
"dep:parquet",
]
[lib]
name = "trueno_graph"
path = "src/lib.rs"
[[example]]
name = "comprehensive_demo"
path = "examples/comprehensive_demo.rs"
[[example]]
name = "graph_algorithms"
path = "examples/graph_algorithms.rs"
[[example]]
name = "paging_demo"
path = "examples/paging_demo.rs"
required-features = ["gpu"]
[[example]]
name = "simple_graph"
path = "examples/simple_graph.rs"
[[test]]
name = "backend_story"
path = "tests/backend_story.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[bench]]
name = "gpu_algorithms"
path = "benches/gpu_algorithms.rs"
harness = false
required-features = ["gpu"]
[[bench]]
name = "graph_algorithms"
path = "benches/graph_algorithms.rs"
harness = false
[[bench]]
name = "phase4_algorithms"
path = "benches/phase4_algorithms.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.aprender]
version = "0.29.0"
package = "aprender-core"
[dependencies.arrow]
version = "54"
optional = true
default-features = false
[dependencies.bytemuck]
version = "1"
features = ["derive"]
optional = true
[dependencies.futures-intrusive]
version = "0.5"
optional = true
[dependencies.parquet]
version = "54"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"fs",
"sync",
"macros",
]
[dependencies.trueno]
version = "0.17"
[dependencies.trueno-db]
version = "0.3.17"
[dependencies.wgpu]
version = "22"
features = ["wgsl"]
optional = true
[dev-dependencies.criterion]
version = "0.6"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.tokio-test]
version = "0.4"
[profile.bench]
debug = 2
inherits = "release"
[profile.dev]
panic = "abort"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
panic = "abort"
strip = true