lightstream 0.3.2

Composable, zero-copy Arrow IPC and native data streaming for Rust with SIMD-aligned I/O, async support, and memory-mapping.
[package]
name = "lightstream"
version = "0.3.2"
edition = "2024"
license = "MIT"
keywords = [
    "arrow",
    "apache-arrow",
    "polars",
    "streaming",
    "simd",
]
categories = [
    "asynchronous",
    "data-structures",
    "encoding",
    "filesystem",
    "network-programming",
]
description = "Composable, zero-copy Arrow IPC and native data streaming for Rust with SIMD-aligned I/O, async support, and memory-mapping."
[dependencies]
tokio = { version = "1", features = ["fs", "io-util", "rt-multi-thread", "macros"] }
futures-core = "0.3"
futures-util = { version = "0.3", features = ["sink"] }
flatbuffers = "25.2.10"
libc = { version = "0.2.174", optional = true }
futures-sink = "0.3.31"
minarrow = { version = "0.8.1", features = ["chunked", "views", "large_string"] }
snap = { version = "1.0", optional = true }
tokio-tungstenite = { version = "0.28", optional = true }
zstd = { version = "0.12", optional = true }
quinn = { version = "0.11", optional = true, default-features = false, features = ["runtime-tokio", "rustls-ring"] }

[dev-dependencies]
tempfile = "3.20.0"
rcgen = "0.13"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }

[features]
extended_categorical = ["minarrow/extended_categorical"]
large_string = ["minarrow/large_string"]
datetime = ["minarrow/datetime"]
extended_numeric_types = ["minarrow/extended_numeric_types"]
mmap = ["libc"]

# Adds parquet IO
parquet = []

# TCP transport
tcp = ["tokio/net"]
# WebSocket transport
websocket = ["tcp", "tokio-tungstenite"]
# QUIC transport
quic = ["tokio/net", "quinn"]
# Unix domain socket transport
uds = ["tokio/net"]
# Stdin/stdout transport
stdio = ["tokio/io-std"]

# Adds snappy compression option
snappy = ["snap"]
# Adds zstd compression option
zstd = ["dep:zstd"]

default = []