Skip to content

ecmwf/pyflow

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

16 stars

Watchers

13 watching

Forks

Packages

 
 
 

Contributors