config-lib 0.9.8

Enterprise-grade multi-format configuration library supporting 8 formats (CONF, INI, Properties, JSON, XML, HCL, TOML, NOML) with sub-50ns caching, hot reloading, and comprehensive validation.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.75"
name = "config-lib"
version = "0.9.8"
authors = ["James Gober <code@jamesgober.dev>"]
build = false
exclude = [
    ".github/",
    ".dev/",
    "benches/",
    "docs/",
    "fuzz/",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Enterprise-grade multi-format configuration library supporting 8 formats (CONF, INI, Properties, JSON, XML, HCL, TOML, NOML) with sub-50ns caching, hot reloading, and comprehensive validation."
homepage = "https://github.com/jamesgober/config-lib"
documentation = "https://docs.rs/config-lib"
readme = "README.md"
keywords = [
    "config",
    "parser",
    "toml",
    "multi-format",
    "hot-reload",
]
categories = [
    "config",
    "parsing",
    "data-structures",
    "development-tools",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/jamesgober/config-lib"

[features]
async = [
    "dep:tokio",
    "noml?/async",
]
chrono = [
    "dep:chrono",
    "noml?/chrono",
]
conf = []
default = [
    "conf",
    "hot-reload",
]
env-override = []
hcl = []
hot-reload = ["dep:notify"]
json = ["dep:serde_json"]
noml = ["dep:noml"]
schema = []
toml = ["dep:noml"]
validation = ["dep:regex"]
xml = ["dep:quick-xml"]

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

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

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

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

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

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

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

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

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

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

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

[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true

[dependencies.noml]
version = "=0.9.0"
features = []
optional = true

[dependencies.notify]
version = "6"
optional = true

[dependencies.quick-xml]
version = "0.31"
optional = true

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

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

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

[dependencies.thiserror]
version = "1.0"

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

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

[dev-dependencies.tempfile]
version = "3.8"

[dev-dependencies.tokio-test]
version = "0.4"

[profile.bench]
debug = 2
inherits = "release"

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
panic = "abort"
overflow-checks = false