Skip to main content

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

Release files for itzi-core 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for itzi-core 0.3.1
File Size Uploaded
itzi_core-0.3.1.tar.gz 995.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for itzi-core 0.3.1
File
itzi_core-0.3.1-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
itzi_core-0.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
itzi_core-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
itzi_core-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
itzi_core-0.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
itzi_core-0.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
itzi_core-0.3.1-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
itzi_core-0.3.1-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
itzi_core-0.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
itzi_core-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
itzi_core-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
itzi_core-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
itzi_core-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
itzi_core-0.3.1-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details

Total release size: 44.5 MB

Release files / itzi_core-0.3.1.tar.gz

Download URL itzi_core-0.3.1.tar.gz
Size 995.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e5509dabc30720276f4810766571ded76abbdbef5f23faa269c9232779624423
BLAKE2b-256 checksum
How to use checksums
145e9a999e741fea563dd158cef462f4da2fa56a2e087643fc28b6b1bd55db3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-win_arm64.whl

Download URL itzi_core-0.3.1-cp313-cp313-win_arm64.whl
Size 1.5 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
a1e0c3064412bb6db6c9e5b3c0464f9013426a2100fdfde9f1a7444c047fadce
BLAKE2b-256 checksum
How to use checksums
31bd6551bb935ff75837a6eda3b0174efc4c266d9b56db8206eb055daaa745c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-win_amd64.whl

Download URL itzi_core-0.3.1-cp313-cp313-win_amd64.whl
Size 1.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d059f4f5fa4524b0437422ec74e82a64888da27dc37c1461b8d9f3da6784c0e9
BLAKE2b-256 checksum
How to use checksums
0e25d1bde0f06e014b7d6055e8ba6f008b9e3c207fcb7a118a7e1f9bb4787c7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL itzi_core-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 4.3 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c54deedf6b700db0378adc69ba6d253ea6cdd1dcc9cde78b01b7bd50ddf2b271
BLAKE2b-256 checksum
How to use checksums
e075e3abfca1b4c33d8f7e929a3860ab66ba93c5fe60f82ff8f93dec9cda9ca0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL itzi_core-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 4.2 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
923d3836a4704f0b08bda9f144e1d05fdd0df49a2400bb5ebd695c3036f1b867
BLAKE2b-256 checksum
How to use checksums
af59b5c7187a472ab2505800521809d4083cd4dadd1fbd609e9a3848bee6dafe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL itzi_core-0.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
693f21eedbd148bee9720d36843d64d5d0098413ee54c4a021bb540f55f19392
BLAKE2b-256 checksum
How to use checksums
0d3cb22fc27d71e5ad3eb1d64f1b67659be746ce32831f7bb8e4bfec6e8d4d16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL itzi_core-0.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 4.3 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
544feea83bc95225dd3a1df3ecbada8ba245b4cd9df9389e8fa363b9970efdf5
BLAKE2b-256 checksum
How to use checksums
c8ac0f9d6da1a35081ff2b223610e75ddba3fd3f3df0095a4d4f726929068b41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp313-cp313-macosx_14_0_arm64.whl

Download URL itzi_core-0.3.1-cp313-cp313-macosx_14_0_arm64.whl
Size 1.4 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
c0276c5312e051d743d24cad6c6e457e65699fc6d1b5b926c8c601f2300c8a64
BLAKE2b-256 checksum
How to use checksums
5d00ef2b4f6a12bd92f939ed476ed43c1e34da8fc29aca5be095eeee267b8171
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-win_arm64.whl

Download URL itzi_core-0.3.1-cp312-cp312-win_arm64.whl
Size 1.5 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
74e7c49e82a08351a58d8d9e5e4fa7fa9392e7ba56ba36d802bc203ec8f00a9f
BLAKE2b-256 checksum
How to use checksums
405fa202c2fa9dd10f490aebfce59998cf91386cf5574ddd96268d7dce293419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-win_amd64.whl

Download URL itzi_core-0.3.1-cp312-cp312-win_amd64.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6096c547658f98f52a3fb7e18bf063df89ce353e5eda5d38cbd149e1756c3403
BLAKE2b-256 checksum
How to use checksums
476d9a9d581bf54b284f49cf107dee464cf7a755ce75ad507e3d4a1655e3d316
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL itzi_core-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
57aa8c5bf0e851360b6a8061b56d3db1b6d9158f96b4454813c30b3e7d4be5da
BLAKE2b-256 checksum
How to use checksums
b14af6adf2915bf32ddc31c9a929556c3ffc41576a5a00941f7ed2b4225f7089
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL itzi_core-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 4.2 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7d67252cd2ebba116480a36f7524e930e10d21abd67037b31b9d257ed4fe211c
BLAKE2b-256 checksum
How to use checksums
591f5c2c4091dcaaa5157c0daf0cf50d4f8281fcbf586cfb0099f4b81a5ba15b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL itzi_core-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d7ad753d8ed1f32daeffafc3d94cb5bc39585495d671e5c768facee586876f3
BLAKE2b-256 checksum
How to use checksums
19a2eedb10ecfe6a279434318a0a76d39319a443905f1cd092c9238b8783185a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL itzi_core-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 4.3 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b6ff1456f9327c13770133678242ca029cf3621bb52243cf3e8c574ce8b73c90
BLAKE2b-256 checksum
How to use checksums
95e2e7158b536c3c37fb5e5b469b5f844c90ebf23ec0d1e5c650385b3011689d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / itzi_core-0.3.1-cp312-cp312-macosx_14_0_arm64.whl

Download URL itzi_core-0.3.1-cp312-cp312-macosx_14_0_arm64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
49fcf7ed1aa593311ed61c07572e6a5d827bc64082e8405c9514491efc6951c6
BLAKE2b-256 checksum
How to use checksums
545ed89390be625f4ebbeeb2311487df549742f15b831011c0a7f358a18ef93f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

22 release files

0.4.1

22 release files

0.4.0

15 release files

This release

0.3.1 This release

15 release files

0.3.0

15 release files

0.2.0

15 release files

0.1.0

15 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page