[package]
name = "polars-io"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "IO related logic for the Polars DataFrame library"
[dependencies]
polars-core = { workspace = true }
polars-error = { workspace = true }
polars-json = { workspace = true, optional = true }
polars-parquet = { workspace = true, optional = true }
polars-schema = { workspace = true }
polars-time = { workspace = true, features = [], optional = true }
polars-utils = { workspace = true, features = ['mmap'] }
ahash = { workspace = true }
arrow = { workspace = true }
async-trait = { version = "0.1.59", optional = true }
atoi_simd = { workspace = true, optional = true }
blake3 = { version = "1.5.1", optional = true }
bytes = { workspace = true }
chrono = { workspace = true, optional = true }
chrono-tz = { workspace = true, optional = true }
fast-float2 = { workspace = true, optional = true }
flate2 = { workspace = true, optional = true }
futures = { workspace = true, optional = true }
glob = { version = "0.3" }
hashbrown = { workspace = true }
itoa = { workspace = true, optional = true }
memchr = { workspace = true }
memmap = { workspace = true }
num-traits = { workspace = true }
object_store = { workspace = true, optional = true }
once_cell = { workspace = true }
percent-encoding = { workspace = true }
pyo3 = { workspace = true, optional = true }
rayon = { workspace = true }
regex = { workspace = true }
reqwest = { workspace = true, optional = true }
ryu = { workspace = true, optional = true }
serde = { workspace = true, features = ["rc"], optional = true }
serde_json = { version = "1", optional = true }
simd-json = { workspace = true, optional = true }
simdutf8 = { workspace = true, optional = true }
tokio = { workspace = true, features = ["fs", "net", "rt-multi-thread", "time", "sync"], optional = true }
tokio-util = { workspace = true, features = ["io", "io-util"], optional = true }
url = { workspace = true, optional = true }
zstd = { workspace = true, optional = true }
[target.'cfg(not(target_family = "wasm"))'.dependencies]
fs4 = { version = "0.12", features = ["sync"], optional = true }
home = "0.5.4"
[dev-dependencies]
tempfile = "3"
[features]
default = ["decompress"]
json = [
"polars-json",
"simd-json",
"atoi_simd",
"dtype-struct",
"csv",
]
serde = ["dep:serde", "polars-core/serde-lazy", "polars-parquet/serde", "polars-utils/serde"]
ipc = ["arrow/io_ipc", "arrow/io_ipc_compression"]
ipc_streaming = ["arrow/io_ipc", "arrow/io_ipc_compression"]
avro = ["arrow/io_avro", "arrow/io_avro_compression"]
csv = ["atoi_simd", "polars-core/rows", "itoa", "ryu", "fast-float2", "simdutf8"]
decompress = ["flate2/rust_backend", "zstd"]
decompress-fast = ["flate2/zlib-ng", "zstd"]
dtype-u8 = ["polars-core/dtype-u8"]
dtype-u16 = ["polars-core/dtype-u16"]
dtype-i8 = ["polars-core/dtype-i8"]
dtype-i16 = ["polars-core/dtype-i16"]
dtype-categorical = ["polars-core/dtype-categorical"]
dtype-date = ["polars-core/dtype-date", "polars-time/dtype-date"]
object = ["polars-core/object"]
dtype-datetime = [
"polars-core/dtype-datetime",
"polars-core/temporal",
"polars-time/dtype-datetime",
"chrono",
]
timezones = [
"chrono-tz",
"dtype-datetime",
"arrow/timezones",
"polars-json?/chrono-tz",
"polars-json?/timezones",
]
dtype-time = ["polars-core/dtype-time", "polars-core/temporal", "polars-time/dtype-time"]
dtype-struct = ["polars-core/dtype-struct"]
dtype-decimal = ["polars-core/dtype-decimal", "polars-json?/dtype-decimal"]
fmt = ["polars-core/fmt"]
lazy = []
parquet = ["polars-parquet", "polars-parquet/compression", "polars-core/partition_by"]
async = [
"async-trait",
"futures",
"tokio",
"tokio-util",
"polars-error/regex",
"polars-parquet?/async",
]
cloud = [
"object_store",
"async",
"polars-error/object_store",
"url",
"serde_json",
"serde",
"file_cache",
"reqwest",
"http",
]
file_cache = ["async", "dep:blake3", "dep:fs4", "serde_json", "cloud"]
aws = ["object_store/aws", "cloud", "reqwest"]
azure = ["object_store/azure", "cloud"]
gcp = ["object_store/gcp", "cloud"]
http = ["object_store/http", "cloud"]
temporal = ["dtype-datetime", "dtype-date", "dtype-time"]
simd = []
python = ["pyo3", "polars-error/python", "polars-utils/python"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]