aschampion / nblast-rs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nblast-rs

WIP

Fast, safe implementation of NBLAST, originally published here and implemented here, with python bindings.

This repository acts as a cargo workspace, and contains two crates:

  • nblast-rs, a cargo project representing the nblast rust crate
  • nblast-py, a maturin project representing the pynblast python project (which binds to rust)

In the root directory, cargo build / cargo test will only build/test the crate in nblast-rs. To build and test the python project in nblast-py (which should not be deployed as a crate), use maturin develop and pytest in the subdirectory.

See crates.io and docs.rs for the rust project, or PyPI and ReadTheDocs for the released projects,

Development

Use rustup to install the rust compiler specified in rust-toolchain.

nblast-rs

  • Use cargo build / cargo test / cargo bench etc.

nblast-py

  • Install the development dependencies with pip install -r nblast-py/requirements.txt
  • Compile the rust component and install locally with maturin develop (add --release for an optimised build)

Notes

Installing the python wheel from a source distribution (sdist) is currently not supported and will likely fail. See here for details on how to build locally if wheels are not available for your platform.

About

License:GNU General Public License v3.0


Languages

Language:Rust 61.6%Language:Python 32.7%Language:Makefile 4.2%Language:Batchfile 1.0%Language:Shell 0.5%