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.2.0.tar.gz (18.7 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.2.0-cp39-abi3-win_amd64.whl (237.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (361.1 kB view details)

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

isobenefit-0.2.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (636.7 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.2.0.tar.gz.

File metadata

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

File hashes

Hashes for isobenefit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c224ec65920df008003179852fa276ab96ee1a624752c293d5c8cdd5b613825a
MD5 13d3546b4854039aa0e2f66ff1cd3ddb
BLAKE2b-256 a8c38ff191feca7f0e7ad812b04f106f8a6e55264f6fef1e984ad3d821462f24

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: isobenefit-0.2.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 237.9 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.2.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cb99134fd5fd0b78cb4c5b0845a534198e500afe78f42be4df28b90b09fc4fdb
MD5 7c3e533274076b69a0ddda98b05c8823
BLAKE2b-256 beef7a35e28b6334f71e36c92170f68e246fdb3de2698fc49f8ba6a4918f068a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for isobenefit-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61133bbe003bfe5a88c2abbba558f3678c69db2ea9f0e88a275e53031c60c985
MD5 f50a550ccc3a7ec59f35ee4679d1291c
BLAKE2b-256 7f850d73b5fb24072c8bed6ee0c2c613605f318377dbbd8020141420a9d94593

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.2.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.2.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.2.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 8ad34262aae18cfd4e4fc84d8b76460979ffa478c2e27a74b10d3d3bbce6767c
MD5 63a2f2a63649d7b58dc76af88d477c98
BLAKE2b-256 c4e6fd68d0742b96650e5533ed255a93b143cbdc9ab0ca603f9bb0b5dcb8d48c

See more details on using hashes here.

Provenance

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