taskmaestro 0.1.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- taskmaestro-0.3.0/.github/workflows/ci.yml +49 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/.github/workflows/publish.yml +11 -1
- taskmaestro-0.3.0/PKG-INFO +771 -0
- taskmaestro-0.3.0/README.md +740 -0
- taskmaestro-0.3.0/docs/agent-quickstart.md +102 -0
- taskmaestro-0.3.0/examples/agent_quickstart/input.yaml +2 -0
- taskmaestro-0.3.0/examples/agent_quickstart/tasks.py +19 -0
- taskmaestro-0.3.0/examples/agent_quickstart/workflow.yaml +9 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/image_processing/input.yaml +3 -1
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/image_processing/pipeline.py +22 -12
- taskmaestro-0.3.0/examples/release_pipeline/input.yaml +27 -0
- taskmaestro-0.3.0/examples/release_pipeline/pipeline.py +379 -0
- taskmaestro-0.3.0/examples/release_pipeline/workflow.yaml +44 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/resinsight/pipeline.py +13 -4
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/text_analysis/pipeline.py +8 -1
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/text_analysis/workflow.yaml +0 -1
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/pyproject.toml +7 -3
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/__init__.py +34 -2
- taskmaestro-0.3.0/taskmaestro/__main__.py +8 -0
- taskmaestro-0.3.0/taskmaestro/cli.py +484 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/context.py +20 -0
- taskmaestro-0.3.0/taskmaestro/dependencies.py +131 -0
- taskmaestro-0.3.0/taskmaestro/discovery.py +96 -0
- taskmaestro-0.3.0/taskmaestro/exceptions.py +82 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/hooks/base.py +23 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/hooks/logging.py +13 -0
- taskmaestro-0.3.0/taskmaestro/hooks/persistence.py +44 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/hooks/timing.py +20 -0
- taskmaestro-0.3.0/taskmaestro/job.py +185 -0
- taskmaestro-0.3.0/taskmaestro/mapping.py +37 -0
- taskmaestro-0.3.0/taskmaestro/runner.py +550 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/visualization.py +84 -23
- taskmaestro-0.3.0/taskmaestro/workflow.py +948 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/workflow_task.py +20 -19
- taskmaestro-0.3.0/taskmaestro/yaml_config.py +626 -0
- taskmaestro-0.3.0/tests/test_agent_quickstart.py +39 -0
- taskmaestro-0.3.0/tests/test_cli.py +837 -0
- taskmaestro-0.3.0/tests/test_collections.py +593 -0
- taskmaestro-0.3.0/tests/test_discovery.py +148 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_exceptions.py +12 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_hooks.py +74 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_job.py +47 -0
- taskmaestro-0.3.0/tests/test_mapping.py +914 -0
- taskmaestro-0.3.0/tests/test_runner.py +963 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_visualization.py +52 -3
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_workflow.py +417 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_workflow_task.py +82 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_yaml_config.py +735 -48
- taskmaestro-0.1.0/.github/workflows/ci.yml +0 -40
- taskmaestro-0.1.0/PKG-INFO +0 -358
- taskmaestro-0.1.0/README.md +0 -328
- taskmaestro-0.1.0/taskmaestro/exceptions.py +0 -37
- taskmaestro-0.1.0/taskmaestro/hooks/persistence.py +0 -24
- taskmaestro-0.1.0/taskmaestro/job.py +0 -116
- taskmaestro-0.1.0/taskmaestro/runner.py +0 -201
- taskmaestro-0.1.0/taskmaestro/workflow.py +0 -484
- taskmaestro-0.1.0/taskmaestro/yaml_config.py +0 -455
- taskmaestro-0.1.0/tests/test_runner.py +0 -432
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/.gitignore +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/LICENSE +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/image_processing/inner_workflow.yaml +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/image_processing/workflow.yaml +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/resinsight/input.yaml +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/resinsight/workflow.yaml +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/examples/text_analysis/input.yaml +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/hooks/__init__.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/object_model.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/py.typed +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro/task.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/taskmaestro.png +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/__init__.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/conftest.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_context.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_object_model.py +0 -0
- {taskmaestro-0.1.0 → taskmaestro-0.3.0}/tests/test_task.py +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
# Least privilege: the CI job only reads the repository.
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
# Cancel superseded runs for the same ref (e.g. force-pushes to a PR).
|
|
13
|
+
concurrency:
|
|
14
|
+
group: ci-${{ github.workflow }}-${{ github.ref }}
|
|
15
|
+
cancel-in-progress: true
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
ci:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
timeout-minutes: 15
|
|
21
|
+
strategy:
|
|
22
|
+
fail-fast: false
|
|
23
|
+
matrix:
|
|
24
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
|
|
29
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
30
|
+
uses: actions/setup-python@v5
|
|
31
|
+
with:
|
|
32
|
+
python-version: ${{ matrix.python-version }}
|
|
33
|
+
cache: pip
|
|
34
|
+
cache-dependency-path: pyproject.toml
|
|
35
|
+
|
|
36
|
+
- name: Install dependencies
|
|
37
|
+
run: pip install -e ".[dev]"
|
|
38
|
+
|
|
39
|
+
- name: Ruff check
|
|
40
|
+
run: ruff check taskmaestro/ tests/ examples/
|
|
41
|
+
|
|
42
|
+
- name: Ruff format check
|
|
43
|
+
run: ruff format --check taskmaestro/ tests/ examples/
|
|
44
|
+
|
|
45
|
+
- name: Mypy type check
|
|
46
|
+
run: mypy taskmaestro
|
|
47
|
+
|
|
48
|
+
- name: Run tests with coverage
|
|
49
|
+
run: pytest --cov=taskmaestro --cov-report=term-missing --cov-fail-under=100
|
|
@@ -4,10 +4,15 @@ on:
|
|
|
4
4
|
push:
|
|
5
5
|
tags: ["v*"]
|
|
6
6
|
|
|
7
|
+
# Default to read-only; the publish job opts into id-token below.
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
7
11
|
jobs:
|
|
8
12
|
build:
|
|
9
13
|
name: Build distributions
|
|
10
14
|
runs-on: ubuntu-latest
|
|
15
|
+
timeout-minutes: 10
|
|
11
16
|
steps:
|
|
12
17
|
- uses: actions/checkout@v4
|
|
13
18
|
|
|
@@ -15,6 +20,8 @@ jobs:
|
|
|
15
20
|
uses: actions/setup-python@v5
|
|
16
21
|
with:
|
|
17
22
|
python-version: "3.12"
|
|
23
|
+
cache: pip
|
|
24
|
+
cache-dependency-path: pyproject.toml
|
|
18
25
|
|
|
19
26
|
- name: Install build
|
|
20
27
|
run: pip install build
|
|
@@ -32,6 +39,7 @@ jobs:
|
|
|
32
39
|
name: Publish to PyPI
|
|
33
40
|
needs: build
|
|
34
41
|
runs-on: ubuntu-latest
|
|
42
|
+
timeout-minutes: 10
|
|
35
43
|
environment: pypi
|
|
36
44
|
permissions:
|
|
37
45
|
id-token: write
|
|
@@ -43,4 +51,6 @@ jobs:
|
|
|
43
51
|
path: dist/
|
|
44
52
|
|
|
45
53
|
- name: Publish via trusted publishing
|
|
46
|
-
|
|
54
|
+
# Third-party action pinned to a full commit SHA (tag v1.14.2); the
|
|
55
|
+
# `release/v1` branch is mutable and could be repointed.
|
|
56
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|