#bioinformatics #unsafe-bindings #ffi #alignment #parasail #rust

sys libparasail-sys

Unsafe Rust bindings for the parasail C library

9 releases

new 0.1.8 Nov 19, 2024
0.1.7 Nov 1, 2024
0.1.6 Apr 17, 2024
0.1.5 Mar 11, 2024
0.1.4 Feb 26, 2024

#273 in Biology

Download history 3/week @ 2024-08-01 2/week @ 2024-08-15 5/week @ 2024-08-22 75/week @ 2024-09-19 24/week @ 2024-09-26 5/week @ 2024-10-03 16/week @ 2024-10-10 40/week @ 2024-10-17 1/week @ 2024-10-24 174/week @ 2024-10-31 11/week @ 2024-11-07 151/week @ 2024-11-14

337 downloads per month
Used in parasail-rs

BSD-3-Clause

23MB
648K SLoC

C 644K SLoC // 0.0% comments C++ 4K SLoC // 0.1% comments Rust 113 SLoC // 0.0% comments

libparasail-sys

GitHub Actions Workflow Status docs.rs Crates.io Version

This crate provides unsafe Rust bindings for parasail. You might be interested in parasail-rs, which provides safe Rust bindings and a wrapper to parasail.

Note that parasail-sys similarly provides unsafe Rust bindings, but has been archived since 2020. The intention of libparasail-sys is to provide an up to date set of bindings for parasail and slightly different API.

Building

Assuming you have cargo setup, you can build libparasail-sys to check that the bindings compile with cargo build. Note that we try and use system parasail by default and then try to build using CMake if no system package is found (see build.rs or the CMake build instructions in the original library repo). To force using system parasail, set the PARASAIL_NO_VENDOR=1 environment variable.

Testing

Bindgen provides tests to check the generated FFI structs. For verification, run cargo test. Assuming no modification has been made to the bindings.rs, this should pass successfully. This crate has been tested with cargo 1.77.0-nightly.

Contributing

Contributions are more than welcome. Please submit an issue or pull request.

License

libparasail-sys is licensed under the BSD-3-clause license, however, parasail is licensed under a very similar Batelle BSD-style license and was developed by Jeff Daily along with other contributors.

Dependencies