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.12.3.tar.gz (21.1 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.12.3-cp39-abi3-win_amd64.whl (247.3 kB view details)

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.12.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.7 kB view details)

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

isobenefit-0.12.3-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (653.2 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.12.3.tar.gz.

File metadata

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

File hashes

Hashes for isobenefit-0.12.3.tar.gz
Algorithm Hash digest
SHA256 951c995bb0d7f8d6e2bd4b4132202b6e8a558b7f32ceeaaa099cedbf63a57111
MD5 8c01c305c6bcbdc6b1f497ce982f6eb7
BLAKE2b-256 2386c167dc91dec89faf9cea8e395bf6f97406b7060c3c45c87e39edc56fbf89

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: isobenefit-0.12.3-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 247.3 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.12.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 601c91b3cb44555509e484db633f30a34b777992feb75c6f1b33132797e5a04e
MD5 9eb42ae413f1219d5ea5a93814430660
BLAKE2b-256 9df17485491f42f06693551de248f98cab7d0bd7c207c2ee640871d129ce15fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for isobenefit-0.12.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f3a46ff82fcc72f1269f6cf2739afebc22bbdd726205c3943b51f5fc87d06af
MD5 30f958c04f2d9eea696ab2e2d2653af7
BLAKE2b-256 f9f3442f0282abb07ac103582647b5ea93d8c9689a9cfcb2be654e45236805a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.12.3-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.12.3-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for isobenefit-0.12.3-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 bed1d0fbd7fb8e770259249f276ebae23acd6fba35e9bc166882e7759191d2b6
MD5 b06c7abd22ab8167eec9fde48ae7507c
BLAKE2b-256 32adbe1bfd478243be3d35211aaba55fc175945398ef0d5e593de097a61a62b8

See more details on using hashes here.

Provenance

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