[package]
name = "ipfrs-interface"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "HTTP, gRPC, GraphQL and Python interfaces for IPFRS distributed storage"
keywords = ["http", "grpc", "graphql", "api", "interface"]
categories = ["web-programming", "api-bindings"]
documentation = "https://docs.rs/ipfrs-interface"
homepage.workspace = true
[features]
default = []
python = ["pyo3"]
[dependencies]
ipfrs-core = { workspace = true }
ipfrs-storage = { workspace = true }
ipfrs-semantic = { workspace = true }
ipfrs-tensorlogic = { workspace = true }
ipfrs-network = { workspace = true }
arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-buffer = { workspace = true }
arrow-schema = { workspace = true }
safetensors = { workspace = true }
bytes = { workspace = true }
memmap2 = { workspace = true }
tokio = { workspace = true }
tokio-stream = { workspace = true }
futures = { workspace = true }
thiserror = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true, features = ["compression-gzip", "compression-br", "compression-deflate"] }
hyper = { workspace = true }
http-body-util = { workspace = true }
axum-server = { workspace = true }
rustls = { workspace = true }
rustls-pemfile = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
base64 = { workspace = true }
async-graphql = { workspace = true }
async-graphql-axum = { workspace = true }
jsonwebtoken = { workspace = true }
bcrypt = { workspace = true }
uuid = { workspace = true }
dashmap = { workspace = true }
rand = { workspace = true }
hex = { workspace = true }
sha2 = { workspace = true }
urlencoding = { workspace = true }
async-stream = { workspace = true }
prometheus = { workspace = true }
lazy_static = { workspace = true }
tonic = { workspace = true }
prost = { workspace = true }
prost-types = { workspace = true }
pyo3 = { workspace = true, optional = true }
[build-dependencies]
tonic-build = { workspace = true }
prost-build = { workspace = true }
[dev-dependencies]
criterion = { workspace = true }
flate2 = { workspace = true }
tracing-subscriber = { workspace = true }
reqwest = { workspace = true, features = ["multipart"] }
tempfile = { workspace = true }
[[bench]]
name = "http_benchmarks"
harness = false