[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 = { path = "../raphtory-api", version = "0.11.2" }
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 }
serde = { workspace = true }
sorted_vector_map = { workspace = true }
thiserror = { workspace = true }
lock_api = { workspace = true }
dashmap = { workspace = true }
enum_dispatch = { workspace = true }
ordered-float = { workspace = true }
glam = { workspace = true }
quad-rand = { workspace = true }
serde_json = { workspace = true }
ouroboros = { workspace = true }
either = { workspace = true }
kdam = { 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 }
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 }
pyo3 = { workspace = true, optional = true }
num = { workspace = true, optional = true }
display-error-chain = { workspace = true, optional = true }
polars-arrow = { workspace = true, optional = true }
polars-parquet = { workspace = true, optional = true }
memmap2 = { workspace = true, optional = true }
tempfile = { workspace = true, optional = true }
pometry-storage = { workspace = true, optional = true }
prost = { workspace = true, optional = true }
prost-types = { workspace = true, optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
snmalloc-rs = { workspace = true }
[dev-dependencies]
csv = { workspace = true }
pretty_assertions = { workspace = true }
quickcheck = { workspace = true }
quickcheck_macros = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
dotenv = { workspace = true }
streaming-stats = { workspace = true }
proptest = { workspace = true }
[build-dependencies]
prost-build = { workspace = true, optional = true }
[features]
default = []
io = [
"dep:zip",
"dep:neo4rs",
"dep:bzip2",
"dep:flate2",
"dep:csv",
"dep:reqwest",
"dep:tokio",
"proto",
]
search = ["dep:tantivy"]
vectors = ["dep:futures-util", "dep:async-trait", "dep:async-openai", "dep:bincode"]
python = [
"io",
"arrow",
"search",
"vectors",
"proto",
"dep:pyo3",
"dep:num",
"dep:display-error-chain",
"polars-arrow?/compute",
"raphtory-api/python",
"kdam/notebook",
]
storage = [
"arrow",
"pometry-storage",
"dep:memmap2",
"dep:tempfile",
"polars-arrow?/io_ipc",
"polars-arrow?/arrow_rs",
]
arrow = [
"dep:polars-arrow",
"dep:polars-parquet",
"polars-parquet?/compression",
]
proto = [
"dep:prost",
"dep:prost-types",
"dep:prost-build",
"dep:memmap2",
]