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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 031c8008d7f09aa918306ac0bab57496f13b3192753308042c9b556a979b012a |
|
MD5 | 381d3aa612df3dbc9c910fdae9e3f731 |
|
BLAKE2b-256 | 24e840c9e4b8751bf9f3c96126681321fd5c6110503dce4e0f74dc0a06aefed8 |
File details
Details for the file pyflow_wellies-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: pyflow_wellies-1.1.0-py3-none-any.whl
- Upload date:
- Size: 170.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1715acbb8498906649d4500015fb61da70d1be6bc0a04d2807ece8992ec25e86 |
|
MD5 | e599205a2c64fd8f943bf70a6dc31a0a |
|
BLAKE2b-256 | c3024c5de853dc71653c5c258429f1ed5cdc1c0ee0685ed37c25a511ae2f0b7a |