Skip to main content

ecflow suite tracking and deploying toolkit

Project description

ECMWF Software EnginE Maturity Level Licence Latest Release

InstallationDocumentationOverview

[!IMPORTANT] This software is Incubating and subject to ECMWF's guidelines on Software Maturity.

Tracksuite offers command-line tools and a Python API to allow users to track and deploy ecFlow suites through git.

Installation

To install tracksuite using pip (requires python, ecFlow (optional) and pip):

python -m pip install .

Documentation

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

To revert the suite to a previous state:

usage: tracksuite-revert [-h] [--host HOST] [--user USER] [--message MESSAGE] [--backup BACKUP] [--no_prompt] target n_state

Revert a git repository to a previous state.

positional arguments:
target             Path to target git repository on host
n_state            Number of states to revert back

options:
-h, --help         show this help message and exit
--host HOST        Target host
--user USER        Deploy user
--message MESSAGE  Git message
--backup BACKUP    URL to backup git repository
--no_prompt        No prompt, --force will go through without user input

To update the suite definition in the target git repository from the suite running on the ecFlow server (requires ecFlow):

usage: tracksuite-update-defs [-h] [--definition DEFINITION] --target TARGET --local LOCAL --backup BACKUP [--host HOST] [--user USER] [--port PORT] name

Update suite definition on target from ecflow server

positional arguments:
name                  Ecflow suite name

options:
-h, --help            show this help message and exit
--definition DEFINITION
                        Name of the definition file to update
--target TARGET       Path to target git repository on host
--local LOCAL         Path to local git repository. DEFAULT: $TMP
--backup BACKUP       URL to backup git repository
--host HOST           Target host
--user USER           Deploy user
--port PORT           Ecflow port

To replace an ecFlow suite on an ecFlow server while preserving some attributes from the already deployed suite:

usage: tracksuite-replace [-h] --def-file DEF_FILE [--host HOST] [--port PORT] [--enable-ssl] [--node NODE] [--sync-variables] [--skip-status] [--skip-attributes] [--skip-repeat] name

Replace suite on server and keep some attributes from the old one

positional arguments:
name                 Ecflow suite name

options:
-h, --help           show this help message and exit
--def-file DEF_FILE  Name of the definition file to update
--host HOST          Target host
--port PORT          Ecflow port
--enable-ssl         Enable SSL connection
--node NODE          Path to the node to replace
--sync-variables     Synchronise variables
--skip-status        Don't synchronise status
--skip-attributes    Don't synchronise attributes
--skip-repeat        Don't synchronise repeat

To print the status of the suite (useful to create small html or md summary):

usage: tracksuite-print [-h] [--host HOST] [--port PORT] [-f FORMAT] node

Print ecFlow node tree with states

positional arguments:
  node                  Ecflow node on server to print

options:
  -h, --help            show this help message and exit
  --host HOST           Target host
  --port PORT           Ecflow port
  -f FORMAT, --format FORMAT
                        Output format (md, html, raw)

Overview

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

tracksuite-0.5.0.tar.gz (273.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracksuite-0.5.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file tracksuite-0.5.0.tar.gz.

File metadata

  • Download URL: tracksuite-0.5.0.tar.gz
  • Upload date:
  • Size: 273.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tracksuite-0.5.0.tar.gz
Algorithm Hash digest
SHA256 47e592d01b0b03346c75b4f47858919e98cd659b7f84040f056f4e550e5af0ab
MD5 a946d9863258fae34cf9237c524c4832
BLAKE2b-256 5b095df4e3670717cc59d62ab2dcde17eb27370496b51151b7bcd502516c81d9

See more details on using hashes here.

File details

Details for the file tracksuite-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: tracksuite-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tracksuite-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ec47248018d6acd3368192ff5b4abdd43e4892dfca1330a98a78a1b1fbefbac
MD5 1134da56005faa2bd0371c3e8ad93de3
BLAKE2b-256 eadb263cadeccd208f737633c397af70c7a993729e83e871ee3d5447fb56f20c

See more details on using hashes here.

Supported by

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