Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 1.71 KB

File metadata and controls

47 lines (35 loc) · 1.71 KB

Developing

vFind is written in Rust and uses PyO3 and Maturin to generate the Python package. To get started, you will need to have the rust toolchain >= 1.83 and Python >= 3.10. Note that you might be able to use an older toolchain < 1.83 but we have not tested this specifically.

Below are some general steps to get up and running. These examples use uv. However, you could do this with standard pip or your preferred method.

  1. clone the repository to your machine
git clone git@github.com:nsbuitrago/vfind.git
cd vfind
  1. Sync dependencies with uv and build/install vFind package
uv sync
uv run maturin develop --uv

# or with the provided Makefile
make dev
  1. From here, you can make changes to the Rust library and rebuild/install the package for testing on the python side.

Using the supplied flake.nix

For those that are familiar with flakes, there is a provided flake.nix to help setup a development environment with all the necessary tools installed. To get started, make sure you have Nix installed and have enabled nix-commands and flakes. We recommend using the Nix installer from Determinate systems to handle this setup

To create a new shell, run nix develop in the root of the project. This may take some time on the first run since it will need to build the listed packages.

Once in the development shell, you can run continue with the previous steps to make necessary changes and build the Python package.