| Crates.io | conftier |
| lib.rs | conftier |
| version | 0.0.2 |
| created_at | 2025-05-17 09:34:46.953663+00 |
| updated_at | 2025-05-17 09:34:46.953663+00 |
| description | Multi-level configuration framework |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1677750 |
| size | 930,064 |
A powerful multi-tier configuration management framework that simplifies the definition, access, and synchronization of layered configurations in applications.
Think of VSCode's configuration system: you have user settings that apply globally and workspace settings that override them for specific projects. Conftier brings this same intuitive model to your frameworks and applications.
Conftier is available in multiple languages:
For comprehensive guides, examples, and API reference, visit our documentation:
Conftier helps you manage configurations across multiple levels:
Conftier automatically merges these configurations based on priority (project > user > default).
# Basic installation
pip install conftier
# With Pydantic support (recommended)
pip install conftier[pydantic]
Add this to your Cargo.toml:
[dependencies]
conftier = ">=0.0.2"
from pydantic import BaseModel
from conftier import ConfigManager
class AppConfig(BaseModel):
app_name: str = "MyApp"
debug: bool = False
config_manager = ConfigManager(
config_name="myapp",
config_schema=AppConfig,
auto_create=True
)
# Load the merged configuration
config: AppConfig = config_manager.load()
use serde::{Serialize, Deserialize};
use conftier::core::ConfigManager;
#[derive(Serialize, Deserialize, Clone, Default)]
struct AppConfig {
app_name: String,
debug: bool,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Initialize config manager
let mut config_manager = ConfigManager::<AppConfig>::new(
"myapp", "1.0", true, true
);
// Load and access configuration
let config = config_manager.load();
println!("App name: {}", config.app_name);
Ok(())
}
Conftier shines when:
This project is licensed under the terms of the MIT license.
See LICENSE for more details.
For more information, please contact: zeeland4work@gmail.com
This project was generated with P3G