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

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

dprs-0.1.18-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.18-cp313-cp313-macosx_11_0_arm64.whl (373.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dprs-0.1.18-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.18-cp312-cp312-macosx_11_0_arm64.whl (374.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dprs-0.1.18.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.18.tar.gz
Algorithm Hash digest
SHA256 6d3ace177e4e92ca64d0a0bb9339352ea141ce75638dc544f4f4f8ec678bdea4
MD5 29f901f1db815b7717f55f2ac4af5f81
BLAKE2b-256 fb1cf17303ae3e5a8a7b17da988ccbf663d38453a60214557ca8e393f29d9f47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.18-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 420.1 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.18-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e68dc538a0855c88a7fe7852e925c6d0d5db70b04d73be8a2b34f3633628992
MD5 5ce3c7efdeea7cd3627ef3a9127ec05f
BLAKE2b-256 c844eb14d1379c8cbdf111b1f03716ad8b98440b74d4b0a9f52708175a812867

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.18-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.18-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7124f160561e1152fd6076e86bfb01d3935fd0cf1d4fa339b4ab507aba51ca27
MD5 aeff0ef2374fc3ba8f1c29ec51bdb88d
BLAKE2b-256 8154e65b814d6df6fba7e9e29e5695595eff03357ef6179d825c1edaafc2522d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.18-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.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9abbb29e57a203bca34364e4994d831c1b2d06fbb867c17c6904bcfc5a469607
MD5 452f041d76bb9ea9bde4563de1d79ea8
BLAKE2b-256 527695068dae5b3393fb565ca06adea98298e1d6fea2c5a870befc1d2f48aac0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.18-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.18-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86804495532efd6bbb3c89fcf5f7d3d7bb5c6efeb8a18f2c02e966e349da399f
MD5 4d68feb909e6835882cc7a4698c561f4
BLAKE2b-256 2457b13676c7b160e82d32b60d73b8d13e3ef6b353f75cd4fc32d73e598f5bf6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.18-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.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aca404a4c2a646c90101f28a216785dde6c7dda9467bcb2802432255b42b7eab
MD5 44d34775e723a87bed9fe3723583065d
BLAKE2b-256 ae23883551650e9caae539e52f45541d86b6e412be80b1239cb0f9334d018825

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dprs-0.1.18-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 374.0 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.18-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 72e5fa635570350a8eb0a74730514232e3b0c4ba2485ba7d109981e2ae666d97
MD5 881c653989a06d081e0dae2f856d09a3
BLAKE2b-256 d17153e9318caa7eae9988a95cf4e1282ac3024a31c4497db6409d645ca354f9

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