30个版本

0.14.0 2024年2月1日
0.13.4 2023年11月22日
0.13.3 2022年12月4日
0.13.2 2022年8月2日
0.1.1 2015年4月30日

#1配置

Download history 242459/week @ 2024-04-26 247799/week @ 2024-05-03 273061/week @ 2024-05-10 284572/week @ 2024-05-17 262110/week @ 2024-05-24 288330/week @ 2024-05-31 280775/week @ 2024-06-07 270998/week @ 2024-06-14 261545/week @ 2024-06-21 233778/week @ 2024-06-28 246039/week @ 2024-07-05 281053/week @ 2024-07-12 302446/week @ 2024-07-19 274567/week @ 2024-07-26 297175/week @ 2024-08-02 264736/week @ 2024-08-09

1,193,153 每月下载量
1,135 Crates中使用 (684个直接使用)

MIT/Apache

150KB
3.5K SLoC

config-rs

Rust Build Status Crates.io Docs.rs

为Rust应用程序提供分层配置系统(强支持12-factor应用程序)。

  • 设置默认值
  • 设置显式值(用于程序化覆盖)
  • JSONTOMLYAMLINIRONJSON5文件中读取
  • 从环境变量中读取
  • 类型宽松 — 配置值可以以任何支持的类型读取,只要存在合理的转换
  • 使用格式化路径访问嵌套字段 — 使用JSONPath的子集;目前支持子( redis.port )和索引运算符( databases[0].name

请注意此库

  • 不能用于将更改后的配置值写回配置文件!
  • 不区分大小写,并且所有键都会在内部转换为小写

用法

[dependencies]
config = "0.14.0"

功能标志

  • ini - 添加对读取INI文件的支持
  • json - 添加对读取JSON文件的支持
  • yaml - 添加对读取YAML文件的支持
  • toml - 添加对读取TOML文件的支持
  • ron - 添加对读取RON文件的支持
  • json5 - 添加对读取JSON5文件的支持

支持自定义格式

该库提供对大多数知名数据格式(如JSON或Yaml)的原生支持。然而,它包含一个可扩展点——一个Format特质,一旦实现,就可以通过自定义的、不太流行或专有数据格式与库的API无缝集成。

有关更多信息,请参阅自定义文件格式示例。

更多

有关更多信息,请参阅文档示例

MSRV

我们目前支持Rust 1.70.0及更高版本。

许可证

config-rs主要在MIT许可证和Apache许可证(版本2.0)的条款下分发。

有关详细信息,请参阅LICENSE-APACHE和LICENSE-MIT。

依赖项

~1.9–3.5MB
~75K SLoC