[package]
edition = "2024"
name = "mkutils"
version = "0.1.26"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Utility methods, traits, and types."
readme = "README.md"
keywords = ["utilities"]
categories = ["development-tools"]
license = "Apache-2.0"
repository = "https://github.com/mkxl/mkutils-rs"
[features]
async = [
"dep:anyhow",
"dep:bytes",
"dep:derive_more",
"dep:futures",
"dep:tokio",
"dep:tokio-stream",
"dep:tokio-util",
]
fmt = ["dep:derive_more"]
fs = [
"dep:anyhow",
"dep:camino",
"dep:derive_more",
"dep:home",
"dep:shellexpand",
]
misc = [
"dep:derive_more",
"dep:num",
]
output = ["dep:derive_more"]
poem = [
"dep:bytes",
"dep:futures",
"dep:poem",
"dep:poem-openapi",
"dep:serde_json",
]
process = [
"dep:anyhow",
"dep:derive_more",
"dep:tokio",
]
reqwest = [
"dep:anyhow",
"dep:reqwest",
"dep:serde",
]
rmp = [
"dep:rmp-serde",
"dep:serde",
]
ropey = [
"dep:derive_more",
"dep:num",
"dep:ropey",
"dep:serde",
"dep:tokio",
"dep:unicode-segmentation",
]
serde = [
"dep:serde",
"dep:serde_json",
"dep:serde_yaml_ng",
"dep:valuable",
]
socket = [
"dep:anyhow",
"async",
"dep:derive_more",
"rmp",
"output",
]
tracing = [
"dep:console-subscriber",
"dep:derive_more",
"dep:tracing",
"dep:tracing-subscriber",
]
tui = [
"dep:anyhow",
"dep:derive_more",
"dep:num",
"dep:serde",
"dep:tracing",
"dep:trie-rs",
"dep:unicode-segmentation",
]
[lib]
name = "mkutils"
path = "src/lib.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[dependencies.anyhow]
version = "1.0.100"
optional = true
[dependencies.bytes]
version = "1.10.1"
optional = true
[dependencies.camino]
version = "1.2.1"
optional = true
[dependencies.console-subscriber]
version = "0.4.1"
optional = true
[dependencies.crossterm]
version = "0.29.0"
features = [
"event-stream",
"libc",
"serde",
"use-dev-tty",
]
[dependencies.derive_more]
version = "2.0.1"
features = [
"constructor",
"from",
"into",
"is_variant",
]
optional = true
[dependencies.futures]
version = "0.3.31"
optional = true
[dependencies.home]
version = "0.5.12"
optional = true
[dependencies.itertools]
version = "0.14.0"
[dependencies.mkutils-macros]
version = "0.1.26"
optional = true
[dependencies.num]
version = "0.4.3"
optional = true
[dependencies.poem]
version = "3.1.12"
features = [
"anyhow",
"websocket",
]
optional = true
[dependencies.poem-openapi]
version = "5.1.16"
features = ["websocket"]
optional = true
[dependencies.ratatui]
version = "0.30.0"
features = [
"crossterm_0_29",
"unstable-backend-writer",
]
[dependencies.reqwest]
version = "0.12.23"
features = ["json"]
optional = true
[dependencies.rmp-serde]
version = "1.3.0"
optional = true
[dependencies.ropey]
version = "1.6.1"
optional = true
[dependencies.serde]
version = "1.0.226"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.145"
optional = true
[dependencies.serde_yaml_ng]
version = "0.10.0"
optional = true
[dependencies.shellexpand]
version = "3.1.1"
optional = true
[dependencies.tokio]
version = "1.47.1"
features = [
"fs",
"io-std",
"io-util",
"macros",
"net",
"process",
"rt",
]
optional = true
[dependencies.tokio-stream]
version = "0.1.17"
features = [
"io-util",
"sync",
]
optional = true
[dependencies.tokio-util]
version = "0.7.16"
features = [
"codec",
"io",
]
optional = true
[dependencies.tracing]
version = "0.1.41"
features = ["valuable"]
optional = true
[dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"json",
"valuable",
]
optional = true
[dependencies.trie-rs]
version = "0.4.2"
optional = true
[dependencies.unicode-segmentation]
version = "1.12.0"
optional = true
[dependencies.valuable]
version = "0.1.1"
optional = true
[lints.clippy]
all = "deny"
cargo = "deny"
nursery = "deny"
pedantic = "deny"
[lints.clippy.future_not_send]
level = "allow"
priority = 1
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1
[lints.clippy.module_inception]
level = "allow"
priority = 1
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.clippy.option_if_let_else]
level = "allow"
priority = 1
[lints.rust]
warnings = "deny"