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.4.0

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.4.0
File Size Uploaded
itzi_core-0.4.0.tar.gz 1.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for itzi-core 0.4.0
File
itzi_core-0.4.0-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
itzi_core-0.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
itzi_core-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
itzi_core-0.4.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
itzi_core-0.4.0-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.4.0-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.4.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
itzi_core-0.4.0-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
itzi_core-0.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
itzi_core-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
itzi_core-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
itzi_core-0.4.0-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.4.0-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.4.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details

Total release size: 44.6 MB

Release files / itzi_core-0.4.0.tar.gz

Download URL itzi_core-0.4.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
699032e4dbd7ba361684aea7a4342f7ed88d3bd3fddb9945dd3c0068642b6cba
BLAKE2b-256 checksum
How to use checksums
ba08bf938aaa63599ec678896d7c81751ce15d23f778a223eed6ff890a913c28
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-cp313-cp313-win_arm64.whl
Size 1.5 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
cab8efd01099398dcf191e813ae4a421161115bc04600474a6cdc778f31cdee9
BLAKE2b-256 checksum
How to use checksums
241a609e66a46985f4839a5c533e92108def6eeb387e7938fded4e0f0956cdb0
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-cp313-cp313-win_amd64.whl
Size 1.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f4bc45cfa7d2ec9a06a48403d330f6101c7a43dff9159e6d3b21af300ebbb0de
BLAKE2b-256 checksum
How to use checksums
15792b6adf1dedfbae3dff42afde7e7d16fd596b8e403087ec62c9fc3952a352
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
18c2ad7f36ce8ee023c5f915096594e59c32e34de6dc42b900fa5fc2d41ca90e
BLAKE2b-256 checksum
How to use checksums
1ce064316942804477d247a2caebe01b2fd82c82127b53d4b17acbebbc1aaf3b
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
65bcc935157623b48092ccc5be79ded893e0208e559e7f0b19056a603915c92b
BLAKE2b-256 checksum
How to use checksums
db582733752005b27473d9a52d1b5d50df6c353d0a38218da4707119e25766a6
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
764478f8fbfad1b6cc0bebfb1c8c7e57b6dae22622eb8f89ef585544f695d0c5
BLAKE2b-256 checksum
How to use checksums
7670e148f3cd9ab6c74fe1320d2c2df4cab2c32d6e343991390ca19c5ffae46f
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
5f9607c1b889885961472b7d14ef347510cc717882e6fccb7e774ae8d033b812
BLAKE2b-256 checksum
How to use checksums
449ff6d20914a0dfd07e0eceb01c09d436321204740e2a1ea2157f656017e276
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
b782354aed73668eda1f55e23800fb2efbb8a4e264867db8b3a63572d8398919
BLAKE2b-256 checksum
How to use checksums
7808fbd9c937dfa8c67f7cfda11243f0cd758d54407bb684933d81a1f066329a
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-cp312-cp312-win_arm64.whl
Size 1.5 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
96b1931bb4274c63a5380b45c62202e24f56cb33d10e2e5ea280c4447a8107c4
BLAKE2b-256 checksum
How to use checksums
c400bb276f3d0de30e40edad43959a0d24859d216baa5d908c18c8a599ee8fa1
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-cp312-cp312-win_amd64.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
95e065f4b250bb365451f569ce45bf8c0f5ad93f7011fd0f7951e4e18b7b41ca
BLAKE2b-256 checksum
How to use checksums
c86be3a1f8d513f49119ea697277bf2b8426a8254dbbdd4052f262f21a734979
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
1087da46d6594135ae3c633e5d680b31a8317679cd954081d51aafa82950aeb3
BLAKE2b-256 checksum
How to use checksums
a0b54684bbf3b7299615344d93898e9a4aa4679d29ab6a0fc6664e9f4dbab121
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
34e526b54a16a92817aad78f073bd739c6090d4b59a05fe310166cba6395eb1f
BLAKE2b-256 checksum
How to use checksums
15023f52fc58ea9ed8a7e4a553763a2a2caeff28ab1597e356fc0022721299f5
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
9cf1716daa1adab96c57d172f595fffaff3597ae8e8e560ebd36a5868a3c0c37
BLAKE2b-256 checksum
How to use checksums
36b3554b5b81dc087927a60e11b65e2c2d65d9a9ecd2fc7dcb8dc822d514702f
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
ec9af82010b7f590b030d29457461d3578163aebf1c51b6dd207d7c4f6fbcc4c
BLAKE2b-256 checksum
How to use checksums
5df6b8d85d51191e28ab257fa077d4e9e7405c72be8daeedaffcbcd7edd18b20
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 28, 2026.

Transparency log

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

Download URL itzi_core-0.4.0-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
567b7acabb926f524021c04dba55c093ace6e1a7cda42826dab280577cd91a87
BLAKE2b-256 checksum
How to use checksums
c7efbb182f56f0c2673a76d0d87f70bc5f9e37cc23991269b2469f14ad4973b2
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 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

22 release files

0.4.1

22 release files

This release

0.4.0 This release

15 release files

0.3.1

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