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

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.12.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.9 kB view details)

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

isobenefit-0.12.4-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.4.tar.gz.

File metadata

  • Download URL: isobenefit-0.12.4.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.4.tar.gz
Algorithm Hash digest
SHA256 991c5f2b6c6ae53883796592fac99332041311925cdae81a88ee073025218c08
MD5 412b4daa871ffddc2c9ad22a7bbdf7d4
BLAKE2b-256 12040fcf1a04e7d6245a90a4d574b8008ef479546135494b9be433a8f7ca4733

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: isobenefit-0.12.4-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.4-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f821d11b4809a440ff499fac99d4d54e4f5b3934342252d7bef08bafc538099f
MD5 5154421be4362db9feae75b57f29b2c5
BLAKE2b-256 46d05bdaf03eb38a7e8256bec91f671f503453a5b05a3ff5d620c4f46efec61c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for isobenefit-0.12.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d680d0b3cc87d2e77e5c0f80d6258097a1487a320a8c183ffb6f5edf4279344
MD5 148977e9d162d8fa7cdd0e43aa98136c
BLAKE2b-256 98cb16787b123ca05c2089172b6929e469f000f9fbff912e31b7f3ddb328b43e

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.12.4-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.4-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.4-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 f35b450edf2b094800076a468d0ced181844abd50faeaf988201662b0d10199b
MD5 eb1175b2374df2f7122253ac444916a3
BLAKE2b-256 b20902cf17d57bf2635bfdec382bd6ea9cb3f7e8c3aead0b06b2166166c7d620

See more details on using hashes here.

Provenance

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