oneio 0.20.1

OneIO is a Rust library that provides unified simple IO interface for reading and writing to and from data files from different sources and compressions.
Documentation
[[bench]]
harness = false
name = "gzip_decompress"
path = "benches/gzip_decompress.rs"
required-features = ["any_gz"]

[[bin]]
name = "oneio"
path = "src/bin/oneio.rs"
required-features = ["cli"]

[dependencies.async-compression]
features = ["tokio", "gzip", "bzip2", "zstd"]
optional = true
version = "0.4"

[dependencies.bzip2]
optional = true
version = "0.6.0"

[dependencies.clap]
features = ["derive"]
optional = true
version = "4.4"

[dependencies.dotenvy]
version = "0.15"

[dependencies.flate2]
default-features = false
optional = true
version = "1.1"

[dependencies.futures]
optional = true
version = "0.3"

[dependencies.hex]
optional = true
version = "0.4"

[dependencies.lz4]
optional = true
version = "1.24"

[dependencies.reqwest]
default-features = false
features = ["blocking", "http2", "charset", "stream"]
optional = true
version = "0.12"

[dependencies.ring]
optional = true
version = "0.17"

[dependencies.rust-s3]
default-features = false
features = ["sync-rustls-tls"]
optional = true
version = "0.37"

[dependencies.rustls_sys]
optional = true
package = "rustls"
version = "0.23"

[dependencies.serde]
optional = true
version = "1.0"

[dependencies.serde_json]
optional = true
version = "1.0"

[dependencies.suppaftp]
optional = true
version = "7.0"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
features = ["rt", "rt-multi-thread", "io-util", "fs"]
optional = true
version = "1.0"

[dependencies.tokio-util]
optional = true
version = "0.7"

[dependencies.tracing]
optional = true
version = "0.1"

[dependencies.xz2]
optional = true
version = "0.1"

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

[dev-dependencies.criterion]
default-features = false
version = "0.5"

[dev-dependencies.indicatif]
version = "0.18"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0"

[dev-dependencies.tar]
version = "0.4"

[dev-dependencies.tokio]
features = ["macros", "rt"]
version = "1.0"

[dev-dependencies.tracing]
version = "0.1"

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

[[example]]
name = "async_read"
path = "examples/async_read.rs"
required-features = ["async"]

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

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

[[example]]
name = "s3_operations"
path = "examples/s3_operations.rs"
required-features = ["s3"]

[[example]]
name = "test_crypto_provider"
path = "examples/test_crypto_provider.rs"
required-features = ["https"]

[features]
any_gz = []
async = ["tokio", "tokio-util", "async-compression", "futures"]
bz = ["bzip2"]
cli = ["clap", "tracing", "gz", "bz", "lz", "xz", "http", "s3", "digest"]
default = ["gz", "bz", "https"]
digest = ["ring", "hex"]
ftp = ["https", "suppaftp"]
gz = ["gz-zlib-rs"]
gz-miniz = ["any_gz", "flate2/miniz_oxide"]
gz-zlib-cloudflare = ["any_gz", "flate2/cloudflare_zlib"]
gz-zlib-ng = ["any_gz", "flate2/zlib-ng"]
gz-zlib-rs = ["any_gz", "flate2/zlib-rs"]
http = ["reqwest"]
https = ["http", "rustls"]
json = ["serde", "serde_json"]
lib-core = ["http", "ftp", "gz", "bz", "lz", "xz", "zstd", "json"]
lz = ["lz4"]
native-tls = ["reqwest?/native-tls", "suppaftp?/native-tls", "rust-s3?/sync-native-tls"]
rustls = ["dep:rustls_sys", "reqwest?/rustls-tls-native-roots", "reqwest?/rustls-tls-webpki-roots", "suppaftp?/rustls", "rust-s3?/sync-rustls-tls"]
s3 = ["rust-s3"]
xz = ["xz2"]
zstd = ["dep:zstd"]

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

[package]
authors = ["Mingwei Zhang <mingwei@bgpkit.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
default-run = "oneio"
description = """
OneIO is a Rust library that provides unified simple IO interface for
reading and writing to and from data files from different sources and compressions.
"""
documentation = "https://docs.rs/oneio"
edition = "2021"
keywords = ["io", "util", "s3", "ftp"]
license = "MIT"
name = "oneio"
readme = "README.md"
repository = "https://github.com/bgpkit/oneio"
version = "0.20.1"

[package.metadata.binstall]
pkg-fmt = "tgz"
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.gz"

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

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