[package] name = "abscissa_core" description = """ Application microframework with support for command-line option parsing, configuration, error handling, logging, and terminal interactions. This crate contains the framework's core functionality. """ version = "0.8.1" license = "Apache-2.0" authors = ["Tony Arcieri "] homepage = "https://github.com/iqlusioninc/abscissa/" repository = "https://github.com/iqlusioninc/abscissa/tree/main/core/" readme = "../README.md" categories = ["command-line-interface", "config", "rust-patterns"] keywords = ["abscissa", "cli", "application", "framework", "service"] edition = "2021" rust-version = "1.74" [dependencies] abscissa_derive = { version = "0.8", path = "../derive" } backtrace = "0.3" canonical-path = "2" fs-err = "2" once_cell = "1.17" # optional dependencies arc-swap = { version = "1", optional = true } color-eyre = { version = "0.6", optional = true, default-features = false } clap = { version = "4", optional = true, features = ["derive"] } regex = { version = "1", optional = true } secrecy = { version = "0.10", optional = true, features = ["serde"] } semver = { version = "1", optional = true } serde = { version = "1", optional = true, features = ["serde_derive"] } termcolor = { version = "1", optional = true } toml = { version = "0.8", optional = true } tracing = { version = "0.1", optional = true } tracing-log = { version = "0.2", optional = true } wait-timeout = { version = "0.2", optional = true } [dependencies.tracing-subscriber] version = "0.3" optional = true default-features = false features = ["fmt", "env-filter", "ansi", "smallvec", "tracing-log"] [features] default = [ "application", "secrets", "testing", ] application = [ "arc-swap", "config", "trace", "options", "semver/serde", "terminal" ] config = [ "secrets", "serde", "terminal", "toml" ] options = ["clap"] secrets = ["secrecy"] terminal = ["color-eyre", "termcolor"] testing = ["regex", "wait-timeout"] trace = [ "tracing", "tracing-log", "tracing-subscriber" ]