httk-workflow

This site documents the httk-workflow module. For the full documentation of httk₂, see docs.httk.org.

The module implements a recoverable, language-neutral workflow protocol whose source of truth is a single atomically renamed state marker per job. It presents three layers, each with its own import home: the filesystem protocol (httk.workflow.protocol), the execution and authoring surface (httk.workflowRunner, Attempt — with lower-level helpers in httk.workflow.runtime), and orchestration and management (Workspace, TaskManager, harvest, and named submodules for transfers, remotes, and compatibility). Installations register the canonical httk workflow command tree, plus the httk-taskmanager and httk-v1-taskmanager executables, which are aliases of it.

Quick links

New here — start with Quickstart: five commands from an empty directory to a finished relaxation, no runner written and no VASP required.

The filesystem protocol — the language-neutral on-disk contract

The execution API — writing and running workflow steps

Orchestration and management — driving and inspecting a workspace

Migration

Install

Preferably work in a Python virtual environment:

git clone https://github.com/httk/httk-workflow
cd httk-workflow
python -m pip install -e .

Minimal setup

One workspace, one job of a packaged runner, and one manager that runs it:

httk workflow workspace init workflow-workspace --remote local --path workflow-workspace --extension transactional-data-v1
httk workflow job new workflow-workspace --template vasp-relax --from POSCAR --tag silicon
httk workflow manager run workflow-workspace --until-idle
httk workflow harvest workflow-workspace

Quickstart walks through exactly those commands, including how to run them without VASP installed. A complete payload prepared some other way is still submitted directly:

httk workflow job submit workflow-workspace prepared-job --placement project/00

Documentation