Skip to main content

NAVis core functions reimplemented in Rust.

Project description

test docs

navis-fastcore

Re-implementation of navis core functions in Rust.

Install

We provide precompiled binaries for all major Python versions, CPU architectures and operating systems.

From PyPI:

pip install navis-fastcore

If that fails, try building from source (see below).

Usage

navis-fastcore itself does not depend on navis. This is to allow using fastcore in libraries other than navis. Please see the docs for examples.

navis will automatically use fastcore if it is available. The integration is still work in progress, so for now you should install navis from Github to make sure you have the latest version.

Building from source

  1. Install rust
  2. Clone this repository
  3. cd into fastcore-rs/py directory
  4. Create a virtual environment: python3 -m venv .venv
  5. Activate virtual environment: source .venv/bin/activate
  6. Compile via either:
    • maturin develop --release which will compile the extension into the fastcore/ directory
    • maturin build --release to build wheel in /target/wheels
  7. To install the Python package either do:
  • pip install -e . to install in editable mode
  • pip install targets/wheels/navis_fastcore....whl

Note that unless you compiled with the --release flag, timings will be much slower (up to 10x) than in a release build!

Test

First make sure pytest is installed:

pip install pytest -U

Then run the test-suite like so:

pytest --verbose -s

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

navis_fastcore-0.0.7.tar.gz (761.4 kB view details)

Uploaded Source

Built Distributions

navis_fastcore-0.0.7-cp39-abi3-win_amd64.whl (371.4 kB view details)

Uploaded CPython 3.9+ Windows x86-64

navis_fastcore-0.0.7-cp39-abi3-win32.whl (347.3 kB view details)

Uploaded CPython 3.9+ Windows x86

navis_fastcore-0.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (491.8 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ x86-64

navis_fastcore-0.0.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (697.3 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ s390x

navis_fastcore-0.0.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (540.3 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ppc64le

navis_fastcore-0.0.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (507.0 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARMv7l

navis_fastcore-0.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (488.0 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARM64

navis_fastcore-0.0.7-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (506.2 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.12+ i686

navis_fastcore-0.0.7-cp39-abi3-macosx_11_0_arm64.whl (438.1 kB view details)

Uploaded CPython 3.9+ macOS 11.0+ ARM64

navis_fastcore-0.0.7-cp39-abi3-macosx_10_12_x86_64.whl (461.7 kB view details)

Uploaded CPython 3.9+ macOS 10.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page