#cargo #cargo-subcommand #graph #numbers #version #tally #depend

bin+lib cargo-tally

Cargo子命令,用于绘制随时间变化的crate依赖数量图表

79次发布 (48个稳定版本)

1.0.48 2024年7月5日
1.0.46 2024年5月17日
1.0.42 2024年3月24日
1.0.33 2023年12月20日
0.2.0 2017年11月27日

#332 in Cargo插件

Download history 54/week @ 2024-04-30 19/week @ 2024-05-07 417/week @ 2024-05-14 48/week @ 2024-05-21 33/week @ 2024-05-28 51/week @ 2024-06-04 53/week @ 2024-06-11 35/week @ 2024-06-18 230/week @ 2024-06-25 192/week @ 2024-07-02 58/week @ 2024-07-09 31/week @ 2024-07-16 41/week @ 2024-07-23 40/week @ 2024-07-30 34/week @ 2024-08-06 25/week @ 2024-08-13

每月下载 144

MIT/Apache

135KB
3.5K SLoC

Cargo tally

Number of crates that depend directly on each regex version Fraction of crates that depend on failure vs anyhow and thiserror Fraction of crates.io that depends transitively on libc

cargo tally 是一个Cargo子命令,用于绘制随时间变化的crate依赖数量图表。

Usage: cargo tally [options] queries...

Options:
    --db <PATH>       Path to crates.io's database dump [default: ./db-dump.tar.gz]
    --jobs, -j <N>    Number of threads to run differential dataflow
    --relative        Display as a fraction of total crates, not absolute number
    --transitive      Count transitive dependencies, not just direct dependencies

github crates.io build status


安装

$ wget https://static.crates.io/db-dump.tar.gz
$ cargo install cargo-tally
  • 数据是从crates.io数据库转储中提取的,这些转储由运行在crates.io上的自动化程序每天夜间发布。您可以在需要新鲜数据时下载新的转储。

  • tally命令接受一个要统计的crate列表。这可以是crate的名称,如serde,也可以是带有任意semver版本规定的名称,如serde:1.0。如果没有指定版本,则统计该crate的所有版本的依赖项。

  • 生成的图表使用D3;Cargo tally命令应该在浏览器中打开显示您的图表。它使用与cargo doc --open相同的机制,因此希望它在各种系统上都能很好地工作。



示例

  • 依赖regex crate的每个主要版本的crate数量。

    $cargo tally regex:0.1 regex:0.2 regex:1.0

Number of crates that depend directly on each major version of regex



  • crates.io中依赖regex crate的每个主要版本的crate的占比。这是与上一个图表相同的图表,但按crates.io上crate的总数进行了缩放。

    $cargo tally regex:0.1 regex:0.2 regex:1.0 --相对百分比

Fraction of crates.io that depends directly on each major version of regex



  • crates.io 上直接依赖于各种错误处理库的crate比例。请注意,crate不会重复计算;同时依赖于anyhowthiserror的crate在anyhow+thiserror曲线上只计为一个。

    $cargo tally --相对百分比failure anyhow thiserror anyhow+thiserror

Fraction of crates.io that depends directly on various error handling libraries



  • crates.io 上间接依赖于libc的crate比例。

    $cargo tally --相对百分比 --间接依赖libc

Fraction of crates.io that depends transitively on libc



致谢

实现由differential-dataflow提供支持。


许可证

根据您选择的许可证,在Apache License, Version 2.0MIT license下获得许可。
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在此项目中的任何贡献,都将按上述方式双许可,而不附加任何额外的条款或条件。

依赖项

~17–47MB
~675K SLoC