Skip to main content

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.

1d DP evolution for p_c ~ p=0.53891, n_x=300, t=200

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.

2d DP t-decay of mean order parameter mean ρ(t), for p_c ~ p=0.163145, n_x=30000, n_y=30000, t=50000

DP

DP model simulations are demonstrated in the following Jupyter notebooks:

Related pure-Python demos can be found here:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dprs-0.1.17.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dprs-0.1.17-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dprs-0.1.17-cp314-cp314-macosx_11_0_arm64.whl (373.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dprs-0.1.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dprs-0.1.17-cp313-cp313-macosx_11_0_arm64.whl (373.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dprs-0.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dprs-0.1.17-cp312-cp312-macosx_11_0_arm64.whl (373.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file dprs-0.1.17.tar.gz.

File metadata

  • Download URL: dprs-0.1.17.tar.gz
  • Upload date:
  • Size: 2.9 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

Hashes for dprs-0.1.17.tar.gz
Algorithm Hash digest
SHA256 ae40b3da663fa0119b227812f8b4e2437ef4c2fda66be8afadcb1c17afe1816b
MD5 27037f1720389bda60b4e56052a59f64
BLAKE2b-256 07d262a3b950440e410bfc01bbcd72831e6dcf2e292aa4cdc5fd28dd9ea490c8

See more details on using hashes here.

File details

Details for the file dprs-0.1.17-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: dprs-0.1.17-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.0 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

Hashes for dprs-0.1.17-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd9ed23251a40746dc5e8012be1b2c2d25b6cb250a1a06d926c809ffc7b444c7
MD5 095a27e7613cab716fb18ee9b8a862c0
BLAKE2b-256 d0c1e27507a2fcad7bef9342f7f113d2574c690c47d9511e9d71d5eddb46304b

See more details on using hashes here.

File details

Details for the file dprs-0.1.17-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dprs-0.1.17-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.3 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

Hashes for dprs-0.1.17-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e0c98853121b27ad3fe25bab63fd536b948eddc16d171dd8084c4b3c237507d
MD5 5a22061c9c822c445a2827b22b877fe3
BLAKE2b-256 08e5b70c2f9c20954cda81b2953e1a635428c377e523eaab7d10b676f3e896f3

See more details on using hashes here.

File details

Details for the file dprs-0.1.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: dprs-0.1.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.3 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

Hashes for dprs-0.1.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e00d68552e51abfbbc9c433eef72fe21593b7bb6bb49ddc3d210f17e0482f61b
MD5 a9e4082f28d8483f81c10ed6874d4312
BLAKE2b-256 aed19b3d0d9eaa0679f6777cfd69f6edde5db6f10f9c643c063c3f002d2e7f41

See more details on using hashes here.

File details

Details for the file dprs-0.1.17-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dprs-0.1.17-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.3 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

Hashes for dprs-0.1.17-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6b3b1a0560bf83b861bd718534626da8c45610506bde2ff4da46a76c6ef4011
MD5 030c8b2cbaea68278f9b70300dd583db
BLAKE2b-256 918ad94696800e339e71afcba233a0926aca7bdb56ebbff1693e2fec95878d11

See more details on using hashes here.

File details

Details for the file dprs-0.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: dprs-0.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.3 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

Hashes for dprs-0.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c4c41c4a7401dd054ee3225496e66775c7efe5092b9252c633292c7f36e983c
MD5 9dcb4d2d7e58092fd568c12c1691f38d
BLAKE2b-256 9d488507c1252d3dba64e597d1c3098c7c7d070098da0f404c6b94371c9e0f17

See more details on using hashes here.

File details

Details for the file dprs-0.1.17-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dprs-0.1.17-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.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

Hashes for dprs-0.1.17-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4bd9c747745275a11a1345f1dd5742a36db231ac5709ca2e8ee4443de77b53d
MD5 a8a2d0e9a54270c29c0801c6012a1507
BLAKE2b-256 ee9c982c7cd98757e7d6913de0945ae39c5ee3da66a65bf6d7b9d197ae5c38d6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page