Skip to main content

Collection of pyflow tools for ecflow suites

Project description

Wellies

A set of tools to build consistent pyflow suites.

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.0.0.tar.gz (217.1 kB view details)

Uploaded Source

Built Distribution

pyflow_wellies-1.0.0-py3-none-any.whl (167.6 kB view details)

Uploaded Python 3

File details

Details for the file pyflow-wellies-1.0.0.tar.gz.

File metadata

  • Download URL: pyflow-wellies-1.0.0.tar.gz
  • Upload date:
  • Size: 217.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for pyflow-wellies-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3e6faa13d06a1321abf1bebb8d81a6516e252bb0eea5e72a8c11264f8bc869b1
MD5 7af6cd97c3191ab980d00735852a3a9d
BLAKE2b-256 342a62e67dfd04e6e9f28eb6c8b0337783a0153908415fac74b2bd63d0e6a75a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyflow_wellies-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb42ac7b85767e07d23ab051c59f867c5d03e7ff27792688ae0ebbe604ba4343
MD5 fd6b780e5a8ebe2abb2eab85942288f7
BLAKE2b-256 65239d6a6538395f47c56c5a4584ff69eb67c2341fc735717bf79e742003d8a6

See more details on using hashes here.

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