[package]
edition = "2024"
name = "lightstream"
version = "0.4.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Composable, zero-copy Arrow IPC and native data streaming for Rust with SIMD-aligned I/O, async support, and memory-mapping."
readme = "README.md"
keywords = [
"arrow",
"apache-arrow",
"polars",
"streaming",
"simd",
]
categories = [
"asynchronous",
"data-structures",
"encoding",
"filesystem",
"network-programming",
]
license = "MIT"
[features]
datetime = ["minarrow/datetime"]
default = []
extended_categorical = ["minarrow/extended_categorical"]
extended_numeric_types = ["minarrow/extended_numeric_types"]
large_string = ["minarrow/large_string"]
mmap = ["libc"]
msgpack = [
"protocol",
"rmp-serde",
"serde",
]
parquet = []
protobuf = [
"protocol",
"prost",
]
protocol = []
quic = [
"tokio/net",
"quinn",
]
snappy = ["snap"]
stdio = ["tokio/io-std"]
tcp = ["tokio/net"]
uds = ["tokio/net"]
websocket = [
"tcp",
"tokio-tungstenite",
]
webtransport = [
"tokio/net",
"wtransport",
]
zstd = ["dep:zstd"]
[lib]
name = "lightstream"
path = "src/lib.rs"
[[example]]
name = "arrow_ipc_basic"
path = "examples/arrow_ipc_basic.rs"
[[example]]
name = "csv_basic"
path = "examples/csv_basic.rs"
[[example]]
name = "lightstream"
path = "examples/lightstream.rs"
required-features = [
"protocol",
"tcp",
"msgpack",
]
[[example]]
name = "mmap_zero_copy"
path = "examples/mmap_zero_copy.rs"
[[example]]
name = "parquet_io"
path = "examples/parquet_io.rs"
[[example]]
name = "quic_arrow"
path = "examples/quic/arrow.rs"
required-features = ["quic"]
[[example]]
name = "quic_lightstream"
path = "examples/quic/lightstream.rs"
required-features = [
"protocol",
"quic",
"msgpack",
]
[[example]]
name = "table_reader"
path = "examples/table_reader.rs"
[[example]]
name = "table_stream_reader"
path = "examples/table_stream_reader.rs"
[[example]]
name = "table_stream_writer"
path = "examples/table_stream_writer.rs"
[[example]]
name = "tcp_arrow"
path = "examples/tcp/arrow.rs"
required-features = ["tcp"]
[[example]]
name = "tcp_lightstream"
path = "examples/tcp/lightstream.rs"
required-features = [
"protocol",
"tcp",
"msgpack",
]
[[example]]
name = "tlv_protocol"
path = "examples/tlv_protocol.rs"
[[example]]
name = "uds_arrow"
path = "examples/uds/arrow.rs"
required-features = ["uds"]
[[example]]
name = "uds_lightstream"
path = "examples/uds/lightstream.rs"
required-features = [
"protocol",
"uds",
"msgpack",
]
[[example]]
name = "websocket_arrow"
path = "examples/websocket/arrow.rs"
required-features = ["websocket"]
[[example]]
name = "websocket_lightstream"
path = "examples/websocket/lightstream.rs"
required-features = [
"protocol",
"websocket",
"msgpack",
]
[[example]]
name = "webtransport_arrow"
path = "examples/webtransport/arrow.rs"
required-features = ["webtransport"]
[[example]]
name = "webtransport_lightstream"
path = "examples/webtransport/lightstream.rs"
required-features = [
"protocol",
"webtransport",
"msgpack",
]
[[example]]
name = "write_files"
path = "examples/write_files.rs"
[[test]]
name = "ipc_roundtrip"
path = "tests/ipc_roundtrip.rs"
[[test]]
name = "parquet_roundtrip"
path = "tests/parquet_roundtrip.rs"
[[test]]
name = "protocol_roundtrip"
path = "tests/protocol_roundtrip.rs"
[[test]]
name = "pyarrow_roundtrip"
path = "tests/pyarrow_roundtrip.rs"
[[test]]
name = "quic_roundtrip"
path = "tests/quic_roundtrip.rs"
[[test]]
name = "stdio_roundtrip"
path = "tests/stdio_roundtrip.rs"
[[test]]
name = "tcp_roundtrip"
path = "tests/tcp_roundtrip.rs"
[[test]]
name = "test_compression_api"
path = "tests/test_compression_api.rs"
[[test]]
name = "test_compression_integration"
path = "tests/test_compression_integration.rs"
[[test]]
name = "test_compression_roundtrip"
path = "tests/test_compression_roundtrip.rs"
[[test]]
name = "test_mmap_shared_buffers"
path = "tests/test_mmap_shared_buffers.rs"
[[test]]
name = "uds_roundtrip"
path = "tests/uds_roundtrip.rs"
[[test]]
name = "websocket_roundtrip"
path = "tests/websocket_roundtrip.rs"
[[test]]
name = "webtransport_roundtrip"
path = "tests/webtransport_roundtrip.rs"
[dependencies.flatbuffers]
version = "25.2.10"
[dependencies.futures-core]
version = "0.3"
[dependencies.futures-sink]
version = "0.3.31"
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
[dependencies.libc]
version = "0.2.174"
optional = true
[dependencies.minarrow]
version = "0.8.2"
features = [
"chunked",
"views",
"large_string",
]
[dependencies.prost]
version = "0.13"
optional = true
[dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-ring",
]
optional = true
default-features = false
[dependencies.rmp-serde]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.snap]
version = "1.0"
optional = true
[dependencies.tokio]
version = "1"
features = [
"fs",
"io-util",
"rt-multi-thread",
"macros",
]
[dependencies.tokio-tungstenite]
version = "0.28"
optional = true
[dependencies.wtransport]
version = "0.7"
optional = true
[dependencies.zstd]
version = "0.12"
optional = true
[dev-dependencies.rcgen]
version = "0.13"
[dev-dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
]
default-features = false
[dev-dependencies.tempfile]
version = "3.20.0"