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.

Metadata

Release files for hyve-flow 0.0.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 hyve-flow 0.0.1
File Size Uploaded Provenance
hyve_flow-0.0.1.tar.gz 165.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hyve-flow 0.0.1
File Interpreter ABI Platform
hyve_flow-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 177.7 kB

Release files / hyve_flow-0.0.1.tar.gz

Download URL hyve_flow-0.0.1.tar.gz
Size 165.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8cee49fc0e0ce8e782507313c859329f81e98993f9892544e7b09f6e243e3d0d
BLAKE2b-256 checksum
How to use checksums
40ffe42bdf3b3518006e364513ef2e7cd4712ee51e294cbc950305de2afae8e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / hyve_flow-0.0.1-py3-none-any.whl

Download URL hyve_flow-0.0.1-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
facc44bf8b38bf7d766097d6566de61e744b62faa3d4137d555609772ec803f7
BLAKE2b-256 checksum
How to use checksums
cc9505156ff9aab4d16e3c23fe9a6587c3adb6c53e0a24b08b3fc0976c3ac852
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for hyve-flow 0.0.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

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