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:
RasterInputProvidersupplies static or time-varying raster inputs and domain metadata.RasterOutputProviderrecords gridded results at simulation timesteps and finalizes derived outputs.VectorOutputProviderrecords 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)
| File | Size | Uploaded | |
|---|---|---|---|
| itzi_core-0.3.1.tar.gz | 995.4 kB | Details |
Built distributions (wheels)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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