Crates.io | tskit |
lib.rs | tskit |
version | |
source | src |
created_at | 2021-01-05 01:22:40.012855 |
updated_at | 2025-01-23 23:47:15.93967 |
description | rust interface to tskit |
homepage | https://github.com/tskit-dev/tskit-rust |
repository | https://github.com/tskit-dev/tskit-rust |
max_upload_size | |
id | 331866 |
Cargo.toml error: | TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
This crate provides rust bindings to tskit.
This package provides the following:
tskit
and kastore
.
We use bindgen to automatically generate the bindings.tskit
error
codes to rust
errors while preserving error messages.The overview is:
tskit
and kastore
C code are include in subprojects/
rust
package.bindgen
generates the bindings.The result is a rust
library with all of these two C libraries statically compiled in.
Further, rust
types and functions exist in the module name tskit::bindings
, allowing unsafe
access to the low-level API.
Help wanted!
git clone https://github.com/tskit-dev/tskit-rust
cd tskit-rust
cargo test --all-features
cargo doc --all-features --open
First, install tarpaulin
:
cargo install cargo-tarpaulin
Then, we use all tests, doc tests, and example programs to calculate code coverage for all available features:
cargo tarpaulin --all-features --doc --tests --examples --exclude-files '*.c' --exclude-files '*.h' --ignore-tests -o html
Then, point your favorite browser to tarpaulin-report.html
.
The last few flags exclude the C code and any rust
code that is test-only from being part of the denominator of the coverage calculation.
The goal here is not to have high test coverage of the C API, as it is up to the upstream project to provide that.
Note: tarpaulin
can be fickle, and changing the order of some of those flags can cause the coverage run to fail.
See here.
under scrutinty
Example:
git cliff -u --tag v0.11.0 --date-order -p CHANGELOG.md