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.7.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.7.0-cp39-abi3-win_amd64.whl (244.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.7.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.4 kB view details)

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

isobenefit-0.7.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (648.0 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.7.0.tar.gz.

File metadata

  • Download URL: isobenefit-0.7.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.7.0.tar.gz
Algorithm Hash digest
SHA256 39ed7aa3c8ade941d3f0bbd83c0b24cfdad6e5b4c3ad10dbb211127c9e132671
MD5 e2f818b28858164de8a2e2c8598bb81c
BLAKE2b-256 fea115d4754e35e4234137c7adc85e595f8f5c1db559cf1bf816c71d43263f96

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.7.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.7.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: isobenefit-0.7.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.7.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0fc9ad23170342f31778b4e6645874ac280b0e06bb4b12eb5010a206b7cfb8dc
MD5 ff225ec5056b6593062f6ef2c2d10c75
BLAKE2b-256 5eedf1d6766ec0fec2d515e8b79eb792da68b0c510010b163a83df791809375c

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.7.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.7.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for isobenefit-0.7.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8cf95554d068d4c13f22002a3e6ca8a5c70efb1692472031b3c5d039d293a57b
MD5 94a9f21990e653755900ed4ba7cb382e
BLAKE2b-256 c7ba283c153a480422660a001969ed32c2d4fa0909bbdffd09c2c5979a3366c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.7.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.7.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.7.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 723ddae8ae078be466e65bbcb3e783bdda7b906858451f61500e68adaea91532
MD5 b5121099c52a0964644d328b60ae5208
BLAKE2b-256 3c535927d2f7daee1350879fe3a22a842df042fde10c401a84cb9b7252226caa

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.7.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