#bindings #calculations #area #c-api #object #features #freesasa

freesasa-rs

Rust (safe) bindings for the freesasa library

1 unstable release

0.1.3 Apr 10, 2024

#18 in #area

Custom license

1.5MB
1.5K SLoC

RustSASA

High-level Rust FFI bindings for freesasa C-API. Currently the library provides all basic functionality of freesasa C-API.

If you require lower level bindings, you can use freesasa_sys crate directly - this is not recommended unless you are sure what you are doing, as you require the use of unsafe Rust code and manual memory management of C objects.

It is a work in progress and is not yet feature complete, as such, some functions may not be available and the API may change (although I will try to keep it as stable as possible).

Requirements

Requires freesasa_sys which is built from source. As such following build tools are required:

Linux (Debian)

All of the following are availible as apt packages:

  • build-essential
  • make
  • autoconf
  • libc++-dev
  • libc++abi-dev

MacOS

Availible as brew packages:

  • XCode should be installed for C/C++ compilers and libraries
  • automake

At the point of testing, I have lots of other tools installed on my mac, so it is hard for me to know if there are any other dependencies.

Let me know if you have any errors when building this on a Mac (or update this list).

Install

Add the following to your Cargo.toml:

[dependencies]
rustsasa = "0.1.1"

Dependencies

~17MB
~265K SLoC