8 releases

0.0.7 May 15, 2020
0.0.6 Apr 22, 2020

#2120 in Data structures

23 downloads per month

Custom license

33KB
893 lines

Build Status Crates.io PyPI

Python Wrapper for Rust Persistent Data Structures

pyrpds is a library which provides CPython bindings to Rust's rpds library.

The project has 2 goals:

  • Allow packages that are built on top of rpds to expose Python bindings easily.
  • Provide faster drop-in replacements for pyrsistent data structures.

Python API will be exactly the same as pyrsistent API.

Installation Instructions

For Users

Python

pip install pyrpds

Rust

Add following lines to Cargo.toml:

[dependencies.pyrpds]
version = "<version>"

For Contributors

Installing Dependencies

Install Rust and Conda.

Installing nightly Rust

rustup install nightly
rustup override set nightly

Installing Conda environment

conda env create -f environment.yaml

Installing pyrpds

conda activate pyrpds
maturin develop

Testing pyrpds

conda activate pyrpds
pytest

Dependencies

~5MB
~107K SLoC