tskit 0.2.1

rust interface to tskit
Documentation
# rust bindings for tskit

![CI tests](https://github.com/molpopgen/tskit_rust/workflows/CI/badge.svg)

This crate provides [rust](https://www.rust-lang.org/) bindings to [tskit](https://github.com/tskit-dev/tskit).

This package provides the following:

1. Low-level bindings to the C API of both `tskit` and `kastore`.
   We use [bindgen]https://docs.rs/bindgen to automatically generate the bindings.
2. Support for table collections, tree sequences, and tree iteration.
3. An error handling system that maps `tskit` error
   codes to `rust` errors while preserving error messages.

The overview is:

1. `tskit` and `kastore` source from `tskit 0.3.5` are include in `subprojects/`
2. These two tools are compiled into the `rust` package.
3. Then `bindgen` generates the bindings.
4. Finally, the entire rust package is generated.

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!

## Quick start guide

```sh
git clone https://github.com/molpopgen/tskit_rust
cd tskit_rust
cargo build
cargo test
```

Then, to look at the docs:

```
cargo doc --open
```

## Change log

See [here](https://github.com/molpopgen/tskit_rust/blob/main/CHANGELOG.md).