Rust implementation of NBLAST, originally published here and implemented here, with python bindings.
This repository acts as a cargo workspace, and contains three crates:
nblast
rust cratepynblast
python project (which binds to rust)nblast_js
webassembly package (which binds to rust)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 for the python package.
Requires a recent stable rust compiler.
nblast
rust crateIn the nblast-rs
subdirectory
cargo build
/ cargo test
/ cargo bench
etc.pynblast
python packageIn the nblast-py
subdirectory
pip install -r requirements.txt
maturin develop
(add --release
for an optimised build)nblast_js
javascript packageIn the nblast-js
subdirectory
make pkg
(or make pkg-debug
) to build the WASM bundlenblast-js/examples/nblast-app
for a standalone NBLAST webappInstalling 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.