Skip to main content

A cloud-native dynamic flood model.

Project description

itzi-core

itzi-core is the computational part of the Itzi flood model. It provides the numerical simulation engine for distributed, dynamic flood modelling, including surface flow, hydrology and infiltration, and optional coupling to SWMM drainage networks.

Direction

The project aspires to become a cloud-native flood model. Its architecture separates the simulation engine from data access through provider interfaces, so applications can plug in their own raster input, raster output, and vector output providers. This makes it possible to run the same computational model with local files, in-memory data, or cloud object storage without coupling the solver to a particular storage format or platform.

Included Providers

The package already includes:

  • An xarray raster input provider for static and time-varying gridded data.
  • An Icechunk raster output provider for versioned, appendable simulation results backed by Zarr-compatible storage.
  • In-memory input and output providers for programmatic use and testing.
  • A CSV vector output provider for drainage-network results in object storage.

The xarray and Icechunk providers are available through the optional cloud dependency group.

Installation

Itzi Core requires Python 3.12 or 3.13.

Install the base package with pip:

pip install itzi-core

Or add it to a uv-managed project:

uv add itzi-core

Install cloud providers, including xarray and Icechunk support:

pip install "itzi-core[cloud]"

With uv:

uv add "itzi-core[cloud]"

For development from a source checkout, use uv:

uv sync
uv pip install -e .

Architecture

Simulations are configured with SimulationBuilder. A run combines the numerical core with providers that implement the following interfaces:

  • RasterInputProvider supplies static or time-varying raster inputs and domain metadata.
  • RasterOutputProvider records gridded results at simulation timesteps and finalizes derived outputs.
  • VectorOutputProvider records coupled drainage-network results.

Custom providers can implement these interfaces to integrate another data catalog, file format, service, or object store.

Development

Run an individual test:

uv run pytest tests/test_xarray_input.py

Format the project:

uvx ruff format .

The numerical kernels include Cython extensions. Rebuild the editable installation after changing a .pyx file:

uv pip install -e .

License

Itzi Core is licensed under the GNU Lesser General Public License v2.1 or later.

Links

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

itzi_core-0.2.0.tar.gz (993.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

itzi_core-0.2.0-cp313-cp313-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows ARM64

itzi_core-0.2.0-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

itzi_core-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

itzi_core-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

itzi_core-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

itzi_core-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

itzi_core-0.2.0-cp313-cp313-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

itzi_core-0.2.0-cp312-cp312-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows ARM64

itzi_core-0.2.0-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

itzi_core-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

itzi_core-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

itzi_core-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

itzi_core-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

itzi_core-0.2.0-cp312-cp312-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

Details for the file itzi_core-0.2.0.tar.gz.

File metadata

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

File hashes

Hashes for itzi_core-0.2.0.tar.gz
Algorithm Hash digest
SHA256 51278ec283ac595325aac749158b43025c31654587a69cbb6d109c81bc6843c9
MD5 292bc2ea25de51c249f0e05806129e68
BLAKE2b-256 d1c39285c13d33d385e3f98a82197667092a88e8e23ab15972ec469a3ac276b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0.tar.gz:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: itzi_core-0.2.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 694bd0663260a7672e9a8f081423cce09800baac5ecb37514a0e7bdf33a56752
MD5 862daad2759446556f0b09e69bb80987
BLAKE2b-256 38175718aa10d47125ace659f03e27eeed152f41015cee066bf4005585701499

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-win_arm64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: itzi_core-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d1f0ac02545f7a3b8dccf3f59f6336c0b703b42961cfa839558ed7d5e39bc263
MD5 4dca50f2db941ff6b94d19578af71d1c
BLAKE2b-256 19bd1d02b737f4881536dfeb20349f7bbbf93ad1309ce04f8ca566d9c57c2a19

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5de3de93e0b9f9b25f42aa3dd805e2b65db5cd0044fa87ac279d618d3eb10f64
MD5 da3488c4042996ee8dface511d79952d
BLAKE2b-256 7e365c80f097971d73f05d52b67afb1cae714d06c3d2342dd472ec14afd6c310

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f5dccb7fe029efe2b76a2527f939349e7d962b142f7310544242647f51c67c4b
MD5 540c29deb2d73b86634dde54358e7a0d
BLAKE2b-256 740b58bb1bbd63dfe81d0a3bebd1ef5a9f9729e9de56302591d19e50d739a4af

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1845b2794c3a0ca78ba2b36ae81eb239d6abb3e65601147f3ebbbfe5948c4e4a
MD5 7ed0a2f7ae43dca3af7cac0b9dc304a1
BLAKE2b-256 4bbd5d96539786f56e37428d7ab488a644d87742e86c7a39c69a3d34ebd8a00b

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f1b9829077ee1896cc0d399cd3617955c9c80e7935ffc372f1f5c3fbe915dd43
MD5 75ebf8f7170ab86da1bc0b64ab8e90f0
BLAKE2b-256 1c858ec4eae4a507e55b6aa057805f3512c2e02d9fc9dfcae87ba856f97827c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3417bc3182b3bc37e61fd6aae1c6de32149bf5e5edc1b05ebd8ecc02f038598d
MD5 a409efbe78b851c2c1426ecf4f71c622
BLAKE2b-256 56ad26224a18b4e953f5ba919cb0af5611c62b1762071071ff5d737a7dc3f966

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: itzi_core-0.2.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c794fa3b26d625c7939c0a8bbcd6d5c4146ff7d82e3fe17f6395b46990f5d0de
MD5 2c41ec1a5d04fd3c6c4ba095401549ca
BLAKE2b-256 9f2c60370bdd801f3181e4babc7d2a9b488075cbbec4b1f101f1f4fae5033dd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-win_arm64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: itzi_core-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 220c52d01ae817a0dd7677ce0bfa6950970dc2f3e0c47266ba698783c245e635
MD5 a8ec288afdafa0af1d4c864033df20c8
BLAKE2b-256 9fb53d46b0dd2338744dc8b506f3fe765f569aecd318d1832210611cb5545871

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e1313ceaac94a672c946c735d343b6df0d57cb070bebc587cf3d2f98f8d673c
MD5 879ada0ebbee7c0ba6085968c37a082b
BLAKE2b-256 458dbd3d98eefa8d5f2c0b2a0878de55666ce6c1a45a30902f33a7a60455843a

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5043b8459b5211394fae0603ba17575ec264b511dbe1e4dab25f3cd48825eb63
MD5 d1f769f0d692abfd492ccb4768568733
BLAKE2b-256 8ecdc4e20b769c885522bd7301c1705f52cef0cf623e01ff82d12d84bc416dfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f10d4b4a95011b3a6e4836c89bec703deea80120b90fbe51bf91eb2ff831e744
MD5 e1d66b8d6cefc709b2e415a59de15854
BLAKE2b-256 6baf460673cfa7bc90681ad718887904ee18200856664586a3a5431edd588d09

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 08734cf1b5fc0818bbc9d6ad3fdc875da3b85886dea98b02a69da1dc05043cc4
MD5 9633e6605973faf50b1bdbe13efb4c18
BLAKE2b-256 c63c7c8d746d9da646f00b72a2f4b3860e982f759e13e8c46819146213e0fbe6

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ItziModel/itzi-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file itzi_core-0.2.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for itzi_core-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e58a80a5abaa16e3435f0e6c3467887c6405ef2fe6392062b097ac1c300a0e96
MD5 6603cc6bebef9849180982790ed2a7e2
BLAKE2b-256 f5a646adb9c26cd9e3b6eae8c239562d13df2291995b2dcb402cb82725f82b46

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.2.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: release.yml on ItziModel/itzi-core

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