vgi-rpc 0.3.0

Transport-agnostic RPC framework built on Apache Arrow IPC
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.86"
name = "vgi-rpc"
version = "0.3.0"
authors = ["Query Farm LLC <hello@query.farm>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Transport-agnostic RPC framework built on Apache Arrow IPC"
homepage = "https://query.farm"
readme = "README.md"
keywords = [
    "rpc",
    "arrow",
    "ipc",
    "streaming",
    "http",
]
categories = [
    "network-programming",
    "web-programming::http-server",
    "data-structures",
]
license = "Apache-2.0"
repository = "https://github.com/Query-farm/vgi-rpc-rust"

[features]
default = [
    "http",
    "macros",
]
external = ["dep:zstd"]
http = [
    "external",
    "dep:axum",
    "dep:tower-http",
    "dep:tokio",
    "dep:hmac",
    "dep:base64",
    "dep:rand",
    "dep:bincode",
    "dep:chacha20poly1305",
]
jwt = []
jwt-jsonwebtoken = [
    "jwt",
    "dep:jsonwebtoken",
    "dep:reqwest",
]
macros = ["dep:vgi-rpc-macros"]
mtls-pem = [
    "dep:x509-parser",
    "dep:percent-encoding",
]
oauth-pkce = []
oauth-pkce-server = [
    "oauth-pkce",
    "http",
    "dep:reqwest",
    "dep:urlencoding",
]
otel = []
sentry-sdk = ["dep:sentry"]
sentry-tracing = []
shm = ["dep:libc"]
test-utils = []

[lib]
name = "vgi_rpc"
path = "src/lib.rs"

[[example]]
name = "hello_stream"
path = "examples/hello_stream.rs"

[[example]]
name = "hello_unary"
path = "examples/hello_unary.rs"

[[example]]
name = "load_balanced"
path = "examples/load_balanced.rs"

[[example]]
name = "shm_dump"
path = "examples/shm_dump.rs"

[[test]]
name = "arrow_derive"
path = "tests/arrow_derive.rs"

[[test]]
name = "external_integration"
path = "tests/external_integration.rs"
required-features = ["test-utils"]

[[test]]
name = "http_auth"
path = "tests/http_auth.rs"

[[test]]
name = "http_load_balance"
path = "tests/http_load_balance.rs"

[[test]]
name = "http_panic"
path = "tests/http_panic.rs"

[[test]]
name = "http_polish"
path = "tests/http_polish.rs"

[[test]]
name = "macro_async"
path = "tests/macro_async.rs"

[[test]]
name = "macro_compile_fail"
path = "tests/macro_compile_fail.rs"

[[test]]
name = "macro_smoke"
path = "tests/macro_smoke.rs"

[[test]]
name = "stream_state_derive"
path = "tests/stream_state_derive.rs"

[[test]]
name = "unix_idle"
path = "tests/unix_idle.rs"

[dependencies.arrow-array]
version = "58"

[dependencies.arrow-buffer]
version = "58"

[dependencies.arrow-cast]
version = "58"

[dependencies.arrow-data]
version = "58"

[dependencies.arrow-ipc]
version = "58"

[dependencies.arrow-schema]
version = "58"

[dependencies.arrow-select]
version = "58"

[dependencies.axum]
version = "0.7"
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.bincode]
version = "1.3"
optional = true

[dependencies.bytes]
version = "1"

[dependencies.chacha20poly1305]
version = "0.10"
optional = true

[dependencies.chrono]
version = "0.4"
features = ["std"]
default-features = false

[dependencies.flatbuffers]
version = "25"

[dependencies.hmac]
version = "0.12"
optional = true

[dependencies.jsonwebtoken]
version = "9.3"
features = ["use_pem"]
optional = true
default-features = false

[dependencies.libc]
version = "0.2"
optional = true

[dependencies.percent-encoding]
version = "2"
optional = true

[dependencies.rand]
version = "0.8"
optional = true

[dependencies.reqwest]
version = "0.12"
features = [
    "blocking",
    "rustls-tls",
    "json",
]
optional = true
default-features = false

[dependencies.rust_decimal]
version = "1"
default-features = false

[dependencies.sentry]
version = "0.46"
features = [
    "backtrace",
    "contexts",
]
optional = true
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]
optional = true

[dependencies.tower-http]
version = "0.6"
features = [
    "limit",
    "timeout",
    "catch-panic",
]
optional = true

[dependencies.tracing]
version = "0.1"

[dependencies.url]
version = "2"

[dependencies.urlencoding]
version = "2"
optional = true

[dependencies.vgi-rpc-macros]
version = "0.3.0"
optional = true

[dependencies.x509-parser]
version = "0.16"
optional = true

[dependencies.zstd]
version = "0.13"
optional = true

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.tokio]
version = "1"
features = [
    "full",
    "full",
]

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dev-dependencies.trybuild]
version = "1"