raphtory 0.11.2

raphtory, a temporal graph library
Documentation
[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

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[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 }


# io optional dependencies
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 }

# search optional dependencies
tantivy = { workspace = true, optional = true }

# vectors optional dependencies
futures-util = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
async-openai = { workspace = true, optional = true }
bincode = { workspace = true, optional = true }

# python binding optional dependencies
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 }             # for vector testing
dotenv = { workspace = true }            # for vector testing
streaming-stats = { workspace = true }
proptest = { workspace = true }

[build-dependencies]
prost-build = { workspace = true, optional = true }

[features]
default = []
# Enables the graph loader io module
io = [
    "dep:zip",
    "dep:neo4rs",
    "dep:bzip2",
    "dep:flate2",
    "dep:csv",
    "dep:reqwest",
    "dep:tokio",
    "proto",
]

# search
search = ["dep:tantivy"]
# vectors
vectors = ["dep:futures-util", "dep:async-trait", "dep:async-openai", "dep:bincode"]

# Enables generating the pyo3 python bindings
python = [
    "io",
    "arrow",
    "search",
    "vectors",
    "proto",
    "dep:pyo3",
    "dep:num",
    "dep:display-error-chain",
    "polars-arrow?/compute",
    "raphtory-api/python",
    "kdam/notebook",
]

# storage
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",
]