Skip to main content

Collection of pyflow tools for ecflow suites

Project description

Wellies

A set of tools to build consistent pyflow suites.

The Wellies documentation can be found https://pyflow-wellies.readthedocs.io

Installation

with pip

First you need to assure you have ecFlow installed on your system. The simplest way is to create a conda environment. We recommend using mamba to speed up the environment creation process:

$ mamba create -c conda-forge -n wellies-env python=3.10 ecflow
$ conda activate wellies-env

Then, wellies can be installed directly with pip

$ python -m pip pyflow-wellies

from source

First, build a conda environment with all the dependencies

mamba env create -f ./environment.yml -n wellies-env
conda activate wellies-env

Then, install wellies in your environment:

pip install .

Quickstart

Create empty suite

To create an empty suite with the default wellies structure, simply run

wellies-quickstart /path/to/project -p mysuite

Once created the suite can be build this:

cd /path/to/project
./mysuite.py configs/*.yaml

which is equivalent to

./mysuite.py configs/config.yaml config/tools.yaml configs/data.yaml config/execution_contexts.yaml

You can also cherry pick your configuration files following your needs:

cd /path/to/project
./mysuite.py configs/config.yaml config/tools.yaml

Contributing

Building package

To build source distributions, build is required. With that the source distribution can be built from any environment with

git clone https://github.com/ecmwf/pyflow-wellies.git
cd pyflow-wellies
python -m build

Testing

To run tests, first install testing dependencies:

git clone https://github.com/ecmwf/pyflow-wellies.git
cd pyflow-wellies
pip install .[test]

Then to run all tests

python -m pytest

To run individual tests:

python -m pytest tests/test_data.py::test_rsync_data

Documentation

To build your own local documentation you need mkdocs and a few entra plugins. As there are many auto-generated parts in the documentation, you will need a environment with wellies and all of its dependencies installed to build the documentation. To install the documentation-only dependencies:

git clone https://github.com/ecmwf/pyflow-wellies.git
cd pyflow-wellies
pip install .[docs]

Then to build it

mkdocs build

To build and make it available in a local server

mkdocs serve

Project details


Download files

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

Source Distribution

pyflow_wellies-1.1.0.tar.gz (220.3 kB view details)

Uploaded Source

Built Distribution

pyflow_wellies-1.1.0-py3-none-any.whl (170.0 kB view details)

Uploaded Python 3

File details

Details for the file pyflow_wellies-1.1.0.tar.gz.

File metadata

  • Download URL: pyflow_wellies-1.1.0.tar.gz
  • Upload date:
  • Size: 220.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyflow_wellies-1.1.0.tar.gz
Algorithm Hash digest
SHA256 031c8008d7f09aa918306ac0bab57496f13b3192753308042c9b556a979b012a
MD5 381d3aa612df3dbc9c910fdae9e3f731
BLAKE2b-256 24e840c9e4b8751bf9f3c96126681321fd5c6110503dce4e0f74dc0a06aefed8

See more details on using hashes here.

Provenance

File details

Details for the file pyflow_wellies-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyflow_wellies-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1715acbb8498906649d4500015fb61da70d1be6bc0a04d2807ece8992ec25e86
MD5 e599205a2c64fd8f943bf70a6dc31a0a
BLAKE2b-256 c3024c5de853dc71653c5c258429f1ed5cdc1c0ee0685ed37c25a511ae2f0b7a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page