[package]
edition = "2024"
rust-version = "1.94"
name = "rto-graph"
version = "0.0.13"
authors = ["The Roteiro Project Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Provenance-tagged codebase knowledge graph store for Roteiro"
homepage = "https://roteiro.dev"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/OffeneDatenmodellierung/Roteiro"
[features]
image-ocr = [
"models",
"dep:ocrs",
"dep:rten",
"dep:image",
]
image-vision = [
"inference-local-models",
"dep:image",
]
inference = []
inference-local-models = [
"inference",
"models",
"dep:candle-core",
"dep:candle-nn",
"dep:candle-transformers",
"dep:tokenizers",
]
models = ["dep:sha2"]
pdf-text = ["dep:pdf-extract"]
[lib]
name = "rto_graph"
path = "src/lib.rs"
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
[[test]]
name = "sync"
path = "tests/sync.rs"
[dependencies.candle-core]
version = "0.11"
optional = true
[dependencies.candle-nn]
version = "0.11"
optional = true
[dependencies.candle-transformers]
version = "0.11"
optional = true
[dependencies.gix]
version = "0.86.0"
features = [
"sha1",
"status",
"dirwalk",
"revision",
]
default-features = false
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
]
optional = true
default-features = false
[dependencies.ocrs]
version = "0.12"
optional = true
[dependencies.pdf-extract]
version = "0.12"
optional = true
[dependencies.rten]
version = "0.24"
optional = true
[dependencies.rusqlite]
version = "=0.39.0"
features = ["bundled"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokenizers]
version = "0.23.1"
features = ["onig"]
optional = true
default-features = false
[dependencies.tree-sitter]
version = "0.26.11"
[dependencies.tree-sitter-rust]
version = "0.24.2"
[dev-dependencies.serde_json]
version = "1.0"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"