pyrpds

Python Wrapper for Rust Persistent Data Structures


Keywords
data-structures, immutable, persistent, pyrsistent, python
License
MPL-2.0
Install
pip install pyrpds==0.0.7

Documentation

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