Skip to main content

Hyve Flow

Reusable pyflow suite-building components for hydrological verification workflows. The package is consumed as a library by suite repositories such as hyve-suites, which import hyve_flow at suite-build time to assemble ecFlow nodes and tasks.

Development

The project uses uv for dependency management. The interpreter is pinned by .python-version and the resolved dependency set is committed in uv.lock, so an environment can be reproduced with:

uv sync                 # core dependencies only
uv sync --all-extras    # plus test, dev and scripts extras

Run anything inside that environment with uv run:

uv run python -c "import hyve_flow; print(hyve_flow.__version__)"
uv run pytest

uv lock regenerates the lock file after changing dependencies in pyproject.toml.

Running the tests

pyflow needs the ecflow Python bindings, which are not distributed on PyPI. Tests that build pyflow nodes skip when the bindings are unavailable. At ECMWF they come from the ecflow module, which sets ECFLOW_DIR for pyflow to discover:

module load ecflow
uv run pytest

Installing without uv

For environments that already provide their own interpreter and dependencies (CI images, conda environments), the standard editable install works too:

pip install -e .

Dependencies and the task environment

The package declares two separate sets of dependencies, because two separate environments are involved:

  • Required dependencies (pyflow-workflow-generator, pyflow-wellies) are what import hyve_flow needs — the environment in which a suite definition is built.
  • The scripts extra mirrors what the task scripts under hyve_flow/scripts/ import (xarray, earthkit-*, conflator, pydantic, hydro-verification). It exists for working on those scripts locally; building a suite does not need it.

Those task scripts are deployed as files and run on the execution host, inside an environment provisioned separately by the wellies tool store. hyve_flow is deliberately not part of that environment, and so declares no console entry points — the scripts are located as package data via importlib.resources.files("hyve_flow.scripts") rather than installed as commands.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyve_flow-0.0.1.tar.gz (165.9 kB view details)

Uploaded Source

Built Distribution

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

hyve_flow-0.0.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file hyve_flow-0.0.1.tar.gz.

File metadata

  • Download URL: hyve_flow-0.0.1.tar.gz
  • Upload date:
  • Size: 165.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for hyve_flow-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8cee49fc0e0ce8e782507313c859329f81e98993f9892544e7b09f6e243e3d0d
MD5 0039c23c45e7576220a9c77b3c1ba710
BLAKE2b-256 40ffe42bdf3b3518006e364513ef2e7cd4712ee51e294cbc950305de2afae8e8

See more details on using hashes here.

File details

Details for the file hyve_flow-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: hyve_flow-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for hyve_flow-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 facc44bf8b38bf7d766097d6566de61e744b62faa3d4137d555609772ec803f7
MD5 1df143a83cf4fe146948e6da9fde6981
BLAKE2b-256 cc9505156ff9aab4d16e3c23fe9a6587c3adb6c53e0a24b08b3fc0976c3ac852

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 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