Skip to main content

Rust simulation core for Isobenefit Urbanism (arrays-in / arrays-out).

Project description

isobenefit

The Rust simulation core for the Isobenefit Urbanism QGIS plugin.

It is a pure compute engine: arrays in, arrays out. It never imports QGIS or performs any GIS IO — the plugin handles reading layers, reprojection, rasterization and writing rasters, then hands plain numpy arrays to this core.

Layout

  • src/neighbours.rs — neighbour iteration, contiguity counting, green-span checks
  • src/access.rs — heap-based bounded Dijkstra accessibility (parallel map-reduce)
  • src/density.rs — deterministic per-work-item RNG + density draws
  • src/sim.rs — the Simulation state machine and run_ensemble
  • src/lib.rs / src/py_bindings.rs — PyO3 bindings (built only with --features python)

Development

cargo test                 # pure-Rust algorithm tests (no Python needed)
maturin develop --release  # build + install the extension into the active venv
pytest tests_py            # Python-level golden + property tests

Parallelism (rayon) and determinism are first-class: results are independent of thread count. Reproducibility comes from per-work-item seeding (ChaCha8Rng derived from (seed, work_id)) and order-independent integer-sum reductions in the accessibility kernels.

Licensed under AGPL-3.0-or-later.

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

isobenefit-0.6.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distributions

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

isobenefit-0.6.0-cp39-abi3-win_amd64.whl (244.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

isobenefit-0.6.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (648.1 kB view details)

Uploaded CPython 3.9+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file isobenefit-0.6.0.tar.gz.

File metadata

  • Download URL: isobenefit-0.6.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for isobenefit-0.6.0.tar.gz
Algorithm Hash digest
SHA256 082f0eb41e7b6e82a1bb9f01c953a40f9ea4f8736028b1b85427fb85431c420a
MD5 94f18e1d99913774a414327df4025f30
BLAKE2b-256 fab0d5d9d2d658f879c742f95b57552e16345753227bad4e3c89646e141dc96f

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.6.0.tar.gz:

Publisher: ci.yml on UCL/BSP-isobenefit-qgis-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isobenefit-0.6.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: isobenefit-0.6.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 244.7 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for isobenefit-0.6.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 690718100daaf71f300f8fade580f07805413988565d2c8513a500aaebc376aa
MD5 2b28e0e2c0c799773989a1ed3a57a6ff
BLAKE2b-256 ba6526c77b81686cbb3d9b4aabcd02508f0ebe885acce5213237164938e728a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.6.0-cp39-abi3-win_amd64.whl:

Publisher: ci.yml on UCL/BSP-isobenefit-qgis-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isobenefit-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for isobenefit-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3333e0ffb22bbab41b166ad5229a8e74a88fffcd78a9572477d35af6b51c2eb8
MD5 9a0480cdb7f4d394b5684d483b95e280
BLAKE2b-256 5bae96b4cd629d803ab8a1369b049fe1abdf5e3f4d07d665c2b4fe3e01273f25

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on UCL/BSP-isobenefit-qgis-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isobenefit-0.6.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for isobenefit-0.6.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 5f261b5de49f71edd53335181d92a944c59832973e77c7338bcb5082d4968105
MD5 22777d5d461ce0f15d178adc736f1ca9
BLAKE2b-256 5b73dff1b197d1d3f84a617a8044ac635095c663bb3b43cc4abae3a2c81bd550

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.6.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: ci.yml on UCL/BSP-isobenefit-qgis-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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