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.8.0.tar.gz (19.4 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.8.0-cp39-abi3-win_amd64.whl (244.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

isobenefit-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.4 kB view details)

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

isobenefit-0.8.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (648.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.8.0.tar.gz.

File metadata

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

File hashes

Hashes for isobenefit-0.8.0.tar.gz
Algorithm Hash digest
SHA256 ef379e7f214df4264a7a6eb9c356483e00d349d588ead2bc301ab78877b8cd70
MD5 22e90cbd6ba798a4bd6ec5c6fa82cd80
BLAKE2b-256 257164dc8fed33ba1b987bb79e3591816e8c696f2d756d30a4d2d39ca65c9ea8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: isobenefit-0.8.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 244.8 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.8.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 011443ae023a47329e8e8ab57fda268f0c89f0e02ff6a422bf30e6d3e8d0c0b1
MD5 b500d00e84b74e734ddc2a9570d244ab
BLAKE2b-256 8bd99ea541d539bb2080a643985553588c095616afbbed1abf42acde87c5c6b0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for isobenefit-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ef8f6586f83524bc2a9d167b6824b7aaa8e7c2fc65244896f346474a71bde86
MD5 646b08391424dd2adf1c1ce2d58f16c3
BLAKE2b-256 ea0f89e58ddf2f6010e2c2478903166ae356385f85d99d702742b958858a7595

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobenefit-0.8.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.8.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.8.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 2c5c721058c1a3190a1bec50c27bea946155fe4e0728c15962d345ffa91a3853
MD5 932a8d0c2f34d4539a86cd3572eba38a
BLAKE2b-256 be3d741622ae30fb4f745236e1e28fdd9ddb3acc7d7be40502ce9fab0a1ec5c1

See more details on using hashes here.

Provenance

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