27个不稳定版本
0.15.0-alpha.0 | 2024年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 数据结构
94 每月下载量
用于forrustts
1MB
28K SLoC
tskit的Rust绑定 
此软件包提供以下功能
- 对
tskit
和kastore
的C API的低级绑定。我们使用bindgen自动生成绑定。 - 支持表集合、树序列和树迭代。
- 一个错误处理系统,将
tskit
错误代码映射到rust
错误,同时保留错误消息。
概述如下
tskit
和kastore
的C代码包含在subprojects/
- 这两个工具被编译进
rust
包。 - 然后
bindgen
生成绑定。 - 最后,生成整个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