Metadata-Version: 2.4
Name: tracksuite
Version: 0.3.3
Summary: ecflow suite tracking and deploying toolkit
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>, Corentin Carton de Wiart <corentin.carton@ecmwf.int>
License: Apache License Version 2.0
Project-URL: Source code, https://github.com/ecmwf/tracksuite
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gitpython>=3.1.25
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: mocker; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Dynamic: license-file

# tracksuite
Track and Deploy workflows and suites through git

**:warning:DISCLAIMER:warning:**:
This project is **BETA** and will be **Experimental** for the foreseeable future.
Interfaces and functionality are likely to change, and the project itself may be scrapped.
**DO NOT** use this software in any project/software that is operational.

![](tracksuite.png)

## Installation
To install tracksuite using pip (requires python, ecflow and pip):

    python -m pip install .

## Usage
To initialise the remote target git repository:
    
    usage: tracksuite-init [-h] --target TARGET [--backup BACKUP] [--host HOST] [--user USER] [--force]

    Remote suite folder initialisation tool

    optional arguments:
    -h, --help       show this help message and exit
    --target TARGET  Target directory
    --backup BACKUP  Backup git repository
    --host HOST      Target host
    --user USER      Deploy user
    --force          Force push to remote

To stage and deploy a suite:
    
    usage: tracksuite-deploy [-h] --stage STAGE --local LOCAL --target TARGET [--backup BACKUP] [--host HOST] [--user USER]
                        [--push] [--message MESSAGE]

    Suite deployment tool

    optional arguments:
    -h, --help         show this help message and exit
    --stage STAGE      Staged suite
    --local LOCAL      Path to local git repository (will be created if doesn't exist)
    --target TARGET    Path to target git repository on host
    --backup BACKUP    URL to backup git repository
    --host HOST        Target host
    --user USER        Deploy user
    --push             Push staged suite to target
    --message MESSAGE  Git message

## Overview
![](workflow.png)
