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

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.12.1-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.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (653.1 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.1.tar.gz.

File metadata

  • Download URL: isobenefit-0.12.1.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.1.tar.gz
Algorithm Hash digest
SHA256 8e636526575db4322b7aa1d5067c4411bab390757833be6d6ed6a2f424d41b8c
MD5 9b0b786c95f85ed3759fc7b42385bcc1
BLAKE2b-256 7c4f5e6e6abe869c4b7a31c4962d77bfef5fbd54432493ec05bbdf4f1995c759

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: isobenefit-0.12.1-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.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 99b916d7231f18529a9a6506d6fbd65787f716e4c85ed6c5e4ab8d468c8594bf
MD5 15a64967c182a86ed6d16b387d201070
BLAKE2b-256 f4f639f6b349033b6786c36bde30d0684f8796f4e87f88f084e30308c13bf8ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for isobenefit-0.12.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3e071bb2c68ea803d3b282a1b9bcdac1828973baad6b921889157aac6223b59
MD5 7e06fc6a7387b64983fb291e37dd31e4
BLAKE2b-256 80fa77fd73c8d61813fe15da97895dfef43b7ec52cacd5cd160bb215861104a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.12.1-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.1-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.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 5bbb441be89fb7e7f08ceed54abefc70d5810c43cefbd5a8d205b17b21f13f0a
MD5 0ca7ea282dd66842eecb72936b0fff78
BLAKE2b-256 e43b118a34a88a38c323eeeba217beee012356b4dbad5069442754c835879ca7

See more details on using hashes here.

Provenance

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