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 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-class, simplified Domany-Kinzel 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 a simplified form of Domany-Kinzel has been implemented. A series of related models are in development.

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

Domany-Kinzel

Simplified DP-class Domany-Kinzel 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.19.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.19-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.19-cp314-cp314-macosx_11_0_arm64.whl (373.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dprs-0.1.19-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dprs-0.1.19-cp313-cp313-macosx_11_0_arm64.whl (373.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dprs-0.1.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dprs-0.1.19-cp312-cp312-macosx_11_0_arm64.whl (374.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dprs-0.1.19.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.19.tar.gz
Algorithm Hash digest
SHA256 393b1221b68218001b907ae9aade2425c04477077831b0fb2b759a0cb24ee04d
MD5 01428b75478c41a5c1b2272abf2764bd
BLAKE2b-256 f0075f5f970aa6aff73184e3ba6a6bea80bfa74fb97163e4aa864dc19cd2b070

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.19-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.19-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9db6e3760d12a9fc8e03ca63015d79dca6fceeb15a14f79103f0d8dac6811c5
MD5 117487f24d089df1fcce8efbbdd28d07
BLAKE2b-256 ef4625d58800b13d81c585ecc6c00f8507d327452d07114b7b5cb7c121400bf6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.19-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.7 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.19-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d503b08a2d40434ab557e09d482971082dfea13ddba58526d56a21056d3561cb
MD5 7dbb5e109aad21c6b00aaaccc3599c5b
BLAKE2b-256 fa51a31976f5ee26a24aadc5353f0f4122e15911f983ee4915c83ec593788a8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.19-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.4 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.19-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb78cd6cdd6ccb10847a3ef864cf61186313a67d447257a6c07a9e8a2b56e5ce
MD5 ce73f3461e0319911b11cea9f6f3edcb
BLAKE2b-256 4497994c9d1562148c0068859814a3b2a463a656006db4ad160de841ecea57c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.19-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.7 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.19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0390aeb86390ab3ce3e17ff631293190072e6ee0c661b936ee1e1af3980dd2fc
MD5 b6515c9ea7fb5139c156b55f7b124d1a
BLAKE2b-256 06360aa7925a5c81e8acbc1129e6e6434e0b4aad37b1dd4ffbad68ee5224a4f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.4 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.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10544d900be2bd13c46ca68761c3d13901bd92cc0f827360198f241be8b5767a
MD5 9af4e42506807a5713f606313389f8dc
BLAKE2b-256 447487dda4f5adf925410fd71e0de466790ee51c3bcf95f9f44aeb71d30f4d1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.19-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 374.4 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.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 277f3cdcee0a5b719f933fe1fb6ffdcaec0f27ad8f5f3f2ab1f5acc85380b5c5
MD5 0543fc732699adb401202745fbaa56f7
BLAKE2b-256 bce86c8a9e1d972c41d12297fe4f8d85d72d0a252a36001b02eb01c7c2b01ecb

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