[package]
name = "raphtory"
description = "raphtory, a temporal graph library"
edition.workspace = true
rust-version.workspace = true
version.workspace = true
keywords.workspace = true
authors.workspace = true
documentation.workspace = true
repository.workspace = true
license.workspace = true
readme.workspace = true
homepage.workspace = true
[dependencies]
raphtory-api.workspace = true
raphtory-core.workspace = true
raphtory-storage.workspace = true
pometry-storage.workspace = true
iter-enum = { workspace = true, features = ["rayon"] }
hashbrown = { workspace = true }
chrono = { workspace = true }
itertools = { workspace = true }
num-traits = { workspace = true }
num-integer = { workspace = true }
parking_lot = { workspace = true }
once_cell = { workspace = true }
rand = { workspace = true }
rand_distr = { workspace = true }
rayon = { workspace = true }
regex = { workspace = true }
rustc-hash = { workspace = true }
bigdecimal = { workspace = true }
indexmap = { workspace = true }
serde = { workspace = true }
thiserror = { workspace = true }
dashmap = { workspace = true }
ordered-float = { workspace = true }
glam = { workspace = true }
quad-rand = { workspace = true }
serde_json = { workspace = true }
ouroboros = { workspace = true }
either = { workspace = true }
bytemuck = { workspace = true }
tracing = { workspace = true }
ahash = { workspace = true }
roaring = { workspace = true }
strsim = { workspace = true }
walkdir = { workspace = true }
uuid = { workspace = true }
csv = { workspace = true, optional = true }
zip = { workspace = true, optional = true }
neo4rs = { workspace = true, optional = true }
bzip2 = { workspace = true, optional = true }
flate2 = { workspace = true, optional = true }
reqwest = { workspace = true, features = ["blocking"], optional = true }
tokio = { workspace = true, optional = true }
kdam = { workspace = true, optional = true }
memmap2 = { workspace = true, optional = true }
prost = { workspace = true, optional = true }
prost-types = { workspace = true, optional = true }
parquet = { workspace = true, optional = true }
arrow-json = { workspace = true, optional = true }
arrow = { workspace = true, optional = true, features = ["chrono-tz"] }
tantivy = { workspace = true, optional = true }
futures-util = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
async-openai = { workspace = true, optional = true }
bincode = { workspace = true, optional = true }
minijinja = { workspace = true, optional = true }
minijinja-contrib = { workspace = true, optional = true }
arroy = { workspace = true, optional = true }
heed = { workspace = true, optional = true }
moka = { workspace = true, optional = true }
pyo3 = { workspace = true, optional = true }
numpy = { workspace = true, optional = true }
num = { workspace = true, optional = true }
display-error-chain = { workspace = true, optional = true }
tempfile = { workspace = true, optional = true }
pyo3-arrow = { workspace = true, optional = true }
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }
[dev-dependencies]
csv = { workspace = true }
pretty_assertions = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
dotenv = { workspace = true }
streaming-stats = { workspace = true }
indoc = { workspace = true }
raphtory = { path = ".", features = ["test-utils"] }
[build-dependencies]
prost-build = { workspace = true, optional = true }
[features]
default = []
io = [
"dep:neo4rs",
"dep:bzip2",
"dep:flate2",
"dep:csv",
"dep:reqwest",
"dep:tokio",
"dep:parquet",
"proto",
]
search = ["dep:tantivy", "dep:tempfile", "proto", "io"]
vectors = [
"dep:futures-util",
"dep:async-trait",
"dep:async-openai",
"dep:bincode",
"dep:minijinja",
"dep:minijinja-contrib",
"raphtory-api/template",
"dep:arroy",
"dep:heed",
"dep:moka",
"dep:tempfile",
]
python = [
"io",
"arrow",
"search",
"vectors",
"proto",
"dep:pyo3",
"dep:numpy",
"dep:num",
"dep:display-error-chain",
"pyo3-arrow",
"raphtory-api/python",
"raphtory-core/python",
"kdam/notebook",
]
storage = [
"arrow",
"raphtory-api/storage",
"raphtory-storage/storage",
"dep:memmap2",
"dep:tempfile",
]
arrow = [
"raphtory-api/arrow",
"raphtory-core/arrow",
"dep:parquet",
"dep:arrow-json",
"dep:arrow",
]
proto = [
"dep:prost",
"dep:prost-types",
"dep:zip",
"dep:prost-build",
"dep:memmap2",
"arrow",
"io",
]
test-utils = [
"dep:proptest", "dep:proptest-derive"
]