Skip to content

clbarnes/nblast-rs

Repository files navigation

nblast-rs

Build Status

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-rs, a cargo project representing the nblast rust crate
  • nblast-py, a maturin project representing the pynblast python project (which binds to rust)
  • nblast-js, a wasm-pack project building the 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.

Development

Requires a recent stable rust compiler.

nblast rust crate

In the nblast-rs subdirectory

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

pynblast python package

In the nblast-py subdirectory

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

nblast_js javascript package

In the nblast-js subdirectory

  • Use make pkg (or make pkg-debug) to build the WASM bundle
  • See nblast-js/examples/nblast-app for a standalone NBLAST webapp

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

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published