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.11.0.tar.gz (20.3 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.11.0-cp39-abi3-win_amd64.whl (247.2 kB view details)

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.11.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (368.3 kB view details)

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

isobenefit-0.11.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (653.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.11.0.tar.gz.

File metadata

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

File hashes

Hashes for isobenefit-0.11.0.tar.gz
Algorithm Hash digest
SHA256 8a5e8aec1f35568ed7878bc247dd4b9dad6dcb3b4d921385892e947eebb23d6e
MD5 c50a67bd588d6e03e934799332321820
BLAKE2b-256 5ab126be0c4a0e56776bd4f1e44f23245e5141272d6d7c9d83836540d0f710c2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: isobenefit-0.11.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 247.2 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.11.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 23f04745b7326bad18c1a6079c1f6b53feba6ad704579e8fb02bcb88b9fa837c
MD5 35be8e23bd2754dbbc1873eb28be1e5c
BLAKE2b-256 6b31a3fd4c530b2cff9c595a5ecf9430d5c3e96743d6747dc008e2fc31550ef0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for isobenefit-0.11.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3496ca4fbb9029c62368c02f32f74696158efd0b5883ee793adae52814da140
MD5 be89c42b8001bd98f5753317f62805d8
BLAKE2b-256 bda56864a4bcebff5f419e750b2ec014b09d80629e4eb0600c5a61d6420c1a76

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.11.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.11.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.11.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ac63d10b53a0cbcee2fe5a226762c2b7d9f0898ef972e9f5d2916188a6bb84fd
MD5 212b1829a1fb5f299f16e396b53591c1
BLAKE2b-256 e3326c573947d6cc3cb5dd59ee812d8899c35d196fd63a90a155d78ead1b6d01

See more details on using hashes here.

Provenance

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