Cargo Features

Lightstream has no features set by default.

[dependencies]
lightstream = { version = "0.4.2", features = ["extended_categorical", "large_string", "datetime", "extended_numeric_types", "mmap", "parquet", "tcp", "websocket", "quic", "webtransport", "uds", "stdio", "protocol", "protobuf", "msgpack", "snappy", "zstd"] }
extended_categorical

Enables extended_categorical of minarrow

minarrow:

Adds Categorical8, Categorical16, and Categorical64.

Highly recommend keeping these off unless required E.g., constrained or embedded environments, as they add combinatorial weight to the binary and enum match arms

large_string

Enables minarrow

minarrow:

Int64-based string

Affects parquet::decode_large_string_plain, data::encode_large_string_plain

datetime

Enables datetime of minarrow

minarrow:

Adds Datetime array types.

extended_numeric_types

Enables extended_numeric_types of minarrow

minarrow:

Adds UInt8, UInt16, Int8, Int16 types.

Highly recommend keeping these off unless required E.g., constrained or embedded environments, as they add combinatorial weight to the binary and enum match arms.

For most analytical use cases, they get upcasted anyway.

Affects parquet::decode_uint8_as_int32_plain, parquet::decode_uint16_as_int32_plain, data::encode_uint8_as_int32_plain, data::encode_uint16_as_int32_plain

mmap = libc

Affects lightstream::ipc.mmap_table_reader, lightstream::models.mmap

parquet

Adds parquet IO

Affects lightstream::encoders.parquet, lightstream::decoders.parquet, lightstream::readers.parquet_reader, lightstream::writers.parquet_writer, lightstream::types.parquet

tcp websocket?

TCP transport

Enables net of tokio

Affects lightstream::readers.tcp, lightstream::writers.tcp, lightstream::streams.tcp

websocket = tcp, tokio-tungstenite

WebSocket transport

Affects lightstream::readers.websocket, lightstream::writers.websocket, lightstream::streams.websocket

quic = quinn

QUIC transport

Enables net of tokio

Affects lightstream::readers.quic, lightstream::writers.quic, lightstream::streams.quic

webtransport = wtransport

WebTransport transport

Enables net of tokio

Affects lightstream::readers.webtransport, lightstream::writers.webtransport, lightstream::streams.webtransport

uds

Unix domain socket transport

Enables net of tokio

Affects lightstream::readers.uds, lightstream::writers.uds, lightstream::streams.uds

stdio

Stdin/stdout transport

Enables io-std of tokio

Affects lightstream::readers.stdio, lightstream::writers.stdio, lightstream::streams.stdio

protocol msgpack? protobuf?

Lightstream protocol multiplexing

Affects lightstream::frames.protocol_message, lightstream::readers.lightstream, lightstream::writers.lightstream, lightstream::models.protocol

protobuf = prost, protocol

Protobuf support for protocol messages via prost

msgpack = protocol, rmp-serde, serde

MessagePack support for protocol messages via rmp-serde

snappy = snap

Adds snappy compression option

zstd

Adds zstd compression option

Enables zstd ^0.12

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

libc mmap?
snap snappy?
tokio-tungstenite websocket?
quinn quic?
wtransport webtransport?
prost protobuf?

Enables prost ^0.13

rmp-serde msgpack?
serde msgpack?