Directed percolation-type models in Rust
Project description
Directed Percolation in Rust and Python
In this project, we implement directed percolation (DP) and similar lattice 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
For now, only DP has been implemented. A series of related models are in development.
DP
DP model simulations are demonstrated in the following Jupyter notebooks:
-
1d DP for a large lattice and large number of iterations, to validate t-decay of mean ρ(t)
-
2d DP for a large lattice and large number of iterations, to validate t-decay of mean ρ(t)
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 Distribution
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.13.tar.gz.
File metadata
- Download URL: dprs-0.1.13.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
17344db3dfbb120c31bd74fe31caacb6b1395a1443b35463d61ea2c20f025682
|
|
| MD5 |
e368e4317730ae0fb56ec9ba11bb9549
|
|
| BLAKE2b-256 |
9b02c4e893f57601361c8cf12d943676e7c76e297782e305147c6681b7029173
|
File details
Details for the file dprs-0.1.13-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: dprs-0.1.13-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 244.4 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
3a49d13ffec2c438fe8bf4f531e0fbcd5a113327dd30e6de440b69b275b8666c
|
|
| MD5 |
e4bde90e5cedd2e28d643de46524b02d
|
|
| BLAKE2b-256 |
26a0829dba75867be7c708dcdf7760d6e808fd14b30ab95445188b044008e39b
|
File details
Details for the file dprs-0.1.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: dprs-0.1.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 415.3 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
2da622f5f76c79ff012f3dacf3e26a209fb24d9c75000ae2faef5c0174d31b65
|
|
| MD5 |
5ca138e61cbef1c8420d7acfbaf563c9
|
|
| BLAKE2b-256 |
1b567f7010ff65a82f083405f29447b910106c69e5b37cdb54d0a2614488bee8
|
File details
Details for the file dprs-0.1.13-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: dprs-0.1.13-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 368.9 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
04ce64b69d02335f1b7f397743d0b68b2beaa955022f33fbb8125abd27d8149a
|
|
| MD5 |
d626ac4c4e2f09e16e8f8f559ab0c47d
|
|
| BLAKE2b-256 |
7f2132a2d860886cea6885d133439850259d955ee38ae0c90bbfb032ce51bc98
|
File details
Details for the file dprs-0.1.13-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: dprs-0.1.13-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 244.8 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
f87a1962b624b60a7a29ad8b7cd78ef93d9b5721a2d7d5ee49c7994c0d822908
|
|
| MD5 |
936fca8c3fe059c2206e5fea3bdf207b
|
|
| BLAKE2b-256 |
eab48118d6c18d113f4e642c75f0fe792f2dd4c70ac072f5235457564783d735
|
File details
Details for the file dprs-0.1.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: dprs-0.1.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 416.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
3571afdc5965778807c15a57cf718f148358fd52aee4373241e4615745709870
|
|
| MD5 |
c2f7a01767f3f0106f83a412b22a373d
|
|
| BLAKE2b-256 |
78a6af0ea8b22bb7dfd7dca02db048ac1bdf285828b38cffc3367e20e2f38af7
|
File details
Details for the file dprs-0.1.13-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: dprs-0.1.13-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 368.8 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
a296672d29b76a4474c6f61e6b10888aa6665f517728a640534a630cfdc43e7c
|
|
| MD5 |
17f984b8c21bbaaa089dddb092884997
|
|
| BLAKE2b-256 |
8d01b3839c355d4989e3d87d8f6cb3e3540a289be0d7e0f7b6a26458e09952be
|
File details
Details for the file dprs-0.1.13-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: dprs-0.1.13-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 245.1 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
fc982082313e8a982039d502ffde4c3ce497f98ee1ddaf3ad8acd6629de632d1
|
|
| MD5 |
74216df9b66f0777f948f799eb40a8b1
|
|
| BLAKE2b-256 |
a4c3194b3beed5adf5ebad34e640b8e860ac8c1e6af17ccece51b914b9117194
|
File details
Details for the file dprs-0.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: dprs-0.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 416.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
b6ecbed5ad72065427fabb6f1b1c46a72bc2b4d76a1e53c19fb13d710cfdbe7f
|
|
| MD5 |
4f3ee43d3075261a8943592d6954e94b
|
|
| BLAKE2b-256 |
e5db8933d0df1c517ed7ba08216199ede849a746ba623ebcc835e6ba125d2196
|
File details
Details for the file dprs-0.1.13-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: dprs-0.1.13-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 369.9 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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 |
9614943416b4c51abb6bb49bedb9ca40ef2c0e7bfbdcb0bc9861aa4b8ae69bf9
|
|
| MD5 |
4785906246cae370712e4b6255e695a2
|
|
| BLAKE2b-256 |
b03fb4a559cf2fdc89abc2a61d0fff2200d6c00154caeee7b0a53eafa794b84b
|