16 unstable releases (7 breaking)

0.8.0 Jun 7, 2024
0.7.2 Mar 10, 2024
0.6.1 Dec 24, 2023
0.5.0 Aug 11, 2023
0.3.3 Mar 21, 2023

#96 in Programming languages

MIT/Apache

6MB
124K SLoC

Actions Status PyPi version Python version crates.io minimum rustc 1.65 License License: MIT

DIDPPy -- Python Interface for DyPDL

DIDPPy is a Python interface for DyPDL, implemented in Rust with PyO3.

Docs

Quick Start

If you just want to use DIDPPy, install it from PyPI.

pip install didppy

There are some examples in examples.

Development

If you want to develop DIDPPy, clone this repository.

git clone https://github.com/domain-independent-dp/didp-rs
cd didp-rs/didppy

Create Python Environment

python3 -m venv .venv 
source .venv/bin/activate
pip install maturin

Build Development Version

maturin develop

didppy will be installed in .venv.

Run Test

cargo test --no-default-features
pytest

Build Documents

pip install -r docs/requirements.txt
sphinx-build docs docs/_build

Build Release Version

maturin build --release

This will create the Python wheel. Install the wheel in a Python environment you want to use (this should be different from .venv).

pip install --force-reinstall ../target/wheels/didppy-{x}.whl

{x} depends on your environment.

Dependencies

~9–15MB
~212K SLoC