{"id":17715181,"url":"https://github.com/rust-cli/config-rs","last_synced_at":"2025-05-13T20:06:54.935Z","repository":{"id":37413133,"uuid":"79874569","full_name":"rust-cli/config-rs","owner":"rust-cli","description":"⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications). ","archived":false,"fork":false,"pushed_at":"2025-04-08T07:32:30.000Z","size":1168,"stargazers_count":2844,"open_issues_count":131,"forks_count":234,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-05-06T01:59:42.056Z","etag":null,"topics":["config","config-management","configuration","configuration-management","json","rust","toml"],"latest_commit_sha":null,"homepage":"https://docs.rs/config/latest/config/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rust-cli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-24T03:24:15.000Z","updated_at":"2025-05-02T12:38:53.000Z","dependencies_parsed_at":"2024-02-01T07:31:41.739Z","dependency_job_id":"9e8d996d-bd8f-427d-93ae-f629e53cee41","html_url":"https://github.com/rust-cli/config-rs","commit_stats":{"total_commits":726,"total_committers":80,"mean_commits":9.075,"dds":0.768595041322314,"last_synced_commit":"eec8d6d0cb7f65efa338d9b965788e887e28084f"},"previous_names":["rust-cli/config-rs"],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-cli%2Fconfig-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-cli%2Fconfig-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-cli%2Fconfig-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-cli%2Fconfig-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rust-cli","download_url":"https://codeload.github.com/rust-cli/config-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252606934,"owners_count":21775414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","config-management","configuration","configuration-management","json","rust","toml"],"created_at":"2024-10-25T12:00:59.100Z","updated_at":"2025-05-06T01:59:50.724Z","avatar_url":"https://github.com/rust-cli.png","language":"Rust","readme":"# config-rs\n\n![Rust](https://img.shields.io/badge/rust-stable-brightgreen.svg)\n[![Build Status](https://travis-ci.org/mehcode/config-rs.svg?branch=master)](https://travis-ci.org/mehcode/config-rs)\n[![Crates.io](https://img.shields.io/crates/d/config.svg)](https://crates.io/crates/config)\n[![Docs.rs](https://docs.rs/config/badge.svg)](https://docs.rs/config)\n\n\u003e Layered configuration system for Rust applications (with strong support for [12-factor] applications).\n\n[12-factor]: https://12factor.net/config\n\n - Set defaults\n - Set explicit values (to programmatically override)\n - Read from [JSON], [TOML], [YAML], [INI], [RON], [JSON5] files\n - Read from environment\n - Loosely typed — Configuration values may be read in any supported type, as long as there exists a reasonable conversion\n - Access nested fields using a formatted path — Uses a subset of JSONPath; currently supports the child ( `redis.port` ) and subscript operators ( `databases[0].name` )\n\n[JSON]: https://github.com/serde-rs/json\n[TOML]: https://github.com/toml-lang/toml\n[YAML]: https://github.com/Ethiraric/yaml-rust2\n[INI]: https://github.com/zonyitoo/rust-ini\n[RON]: https://github.com/ron-rs/ron\n[JSON5]: https://github.com/callum-oakley/json5-rs\n\nPlease note that this library can not be used to write changed configuration\nvalues back to the configuration file(s)!\n\n## Usage\n\n### Feature flags\n\n - `ini` - Adds support for reading INI files\n - `json` - Adds support for reading JSON files\n - `yaml` - Adds support for reading YAML files\n - `toml` - Adds support for reading TOML files\n - `ron` - Adds support for reading RON files\n - `json5` - Adds support for reading JSON5 files\n\n### Support for custom formats\n\nLibrary provides out of the box support for most renowned data formats such as JSON or Yaml. Nonetheless, it contains an extensibility point - a `Format` trait that, once implemented, allows seamless integration with library's APIs using custom, less popular or proprietary data formats.\n\nSee [custom_file_format](https://github.com/mehcode/config-rs/tree/master/examples/custom_file_format) example for more information.\n\n### More\n\nSee the [documentation](https://docs.rs/config) or [examples](https://github.com/mehcode/config-rs/tree/master/examples) for\nmore usage information.\n\n## License\n\nLicensed under either of\n\n* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or \u003chttp://opensource.org/licenses/MIT\u003e)\n\nat your option.\n","funding_links":[],"categories":["Libraries","Rust","Recently Updated"],"sub_categories":["Configuration","[Oct 31, 2024](/content/2024/10/31/README.md)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-cli%2Fconfig-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frust-cli%2Fconfig-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-cli%2Fconfig-rs/lists"}