Skip to content

Latest commit

 

History

History
81 lines (60 loc) · 2.62 KB

File metadata and controls

81 lines (60 loc) · 2.62 KB

Pyflow

ECMWF Software EnginE Maturity Level Licence Latest Release

InstallationDocumentationLicense

Pyflow is a high level Python interface to ecFlow allowing the creation of ecFlow suites in a modular and "pythonic" way.

Installation

To install pyflow using conda (including ecFlow):

conda env create -n pyflow -f environment.yml

To install pyflow using pip (requires a local installation of ecFlow):

pip install pyflow-workflow-generator

Documentation

The documentation can be found at https://pyflow-workflow-generator.readthedocs.io.

QA Checks (CI-equivalent)

The CI qa job runs the following checks, in order:

  1. isort --check .
  2. black --check .
  3. flake8 .

This repository includes a matching pre-commit configuration in .pre-commit-config.yaml using standard upstream hooks, pinned to the tool versions from the CI run:

  • isort==8.0.1
  • black==26.5.1
  • flake8==7.3.0

Run locally:

python -m pip install ".[dev]"
pre-commit run --all-files

The hooks are split into three sequential checks (isort, then black, then flake8) to avoid conflicts and to match CI behavior. Running isort before black prevents import-format churn, and running flake8 last ensures linting sees code after formatting checks.

License

Apache License 2.0 In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.