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.16.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.16-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dprs-0.1.16-cp314-cp314-macosx_11_0_arm64.whl (373.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dprs-0.1.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dprs-0.1.16-cp313-cp313-macosx_11_0_arm64.whl (373.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dprs-0.1.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (420.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dprs-0.1.16-cp312-cp312-macosx_11_0_arm64.whl (374.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dprs-0.1.16.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.16.tar.gz
Algorithm Hash digest
SHA256 961b1affdb14f624c25751ac0874333f6fa8e8a934e6e480829211c1dd78ad0c
MD5 c144b571a471362e298948aa10fe95cd
BLAKE2b-256 1f91a1e9717cfed752cc0377900245a3fcd1cec28bf5b825b987b200b39cbd35

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.16-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.2 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.16-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39b8b6470005ae8c7bef28b1159c6f8baef9e1543b4019df97cfe1800a9aadbd
MD5 3c6af586d21df28a58983e0711b0fe75
BLAKE2b-256 eeacf12a670110264c12f10aa35d51713e10ece668cb2d8d9d89290597db1c52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.16-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.5 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.16-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ade184fbe0ccb6741362d016a2f39b2f539184cae5f4b22dd27e4ff00c63aaa8
MD5 d83427793d86068e39191cb25d8398db
BLAKE2b-256 ef5602bfba96d19b25f4c4290bcddccce9f5d2ed2540350bd50fcb08cec605ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.5 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.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 413098a01b1d7018d5346b73ee4a2041ea6a3e5babdd81167aa30cd5a957d4b6
MD5 d198400636cac25d3df3ca6d39b4d970
BLAKE2b-256 b92570b68e4d1fda63ec70e2ce48fae6c695cc2fbcd2b46f5e3fa26e45318487

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.16-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 373.4 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.16-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b00d42a245fd892aab5e8822292e50b7ccc4b89b1c0385c06a7cdb2836467b8
MD5 2fcf8c21ae661b5637d6a72a016204a4
BLAKE2b-256 474a922d913dff0a91626883290b2ebe595f40121cac535e323049e64fad7490

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.6 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.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7bb4a5bd561cf8ce147f7e0640ac9be92b569a5aee5d812bb0fe52d911c51b5f
MD5 99cf054bd110bcd874b419d756b4cf07
BLAKE2b-256 5f70fdf20a4c5405bd7fd3d3ffce9413e0d637c033f9da9bacbd067314bbf253

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.16-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 374.1 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.16-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f69cfac334c0ab718d3ce56411a89aec1762e7d28abcdf9cc3fd6dd0ebc86f8a
MD5 a4df7da1014b5336fa174812d5bae068
BLAKE2b-256 fe8c20c3c79f400bb9fdd06635157e8d998a40c2e14b437591f0d90de97f1615

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