abscissa_core 0.7.0

Application microframework with support for command-line option parsing, configuration, error handling, logging, and terminal interactions. This crate contains the framework's core functionality.
Documentation
[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.7.0"
license      = "Apache-2.0"
authors      = ["Tony Arcieri <tony@iqlusion.io>"]
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.60"

[dependencies]
abscissa_derive = { version = "0.7", path = "../derive" }
backtrace = "0.3"
canonical-path = "2"
fs-err = "2"
once_cell = "1.4"

# 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.8", 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.5", optional = true }
tracing = { version = "0.1", optional = true }
tracing-log = { version = "0.1", 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"
]