Expand description
§Quantum Config
A powerful and flexible configuration management library for Rust applications.
Quantum Config provides a unified interface for loading configuration from multiple sources including files, environment variables, and command-line arguments, with automatic type conversion and validation.
§Features
- Multiple Configuration Sources: Load from TOML, JSON, YAML files, environment variables, and CLI arguments
- Hierarchical Configuration: Support for nested configuration structures
- Type Safety: Automatic deserialization with compile-time type checking
- Flexible Priority: Configurable precedence for different configuration sources
- Derive Macros: Simple
#[derive(Config)]for automatic configuration management - Async Support: Optional async configuration loading
- Template Generation: Generate configuration file templates
§Quick Start
ⓘ
use quantum_config::{Config, Deserialize, Serialize};
#[derive(Config, Default, Deserialize, Serialize)]
struct AppConfig {
host: String,
port: u16,
debug: bool,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = AppConfig::load()?;
println!("Server running on {}:{}", config.host, config.port);
Ok(())
}Re-exports§
pub use error::ConfigDirType;pub use error::QuantumConfigError;pub use meta::ClapAttrsMeta;pub use meta::FieldMeta;pub use meta::QuantumConfigAppMeta;pub use meta::StructMeta;pub use paths::add_specified_config_file;pub use paths::resolve_config_files;pub use paths::ConfigFilePath;pub use paths::ConfigFileType;pub use ::serde;pub use ::toml;
Modules§
- error
- Quantum Config 错误处理模块
- meta
- Quantum Config 元数据结构模块
- path_
conversion - Path conversion utilities for cross-platform path handling.
- paths
- Quantum Config 路径解析模块
- providers
- 配置提供器模块
Structs§
- Arg
- The abstract representation of a command line argument. Used to set all the options and relationships that define a valid argument for the program.
- ArgMatches
- Container for parse results.
- Command
- Build a command-line interface.
- Figment
- Combiner of
Providers for configuration value extraction.
Enums§
- ArgAction
- Behavior of arguments when they are encountered while parsing
Traits§
- Deserialize
- A data structure that can be deserialized from any data format supported by Serde.
- Serialize
- A data structure that can be serialized into any data format supported by Serde.
Derive Macros§
- Config
- 为结构体自动实现配置管理功能的派生宏
- Deserialize
- Serialize