27个不稳定版本

0.15.0-alpha.02024年5月7日
0.14.1 2023年4月16日
0.14.0 2023年3月17日
0.12.0 2022年12月23日
0.1.1 2021年3月26日

164 in 数据结构

Download history 41/week @ 2024-04-19 39/week @ 2024-04-26 94/week @ 2024-05-03 18/week @ 2024-05-10 70/week @ 2024-05-17 70/week @ 2024-05-24 109/week @ 2024-05-31 24/week @ 2024-06-07 11/week @ 2024-06-28 17/week @ 2024-07-05 6/week @ 2024-07-12 75/week @ 2024-07-26 7/week @ 2024-08-02

94 每月下载量
用于forrustts

MIT 许可证

1MB
28K SLoC

C 21K SLoC // 0.1% comments Rust 6.5K SLoC // 0.0% comments

tskit的Rust绑定

CI tests

此crate为rust提供了对tskit的绑定。

此软件包提供以下功能

  1. tskitkastore的C API的低级绑定。我们使用bindgen自动生成绑定。
  2. 支持表集合、树序列和树迭代。
  3. 一个错误处理系统,将tskit错误代码映射到rust错误,同时保留错误消息。

概述如下

  1. tskitkastore的C代码包含在subprojects/
  2. 这两个工具被编译进rust包。
  3. 然后bindgen生成绑定。
  4. 最后,生成整个rust包。

结果是包含这两个C库的静态编译的rust库。此外,rust类型和函数存在于模块名tskit::bindings中,允许unsafe访问低级API。

需要帮助!

快速入门指南

克隆仓库并运行测试套件

git clone https://github.com/tskit-dev/tskit-rust
cd tskit-rust
cargo test --all-features

查看文档

cargo doc --all-features --open

计算代码覆盖率

首先安装tarpaulin

cargo install cargo-tarpaulin

然后,我们使用所有测试、文档测试和示例程序来计算所有可用功能的代码覆盖率

cargo tarpaulin --all-features --doc --tests --examples --exclude-files '*.c' --exclude-files '*.h' --ignore-tests  -o html

然后,将您的浏览器指向tarpaulin-report.html

最后几个标志排除了C代码以及任何仅用于测试的 rust 代码,不将其纳入覆盖率计算的分子中。这里的目的是不是要拥有高 测试 覆盖率,因为这取决于 上游项目

注意: tarpaulin 可能会变化无常,更改某些标志的顺序可能会使覆盖率运行失败。

变更日志

请参阅这里

更新变更日志。

审查中

示例

git cliff -u --tag v0.11.0 --date-order -p CHANGELOG.md

依赖关系

~0.5–3.5MB
~70K SLoC