Skip to main content

A distributed 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.1.0.tar.gz (995.2 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.1.0-cp313-cp313-win_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

itzi_core-0.1.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.1.0-cp313-cp313-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

itzi_core-0.1.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.1.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.1.0-cp313-cp313-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

itzi_core-0.1.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.1.0-cp312-cp312-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

itzi_core-0.1.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.1.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.1.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.1.0.tar.gz.

File metadata

  • Download URL: itzi_core-0.1.0.tar.gz
  • Upload date:
  • Size: 995.2 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.1.0.tar.gz
Algorithm Hash digest
SHA256 d911aab8863ee9cd26488c923f34f0de3032c46875f93f6c4c23a20a926a9fc8
MD5 68c5f77e0bd8c764883c2cca6b8001e9
BLAKE2b-256 28eaaa6e74899bfe3996ae03b551810740737fb64232e149ac3d5a25eb4add00

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: itzi_core-0.1.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.1.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 a0bceca3e45d65d1a10c73b87c1c69fd4705908b340ffadff99467f6028b8ab1
MD5 030ca371314ce4c7f66a2fe91b114b5d
BLAKE2b-256 3068064abe361061ab6fc914d6df83681b92bc45cdb8991484f0f05204408183

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: itzi_core-0.1.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.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 04924438268a49b10f00fa9973d6fd7f0439541dca88d0283abb2b4e395f4420
MD5 0829cadb36ef54db0af4d9334124c066
BLAKE2b-256 dbde4af98384e8443febeada54bede41d28a58c8030878e0dfc58ab27ee5d4e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e1254120530e315d1c79d2a13478d2da9565520824ed87b8a81889e7d6ad4b7c
MD5 68267b45d14f66e6d229aaa5c275256e
BLAKE2b-256 174284d097d630fead191e99cb31b493e97ed8b8a0477154acd83c66858a3036

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3757ea841ed513bbcc95a2244630c1cc53235dd6d72ecae3f24092a4739ae7a7
MD5 c04ebd4a7c3aa4cf594f89f5c1e23a85
BLAKE2b-256 9f67805d28a839058fe2ab17bb67ada2b831f0ed138fc42d56cc93cf6ca03bd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.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.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0a96e4f76c40cc092bdd1d1fb8f4027e4052c47451f0d88d79c82133cea302d
MD5 3ba464e4081cec75638d76db155eee5d
BLAKE2b-256 e40ba7e0f24af3beabd28c81576b63b7cc51c0c8457d975413d86ab67dfb0a7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 18ce4242123d8afc88507cfdbe2477ce46c42f68b46c2d87e3df4aa3363889f6
MD5 9401f825681962d1ac241ced24855057
BLAKE2b-256 8a26ffb365edf98263ed4b7e93305d61063682f425680c59c556ec0280e49b64

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a162b929bda786777c5a4778dddf012309a932df3e1420cee5617b0a44a0671f
MD5 2ee0bde942e71684493833b1f3f0bda6
BLAKE2b-256 fa1e0892c32fd4c279916e5e90cdba6784653e055bdc3bd033e390ca828b9b75

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: itzi_core-0.1.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.1.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 107d472e2bc18f72821aedd677a0c7b7776b699154833f11703b084234224ff8
MD5 5fd8b376767b12d656569be920af20ea
BLAKE2b-256 b1ac17bcb89458903f20d33160ba04312cdac21d40cb7b0d523fd029f20bb506

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: itzi_core-0.1.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.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f6b5e149e38db691b80b4233d264a18e8683fbf968164dd132c7647d421faa7c
MD5 9ba40cf7ada2f3dcf155119f3d27bec3
BLAKE2b-256 983c8d149402385fb14f403a8a8789e641a5d239f15cb8cf3d0925d0e7c3b5ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 22375b924727ac3aa645f56288ef2c36e2df4bcaa8c07e1604527a04c1634bcf
MD5 b5c989d2a1680ef00cf332c83b7e32b0
BLAKE2b-256 7a7c75f176d6f0ea46d69c3ea36a4df7d3fe8031e26252a5d8cd07ffe1f2f4d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f47c9a8937d8b79a2165b1f87ebeb4b7d72701b92ea433803edf27b14fa7cc83
MD5 eab7706d5268b19ec3aee2e7a7cf05db
BLAKE2b-256 03a1b4bb3a2da02b6c640f25180299daee428df817830ca6a1f7b6659d06985e

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.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.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ddeb1d4cd36bb671dc0f6263e98f1dc91d3f744b2b28a955e026e9990da9efa6
MD5 48e6dd414fd85d1f4d66d073af7ba01a
BLAKE2b-256 6bc39ee710208f44548f9586a23b9e8626a0cfd696665f482a519af652b2680c

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ecf19ae351a449f2e27ef2ee682d5a17df6d5a6ace14abf2003e976187add740
MD5 12fc86536c4b85135bc3ef7e5aaf8a13
BLAKE2b-256 02058d34684d8570d09c3f9434338155b2c5f5690e63e611d0b4d6e0c837ea47

See more details on using hashes here.

Provenance

The following attestation bundles were made for itzi_core-0.1.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.1.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for itzi_core-0.1.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 61952609fe1d3ca3203f571b1505c2f92e76d58bcd45a6c06678a74b40c7c45b
MD5 b877fcedb57865938c1db251fb400285
BLAKE2b-256 010770b205cce3c6ab28685adb158b9614ff2517f1e3bd770c3c81f527c6e19a

See more details on using hashes here.

Provenance

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