4 个版本 (重大更改)

使用旧的 Rust 2015

0.4.0 2024年5月27日
0.3.0 2021年7月2日
0.2.0 2018年6月14日
0.1.0 2018年4月13日

#144解析器实现

Download history 1774/week @ 2024-04-15 1801/week @ 2024-04-22 1395/week @ 2024-04-29 1526/week @ 2024-05-06 1913/week @ 2024-05-13 1785/week @ 2024-05-20 2000/week @ 2024-05-27 2229/week @ 2024-06-03 2332/week @ 2024-06-10 3317/week @ 2024-06-17 3807/week @ 2024-06-24 5776/week @ 2024-07-01 4640/week @ 2024-07-08 4060/week @ 2024-07-15 4242/week @ 2024-07-22 3017/week @ 2024-07-29

16,162 每月下载量
用于 11 道具(5 个直接使用)

MIT 许可证

37KB
722

packageurl-rs Star me

在 Rust 中读取和生成包 URL。

Actions Codecov Source Crate Documentation GitHub issues

关于

这个软件包是 Package URL 规范的 Rust 编程语言实现。

🔌 使用方法

将此软件包添加到 Cargo.toml

[dependencies]
packageurl = "0.4.0"

使用 FromStr 特性解析包含原始 PURL 的字符串

extern crate packageurl;

use std::str::FromStr;
use packageurl::PackageUrl;

fn example() {
    let purl = PackageUrl::from_str("pkg:cargo/[email protected]");
}

从 Rust 创建 PURL,然后使用 ToString 特性生成字符串表示形式

extern crate packageurl;

use std::string::ToString;

fn example() {
    let canonical = package::PackageUrl::new("cargo", "packageurl")
        .expect("only fails if type is invalid")
        .with_version("0.3.0")
        .to_string();
}

serde 序列化和反序列化也受到支持,前提是启用了 serde 功能

[dependencies]
packageurl = { version = "0.4.0", features = ["serde"] }

更多信息请参见 在线文档

📝 功能

  • memchr: 在解析时使用 memchr 软件包定位分隔符。
  • serde: 启用序列化和反序列化支持,使用 serde 软件包。

📋 更新日志

此项目遵循 语义版本控制 并在 GitHub 发布 中提供 更新日志

💭 反馈

发现了一个错误?有增强请求吗?如果您需要报告或询问某些内容,请访问项目的 GitHub 问题跟踪器。如果您正在填写错误报告,请尽可能提供有关问题的详细信息,并尝试在简单、易于复现的情况下重现相同的错误。

⚖️ 许可证

此库根据开源 MIT 许可证 提供。

依赖项

~0.3–0.9MB
~19K SLoC