httk.workflow.runtime_utils¶
Safe replacements for small conveniences used by shell runners.
Functions¶
|
Evaluate a bounded arithmetic expression without Python |
|
Render |
|
Compress regular files atomically with a stdlib codec. |
|
Decompress |
Module Contents¶
- httk.workflow.runtime_utils.evaluate_expression(expression)[source]¶
Evaluate a bounded arithmetic expression without Python
eval.- Parameters:
expression (str) – Supply the arithmetic expression to evaluate.
- Returns:
The evaluated scalar result.
- Raises:
ValueError – If the expression contains an unsupported element.
- Return type:
- httk.workflow.runtime_utils.render_template(template_path, output_path, values)[source]¶
Render
string.Templateplaceholders from an explicit mapping.- Parameters:
template_path (str | os.PathLike[str]) – Locate the source template.
output_path (str | os.PathLike[str]) – Locate the atomically replaced output file.
values (collections.abc.Mapping[str, object]) – Supply placeholder values.
- Returns:
The rendered output path.
- Raises:
KeyError – If the template names a missing value.
- Return type:
- httk.workflow.runtime_utils.compress_files(paths, *, method='bz2', remove_source=False)[source]¶
Compress regular files atomically with a stdlib codec.
- Parameters:
paths (collections.abc.Sequence[str | os.PathLike[str]]) – Locate the regular files to compress.
method (str) – Select
bz2,gz, orxzcompression.remove_source (bool) – Remove each source after successful compression.
- Returns:
The compressed output paths.
- Raises:
ValueError – If a method or source file is invalid.
- Return type:
tuple[pathlib.Path, Ellipsis]
- httk.workflow.runtime_utils.decompress_files(paths, *, remove_source=False)[source]¶
Decompress
.bz2,.gz, or.xzfiles atomically.- Parameters:
paths (collections.abc.Sequence[str | os.PathLike[str]]) – Locate the compressed files to decompress.
remove_source (bool) – Remove each source after successful decompression.
- Returns:
The decompressed output paths.
- Raises:
ValueError – If a source is not a supported regular compressed file.
FileExistsError – If a decompressed output already exists.
- Return type:
tuple[pathlib.Path, Ellipsis]