[package]
edition = "2024"
rust-version = "1.94"
name = "kutil"
version = "0.0.6"
authors = ["Tal Liron"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Kutil utilities collection"
documentation = "https://docs.rs/kutil"
readme = "README.md"
keywords = [
"kutil",
"cli",
"http",
"io",
"transcoding",
]
categories = ["development-tools"]
license = "MIT OR Apache-2.0"
repository = "https://codeberg.org/tliron/kutil"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
_blanket = []
acme = ["dep:rustls-acme"]
async = []
axum = [
"dep:axum",
"dep:axum-server",
"tokio/signal",
"tower/util",
"dep:tokio-util",
]
bimap = ["dep:bimap"]
blocking = []
clap = [
"dep:clap",
"dep:clap_complete_command",
"dep:clap_mangen",
"dep:anstyle",
"dep:build-info",
"dep:build-info-build",
]
cli = [
"dep:anstream",
"dep:owo-colors",
"dep:problemo",
"dep:time",
"dep:tracing",
"dep:tracing-journald",
"dep:tracing-subscriber",
]
derive = ["dep:kutil-std-macros"]
fast-collections = [
"dep:bimap",
"dep:papaya",
"dep:ahash",
]
file = [
"tower",
"dep:tower-http",
]
http = [
"dep:base64-simd",
"dep:derive_more",
"dep:duration-str",
"dep:http",
"dep:http-body",
"dep:httpdate",
"dep:tracing",
"dep:tokio",
"dep:tokio-util",
"dep:url",
"dep:urlencoding",
"io",
"async",
"transcoding",
"derive",
"fast-collections",
"immutable",
]
immutable = [
"dep:bytes",
"dep:bytestring",
]
io = [
"dep:futures",
"dep:netdev",
"dep:tokio",
"dep:utf8-chars",
"tokio/rt",
"tokio/io-util",
]
python = [
"dep:pyo3",
"dep:pyo3-filelike",
]
serde = [
"bytes?/serde",
"bytestring?/serde",
]
std = [
"dep:backtrace",
"dep:ctrlc",
"dep:num-traits",
]
tls = [
"dep:rustls",
"dep:rustls-pemfile",
"dep:rustls-pki-types",
"dep:tracing",
]
tls-platform = [
"tls",
"dep:rustls-platform-verifier",
]
tls-self-contained = [
"tls",
"dep:webpki-roots",
]
transcoding = [
"dep:async-compression",
"dep:pin-project",
"dep:tracing",
"dep:tokio",
"async-compression/tokio",
"async-compression/brotli",
"async-compression/deflate",
"async-compression/gzip",
"async-compression/zstd",
"tokio/io-util",
"std",
"derive",
"immutable",
]
[lib]
name = "kutil"
path = "src/lib.rs"
[[example]]
name = "join_conjunction"
path = "examples/join_conjunction.rs"
required-features = ["std"]
[dependencies.ahash]
version = "0.8.12"
optional = true
[dependencies.anstream]
version = "1.0.0"
optional = true
[dependencies.anstyle]
version = "1.0.13"
optional = true
[dependencies.async-compression]
version = "0.4.41"
optional = true
[dependencies.axum]
version = "0.8.8"
optional = true
[dependencies.axum-server]
version = "0.8.0"
optional = true
[dependencies.backtrace]
version = "0.3.76"
optional = true
[dependencies.base64-simd]
version = "0.8.0"
optional = true
[dependencies.bimap]
version = "0.6.3"
optional = true
[dependencies.build-info]
version = "0.0.42"
optional = true
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.bytestring]
version = "1.5.0"
optional = true
[dependencies.clap]
version = "4.5.60"
features = ["derive"]
optional = true
[dependencies.clap_complete_command]
version = "0.6.1"
optional = true
[dependencies.clap_mangen]
version = "0.2.31"
optional = true
[dependencies.ctrlc]
version = "3.5.2"
optional = true
[dependencies.derive_more]
version = "2.1.1"
features = [
"from",
"error",
"display",
]
optional = true
[dependencies.duration-str]
version = "0.21.0"
optional = true
[dependencies.futures]
version = "0.3.32"
optional = true
[dependencies.http]
version = "1.4.0"
optional = true
[dependencies.http-body]
version = "1.0.1"
optional = true
[dependencies.httpdate]
version = "1.0.3"
optional = true
[dependencies.kutil-std-macros]
version = "=0.0.5"
optional = true
[dependencies.netdev]
version = "0.40.1"
optional = true
[dependencies.num-traits]
version = "0.2.19"
optional = true
[dependencies.owo-colors]
version = "4.3.0"
optional = true
[dependencies.papaya]
version = "0.2.3"
optional = true
[dependencies.pin-project]
version = "1.1.11"
optional = true
[dependencies.problemo]
version = "=0.0.12"
optional = true
[dependencies.pyo3]
version = "0.28.2"
optional = true
[dependencies.pyo3-filelike]
version = "0.5.2"
optional = true
[dependencies.rustls]
version = "0.23.37"
optional = true
[dependencies.rustls-acme]
version = "0.15.1"
features = ["axum"]
optional = true
[dependencies.rustls-pemfile]
version = "2.2.0"
optional = true
[dependencies.rustls-pki-types]
version = "1.14.0"
optional = true
[dependencies.rustls-platform-verifier]
version = "0.6.2"
optional = true
[dependencies.time]
version = "0.3.47"
features = ["macros"]
optional = true
[dependencies.tokio]
version = "1.50.0"
optional = true
[dependencies.tokio-util]
version = "0.7.18"
features = ["io-util"]
optional = true
[dependencies.tower]
version = "0.5.3"
optional = true
[dependencies.tower-http]
version = "0.6.8"
features = ["fs"]
optional = true
[dependencies.tracing]
version = "0.1.44"
optional = true
[dependencies.tracing-journald]
version = "0.3.2"
optional = true
[dependencies.tracing-subscriber]
version = "0.3.22"
features = [
"env-filter",
"local-time",
]
optional = true
[dependencies.url]
version = "2.5.8"
optional = true
[dependencies.urlencoding]
version = "2.1.3"
optional = true
[dependencies.utf8-chars]
version = "3.0.6"
optional = true
[dependencies.webpki-roots]
version = "1.0.6"
optional = true
[build-dependencies.build-info-build]
version = "0.0.42"
optional = true