9 个版本 (5 个重大变更)

0.6.1 2024年3月1日
0.5.1 2022年10月25日
0.4.0 2020年3月13日
0.3.1 2018年12月6日
0.2.0 2016年3月8日

#48解析器实现

Download history 8196/week @ 2024-04-27 7760/week @ 2024-05-04 7086/week @ 2024-05-11 8286/week @ 2024-05-18 7676/week @ 2024-05-25 8402/week @ 2024-06-01 8859/week @ 2024-06-08 8363/week @ 2024-06-15 10738/week @ 2024-06-22 8993/week @ 2024-06-29 9751/week @ 2024-07-06 11074/week @ 2024-07-13 12287/week @ 2024-07-20 11574/week @ 2024-07-27 10935/week @ 2024-08-03 10396/week @ 2024-08-10

46,922 每月下载量
用于 200 个crate(187 个直接使用)

MIT/X11 OR Apache-2.0

25KB
339

confy

crates.io docs.rs Discord

零样板配置管理。

专注于存储正确的数据,而不是担心如何或在哪里存储它。

use serde_derive::{Serialize, Deserialize};

#[derive(Default, Debug, Serialize, Deserialize)]
struct MyConfig {
    version: u8,
    api_key: String,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let cfg: MyConfig = confy::load("my-app-name", None)?;
    dbg!(cfg);
    Ok(())
}

Confy功能标志

confy 可以与 TOMLYAMLRON 文件一起使用。 TOML 是与 confy 一起使用的默认语言,但可以通过以下方式启用其他语言。

注意:您一次只能使用这些功能中的一个,因此要使用任何可选功能,您必须禁用默认功能。

使用 YAML

要使用 YAML 文件与 confy 一起使用,您必须确保已启用 yaml_conf 功能,并禁用 toml_confron_conf

Cargo.toml 中启用功能

[dependencies.confy]
features = ["yaml_conf"]
default-features = false

使用 RON

要使用 RON 文件与 confy 一起使用,您必须确保已启用 ron_conf 功能,并禁用 toml_confyaml_conf

Cargo.toml 中启用功能

[dependencies.confy]
features = ["ron_conf"]
default-features = false

更改错误消息

有关向错误消息添加上下文的信息,请参阅提供上下文

重大变更

版本 0.6.0

在这个版本中,我们提高了几个依赖项,这些依赖项在默认(反)序列化过程中有一些变化

  • serde_yaml v0.8 -> v0.9: v0.9 版本说明。对 v0.9.0 进行了几个重大变更,并列在这个版本标签中。特别是之前数字被解析但现在返回 String 的情况。有关更多详细信息,请参阅版本说明。
  • toml v0.5 -> v0.8: v0.8 版本变更日志. 对 toml 中元组变体工作的破坏性更改,根据说明:“元组变体的序列化和反序列化已从数组更改为表,其中键为变体名称,值为数组”。

版本 0.5.0

  • 在需要多个配置或不同文件名的情况下,为基本函数 loadstore 添加了可选参数。
  • 默认配置文件现在命名为 "default-config",而不是使用应用程序的名称。将 loadstore 的第二个参数设置为与第一个参数相同,以保留以前的配置文件。
  • 现在可以将配置保存为 tomlYAML 格式。配置文件的扩展名取决于使用的格式。

版本 0.4.0

从版本 0.4.0 开始,配置文件存储在您系统预期的位置。有关更多信息,请参阅 directories 软件包。在版本 0.4.0 之前,配置文件被写入当前目录。

许可证

本作品受 MIT、MIT/X11 或 Apache 2.0 许可(或任何后续版本)的三重许可。如果您使用此作品,可以选择这三个许可中的任何一个。

SPDX-许可证-标识符: MIT X11 Apache-2.0+

依赖项

~0.5–11MB
~77K SLoC