Directed percolation-type models implemented in Rust and wrapped in Python
Project description
Directed Percolation in Rust and Python
In this project, we implement a variety of directed percolation models in Rust. The Rust code is accessed via a Python wrapper to make experimentation as convenient as possible. Jupyter notebooks are used to implement the Python-wrapped simulations.
We have two motivations for adopting Rust: one is to ensure maximum performance; another is to achieve this in a memory-safe and bug-free fashion (which is not easy to do in C or C++).
Fast run times are achieved through parallelization using the Rayon crate.
We anticipate boosting performance further with GPU-compute using wgpu.
See here for some rough "how-to" notes on wrapping Rust with Python.
Demos
Domany-Kinzel
Simplified DP-class Domany-Kinzel model simulations are demonstrated in the following Jupyter notebooks. The emphasis here is on checking the t-decay of mean ρ(t), which has well-established power-law tail-scaling behavior.
Related pure-Python demos can be found here:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dprs-0.1.26-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: dprs-0.1.26-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 265.5 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2708200209f71f279fa1df6048be617b1b1461b37eb88473fdc365e6bfb9c2
|
|
| MD5 |
158d68d98d69fc8ea16834f8a7db6db5
|
|
| BLAKE2b-256 |
b7607f38ba70f7cab4a5199be0eab989127895d96537cda0276af5f0b3b2c86e
|
File details
Details for the file dprs-0.1.26-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: dprs-0.1.26-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 440.9 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efe3ae332e6dd684b230438c7f3f58b42ae5f36fa5dc16215b8007be5b11c2a4
|
|
| MD5 |
3c64ec2c0bc619f5dfea6c1151caa9fb
|
|
| BLAKE2b-256 |
500881ae00d089e012bf7ca508d398fd16789c2473c4d66d6432806050f0ee09
|
File details
Details for the file dprs-0.1.26-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: dprs-0.1.26-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 387.7 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cf34fbf60110dbeb5f983a8869a9b66e886f88a76115738413a908f21864b72
|
|
| MD5 |
326a4a385ee8d1e38fdc8ae51200198d
|
|
| BLAKE2b-256 |
b59519703106ec8d48a1a36b518c21079a338a01de5bf87878b8fd617186d17a
|
File details
Details for the file dprs-0.1.26-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: dprs-0.1.26-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 268.1 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d25e040d797d19e9f4a6cbed3d4f86ec7228f0e17f749c680fad509fc71c6fb2
|
|
| MD5 |
f3c55e504897b35fe5828ef2d6ef8b22
|
|
| BLAKE2b-256 |
4c29e6c9f0f863d12e57e235391741baab9d7861f7ad977f5e0dfb11bed35c04
|
File details
Details for the file dprs-0.1.26-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: dprs-0.1.26-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 440.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be49138b23e03a81500cab086935e2dfb8f5f8b0fd5d65cf5e429a2a4c015ecf
|
|
| MD5 |
9465bfd86c04ff131b363ea8714b4e19
|
|
| BLAKE2b-256 |
d5dc6686628f6f93e32dbe756b19376ee9221f824f84a922bf0eed98bd95d25b
|
File details
Details for the file dprs-0.1.26-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: dprs-0.1.26-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 387.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24b0852a061556d1ee726fc182b82301b2eed30f9bd5bad7262baca70d1254c9
|
|
| MD5 |
6f2a3d18c60da5bbd50aa512a721122d
|
|
| BLAKE2b-256 |
11e2d81a041d710032a2308480fed136b7482817a09b14e51028ff1216078e92
|
File details
Details for the file dprs-0.1.26-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: dprs-0.1.26-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 268.4 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
324c2a01b28c0104d96c2bd7729be5cc3de29e9845ee6bf6d75a77de7c06fc8f
|
|
| MD5 |
8e94b083c3be389c9e8b42874365f37a
|
|
| BLAKE2b-256 |
6c31822a5cb23f03db8253785b3ea3cbdb687699eea72efda689e652701d4881
|
File details
Details for the file dprs-0.1.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: dprs-0.1.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 440.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcb56acbf0e917ce63037ea47bc118dd6a502af874c60af83c75a9b710ed9d57
|
|
| MD5 |
1bb758923efac4b242b0c2c186f689ca
|
|
| BLAKE2b-256 |
5ff79dd17209f46b813b8df6898ad585bc762d4ee30ab4553fe92f53d20a80f6
|
File details
Details for the file dprs-0.1.26-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: dprs-0.1.26-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 388.0 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ac6fc5487bd4c28bd863e91ccad94e048e0b53a157f6a7cd95b7850beeae8d0
|
|
| MD5 |
77cb382d51bbf51ef43978335b3339a1
|
|
| BLAKE2b-256 |
f6cf3107b6b57abd4657ebe3727347a5044c7ecd109c24c0ea80ee07c74c3f9b
|