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.13.tar.gz (3.0 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.13-cp314-cp314-win_amd64.whl (244.4 kB view details)

Uploaded CPython 3.14Windows x86-64

dprs-0.1.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (415.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dprs-0.1.13-cp314-cp314-macosx_11_0_arm64.whl (368.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dprs-0.1.13-cp313-cp313-win_amd64.whl (244.8 kB view details)

Uploaded CPython 3.13Windows x86-64

dprs-0.1.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (416.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dprs-0.1.13-cp313-cp313-macosx_11_0_arm64.whl (368.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dprs-0.1.13-cp312-cp312-win_amd64.whl (245.1 kB view details)

Uploaded CPython 3.12Windows x86-64

dprs-0.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (416.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dprs-0.1.13-cp312-cp312-macosx_11_0_arm64.whl (369.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Hashes for dprs-0.1.13.tar.gz
Algorithm Hash digest
SHA256 17344db3dfbb120c31bd74fe31caacb6b1395a1443b35463d61ea2c20f025682
MD5 e368e4317730ae0fb56ec9ba11bb9549
BLAKE2b-256 9b02c4e893f57601361c8cf12d943676e7c76e297782e305147c6681b7029173

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3a49d13ffec2c438fe8bf4f531e0fbcd5a113327dd30e6de440b69b275b8666c
MD5 e4bde90e5cedd2e28d643de46524b02d
BLAKE2b-256 26a0829dba75867be7c708dcdf7760d6e808fd14b30ab95445188b044008e39b

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2da622f5f76c79ff012f3dacf3e26a209fb24d9c75000ae2faef5c0174d31b65
MD5 5ca138e61cbef1c8420d7acfbaf563c9
BLAKE2b-256 1b567f7010ff65a82f083405f29447b910106c69e5b37cdb54d0a2614488bee8

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04ce64b69d02335f1b7f397743d0b68b2beaa955022f33fbb8125abd27d8149a
MD5 d626ac4c4e2f09e16e8f8f559ab0c47d
BLAKE2b-256 7f2132a2d860886cea6885d133439850259d955ee38ae0c90bbfb032ce51bc98

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f87a1962b624b60a7a29ad8b7cd78ef93d9b5721a2d7d5ee49c7994c0d822908
MD5 936fca8c3fe059c2206e5fea3bdf207b
BLAKE2b-256 eab48118d6c18d113f4e642c75f0fe792f2dd4c70ac072f5235457564783d735

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3571afdc5965778807c15a57cf718f148358fd52aee4373241e4615745709870
MD5 c2f7a01767f3f0106f83a412b22a373d
BLAKE2b-256 78a6af0ea8b22bb7dfd7dca02db048ac1bdf285828b38cffc3367e20e2f38af7

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a296672d29b76a4474c6f61e6b10888aa6665f517728a640534a630cfdc43e7c
MD5 17f984b8c21bbaaa089dddb092884997
BLAKE2b-256 8d01b3839c355d4989e3d87d8f6cb3e3540a289be0d7e0f7b6a26458e09952be

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fc982082313e8a982039d502ffde4c3ce497f98ee1ddaf3ad8acd6629de632d1
MD5 74216df9b66f0777f948f799eb40a8b1
BLAKE2b-256 a4c3194b3beed5adf5ebad34e640b8e860ac8c1e6af17ccece51b914b9117194

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6ecbed5ad72065427fabb6f1b1c46a72bc2b4d76a1e53c19fb13d710cfdbe7f
MD5 4f3ee43d3075261a8943592d6954e94b
BLAKE2b-256 e5db8933d0df1c517ed7ba08216199ede849a746ba623ebcc835e6ba125d2196

See more details on using hashes here.

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

Hashes for dprs-0.1.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9614943416b4c51abb6bb49bedb9ca40ef2c0e7bfbdcb0bc9861aa4b8ae69bf9
MD5 4785906246cae370712e4b6255e695a2
BLAKE2b-256 b03fb4a559cf2fdc89abc2a61d0fff2200d6c00154caeee7b0a53eafa794b84b

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