Crates.io | tskit_rust |
lib.rs | tskit_rust |
version | 0.1.0 |
source | src |
created_at | 2020-12-20 23:58:43.172875 |
updated_at | 2020-12-20 23:58:43.172875 |
description | rust interface to tskit |
homepage | https://github.com/molpopgen/tskit_rust |
repository | https://github.com/molpopgen/tskit_rust |
max_upload_size | |
id | 325038 |
size | 853,480 |
This crate provides rust bindings to tskit.
This package provides the following:
tskit
and kastore
.
We use bindgen to automatically generate the bindings.tskit_rust::TableCollection
, which wraps
tsk_table_collection_t
. The wrapper is currently
incomplete, supporting only node, edge, site,
mutation, and population tables. The remaining
tables will happen "soon".tskit
error
codes to rust
errors while preserving error messages.The overview is:
tskit
and kastore
source from tskit 0.3.4
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_rust::bindings
, allowing unsafe
access to the low-level API.
In the future, we hope to develop a more "rusty" front-end, hiding the unsafe
bits from client code.
Help wanted!
git clone https://github.com/molpopgen/tskit_rust
cd tskit_rust
git submodule update --init --recursive
cargo build
cargo test
Then, to look at the docs:
cargo doc --open