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,
Use rustup to install the rust compiler specified in rust-toolchain.
- Use
cargo build
/cargo test
/cargo bench
etc.
- 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)
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.