| Crates.io | config-lib |
| lib.rs | config-lib |
| version | 0.4.0 |
| created_at | 2025-09-21 15:16:39.565695+00 |
| updated_at | 2025-09-21 15:16:39.565695+00 |
| description | A configuration parsing library supporting CONF, NOML, TOML, and JSON formats. |
| homepage | https://github.com/jamesgober/config-lib |
| repository | https://github.com/jamesgober/config-lib |
| max_upload_size | |
| id | 1848882 |
| size | 210,267 |
Config-lib is a high-performance, enterprise-grade configuration management library for Rust applications requiring extreme performance and reliability. Built for database technologies and high-concurrency systems demanding sub-50ns access times.
Arc<RwLock> for enterprise environmentsBuilt for database technology that's "3 times faster, 1,000 times stronger, and 90% more efficient than Oracle."
Built-in CONF parser with optional support for:
config.get("server.database.host"))use config_lib::{Config, EnterpriseConfig};
// Standard configuration management
let mut config = Config::from_file("app.conf")?;
let port = config.get("server.port").unwrap().as_integer()?;
let host = config.get("server.host").unwrap().as_string()?;
// Enterprise configuration with caching
let enterprise = EnterpriseConfig::from_file("production.conf")?;
let cached_value = enterprise.get_or_default("database.timeout", 30)?;
// Modify and track changes
config.set("server.port", 9000)?;
if config.is_modified() {
config.save()?;
}
Config - High-level configuration management with change trackingEnterpriseConfig - Performance-optimized caching layer for production systemsValue - Type-safe value system with zero-copy string accessError - Comprehensive error handling with source location context| Feature | Default | Description |
|---|---|---|
conf |
โ | CONF format parsing (built-in) |
json |
โ | JSON format support |
noml |
โ | NOML format support |
toml |
โ | TOML format support |
async |
โ | Async file operations |
chrono |
โ | DateTime support |
schema |
โ | Schema validation |
# Cargo.toml
[dependencies]
config-lib = { version = "0.4.0", features = ["json", "async"] }
Licensed under the Apache License, version 2.0 (the "License"); you may not use this software, including, but not limited to the source code, media files, ideas, techniques, or any other associated property or concept belonging to, associated with, or otherwise packaged with this software except in compliance with the License.
You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the LICENSE file included with this project for the specific language governing permissions and limitations under the License.