PyTaskWireCheck 0.1.0__tar.gz → 0.1.1__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.
- {pytaskwirecheck-0.1.0/src/PyTaskWireCheck.egg-info → pytaskwirecheck-0.1.1}/PKG-INFO +24 -1
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/README.md +23 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/pyproject.toml +1 -1
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1/src/PyTaskWireCheck.egg-info}/PKG-INFO +24 -1
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/__init__.py +1 -1
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/cache/store.py +1 -1
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/config/schema.py +5 -3
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/LICENSE +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/setup.cfg +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/SOURCES.txt +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/dependency_links.txt +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/entry_points.txt +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/requires.txt +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/top_level.txt +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/api.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/cache/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/cache/fingerprint.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/cache/policy.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/cli.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/config/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/config/loader.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/config/validation.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/diagnostics/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/diagnostics/errors.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/engine/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/engine/cancellation.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/engine/events.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/engine/executor.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/engine/scheduler.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/engine/state.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/graph/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/graph/builder.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/graph/model.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/graph/planner.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/graph/validator.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/history/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/history/store.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/logging/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/logging/artifacts.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/logging/structured.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/notifications/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/notifications/base.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/notifications/webhook.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/processes/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/processes/runner.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/processes/signals.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/py.typed +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/tui/__init__.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/tui/app.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/tui/renderer.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_api.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_cache.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_cli.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_config.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_graph.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_history.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_integration.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_notifications.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_process_runner.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_scheduler.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_state.py +0 -0
- {pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/tests/test_tui.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyTaskWireCheck
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Local-first, dependency-aware task orchestration engine (DAG scheduler + content-addressed cache + CLI).
|
|
5
5
|
Author: Georgi Mullassery
|
|
6
6
|
License-Expression: MIT
|
|
@@ -59,6 +59,29 @@ or a single byte leaving your machine.
|
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
|
+
> **Not to be confused with the security tools in this family ([PyDeepMesh](https://github.com/Mullassery/PyDeepMesh), [PyDependencyCheck](https://github.com/Mullassery/PyDependencyCheck)):** despite the "Check" in its name, PyTaskWireCheck is a local task orchestrator, not a security scanner.
|
|
63
|
+
|
|
64
|
+
## Which project do I need?
|
|
65
|
+
|
|
66
|
+
Part of the Mullassery open-source family. These tools have similar names — here is the short version of who does what:
|
|
67
|
+
|
|
68
|
+
| If you need to… | Use |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| Build a repository's dependency graph and match it against vulnerability advisories (Python, Rust, Node, containers) | [PyDeepMesh](https://github.com/Mullassery/PyDeepMesh) |
|
|
71
|
+
| Understand *why* a Python dependency exists, who added it, and whether it is actually used | [PyDependencyCheck](https://github.com/Mullassery/PyDependencyCheck) |
|
|
72
|
+
| Statically analyze a **dbt** project (risky tests, test blast radius, cost) | [PyDBTGuard](https://github.com/Mullassery/PyDBTGuard) |
|
|
73
|
+
| Statically analyze **Apache Beam / Dataflow** pipelines (cost, hot keys, reliability) | [PyBeamGuard](https://github.com/Mullassery/PyBeamGuard) |
|
|
74
|
+
| Validate **Airflow** DAGs and dbt runs | [PyAirflowTester](https://github.com/Mullassery/PyAirflowTester) |
|
|
75
|
+
| Simulate cascading-failure **blast radius** across infrastructure, data pipelines, and AI systems | [PyBlastRadius](https://github.com/Mullassery/PyBlastRadius) |
|
|
76
|
+
| Check the **quality of the data itself** at runtime (schema, drift, anomalies) | [StatGuardian](https://github.com/Mullassery/StatGuardian) |
|
|
77
|
+
| Discover **devices, services, and vulnerabilities on a network** | [PyNetworkIntel](https://github.com/Mullassery/PyNetworkIntel) |
|
|
78
|
+
| Discover and score **API security** risk (real traffic, agent/MCP, Cedar policy) | [PyAPICheck](https://github.com/Mullassery/PyAPICheck) |
|
|
79
|
+
| Trace and root-cause **AI agent** failures | [PyAgentHound](https://github.com/Mullassery/PyAgentHound) |
|
|
80
|
+
| Diagnose **RAG retrieval** failures | [PyVectorHound](https://github.com/Mullassery/PyVectorHound) |
|
|
81
|
+
| Orchestrate **local, dependency-aware tasks** (DAG scheduler + content-addressed cache) | [PyTaskWireCheck](https://github.com/Mullassery/PyTaskWireCheck) |
|
|
82
|
+
|
|
83
|
+
[Browse all projects →](https://github.com/Mullassery?tab=repositories)
|
|
84
|
+
|
|
62
85
|
## Why PyTaskWireCheck
|
|
63
86
|
|
|
64
87
|
Most build tools want to own your project. PyTaskWireCheck does one job: it orchestrates
|
|
@@ -19,6 +19,29 @@ or a single byte leaving your machine.
|
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
+
> **Not to be confused with the security tools in this family ([PyDeepMesh](https://github.com/Mullassery/PyDeepMesh), [PyDependencyCheck](https://github.com/Mullassery/PyDependencyCheck)):** despite the "Check" in its name, PyTaskWireCheck is a local task orchestrator, not a security scanner.
|
|
23
|
+
|
|
24
|
+
## Which project do I need?
|
|
25
|
+
|
|
26
|
+
Part of the Mullassery open-source family. These tools have similar names — here is the short version of who does what:
|
|
27
|
+
|
|
28
|
+
| If you need to… | Use |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| Build a repository's dependency graph and match it against vulnerability advisories (Python, Rust, Node, containers) | [PyDeepMesh](https://github.com/Mullassery/PyDeepMesh) |
|
|
31
|
+
| Understand *why* a Python dependency exists, who added it, and whether it is actually used | [PyDependencyCheck](https://github.com/Mullassery/PyDependencyCheck) |
|
|
32
|
+
| Statically analyze a **dbt** project (risky tests, test blast radius, cost) | [PyDBTGuard](https://github.com/Mullassery/PyDBTGuard) |
|
|
33
|
+
| Statically analyze **Apache Beam / Dataflow** pipelines (cost, hot keys, reliability) | [PyBeamGuard](https://github.com/Mullassery/PyBeamGuard) |
|
|
34
|
+
| Validate **Airflow** DAGs and dbt runs | [PyAirflowTester](https://github.com/Mullassery/PyAirflowTester) |
|
|
35
|
+
| Simulate cascading-failure **blast radius** across infrastructure, data pipelines, and AI systems | [PyBlastRadius](https://github.com/Mullassery/PyBlastRadius) |
|
|
36
|
+
| Check the **quality of the data itself** at runtime (schema, drift, anomalies) | [StatGuardian](https://github.com/Mullassery/StatGuardian) |
|
|
37
|
+
| Discover **devices, services, and vulnerabilities on a network** | [PyNetworkIntel](https://github.com/Mullassery/PyNetworkIntel) |
|
|
38
|
+
| Discover and score **API security** risk (real traffic, agent/MCP, Cedar policy) | [PyAPICheck](https://github.com/Mullassery/PyAPICheck) |
|
|
39
|
+
| Trace and root-cause **AI agent** failures | [PyAgentHound](https://github.com/Mullassery/PyAgentHound) |
|
|
40
|
+
| Diagnose **RAG retrieval** failures | [PyVectorHound](https://github.com/Mullassery/PyVectorHound) |
|
|
41
|
+
| Orchestrate **local, dependency-aware tasks** (DAG scheduler + content-addressed cache) | [PyTaskWireCheck](https://github.com/Mullassery/PyTaskWireCheck) |
|
|
42
|
+
|
|
43
|
+
[Browse all projects →](https://github.com/Mullassery?tab=repositories)
|
|
44
|
+
|
|
22
45
|
## Why PyTaskWireCheck
|
|
23
46
|
|
|
24
47
|
Most build tools want to own your project. PyTaskWireCheck does one job: it orchestrates
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PyTaskWireCheck"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.1"
|
|
8
8
|
description = "Local-first, dependency-aware task orchestration engine (DAG scheduler + content-addressed cache + CLI)."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyTaskWireCheck
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Local-first, dependency-aware task orchestration engine (DAG scheduler + content-addressed cache + CLI).
|
|
5
5
|
Author: Georgi Mullassery
|
|
6
6
|
License-Expression: MIT
|
|
@@ -59,6 +59,29 @@ or a single byte leaving your machine.
|
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
|
+
> **Not to be confused with the security tools in this family ([PyDeepMesh](https://github.com/Mullassery/PyDeepMesh), [PyDependencyCheck](https://github.com/Mullassery/PyDependencyCheck)):** despite the "Check" in its name, PyTaskWireCheck is a local task orchestrator, not a security scanner.
|
|
63
|
+
|
|
64
|
+
## Which project do I need?
|
|
65
|
+
|
|
66
|
+
Part of the Mullassery open-source family. These tools have similar names — here is the short version of who does what:
|
|
67
|
+
|
|
68
|
+
| If you need to… | Use |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| Build a repository's dependency graph and match it against vulnerability advisories (Python, Rust, Node, containers) | [PyDeepMesh](https://github.com/Mullassery/PyDeepMesh) |
|
|
71
|
+
| Understand *why* a Python dependency exists, who added it, and whether it is actually used | [PyDependencyCheck](https://github.com/Mullassery/PyDependencyCheck) |
|
|
72
|
+
| Statically analyze a **dbt** project (risky tests, test blast radius, cost) | [PyDBTGuard](https://github.com/Mullassery/PyDBTGuard) |
|
|
73
|
+
| Statically analyze **Apache Beam / Dataflow** pipelines (cost, hot keys, reliability) | [PyBeamGuard](https://github.com/Mullassery/PyBeamGuard) |
|
|
74
|
+
| Validate **Airflow** DAGs and dbt runs | [PyAirflowTester](https://github.com/Mullassery/PyAirflowTester) |
|
|
75
|
+
| Simulate cascading-failure **blast radius** across infrastructure, data pipelines, and AI systems | [PyBlastRadius](https://github.com/Mullassery/PyBlastRadius) |
|
|
76
|
+
| Check the **quality of the data itself** at runtime (schema, drift, anomalies) | [StatGuardian](https://github.com/Mullassery/StatGuardian) |
|
|
77
|
+
| Discover **devices, services, and vulnerabilities on a network** | [PyNetworkIntel](https://github.com/Mullassery/PyNetworkIntel) |
|
|
78
|
+
| Discover and score **API security** risk (real traffic, agent/MCP, Cedar policy) | [PyAPICheck](https://github.com/Mullassery/PyAPICheck) |
|
|
79
|
+
| Trace and root-cause **AI agent** failures | [PyAgentHound](https://github.com/Mullassery/PyAgentHound) |
|
|
80
|
+
| Diagnose **RAG retrieval** failures | [PyVectorHound](https://github.com/Mullassery/PyVectorHound) |
|
|
81
|
+
| Orchestrate **local, dependency-aware tasks** (DAG scheduler + content-addressed cache) | [PyTaskWireCheck](https://github.com/Mullassery/PyTaskWireCheck) |
|
|
82
|
+
|
|
83
|
+
[Browse all projects →](https://github.com/Mullassery?tab=repositories)
|
|
84
|
+
|
|
62
85
|
## Why PyTaskWireCheck
|
|
63
86
|
|
|
64
87
|
Most build tools want to own your project. PyTaskWireCheck does one job: it orchestrates
|
|
@@ -286,7 +286,7 @@ class CacheStore:
|
|
|
286
286
|
if not task.cache_eligible:
|
|
287
287
|
return {
|
|
288
288
|
"eligible": False,
|
|
289
|
-
"reason": "task declares no
|
|
289
|
+
"reason": "task declares no outputs",
|
|
290
290
|
}
|
|
291
291
|
fp = self.fingerprint(task, dependency_keys)
|
|
292
292
|
entry = self._entries / fp.key
|
|
@@ -98,12 +98,14 @@ class TaskConfig:
|
|
|
98
98
|
def cache_eligible(self) -> bool:
|
|
99
99
|
"""Whether the task may produce/consume cache entries.
|
|
100
100
|
|
|
101
|
-
A task
|
|
102
|
-
|
|
101
|
+
A task must declare at least one output to be cacheable. An
|
|
102
|
+
input-only task has nothing to store, so marking it eligible would
|
|
103
|
+
advertise a cache entry that :meth:`CacheStore.store` never writes
|
|
104
|
+
(PyTaskWireCheck cannot know what result to restore).
|
|
103
105
|
"""
|
|
104
106
|
if not self.cache:
|
|
105
107
|
return False
|
|
106
|
-
return bool(self.
|
|
108
|
+
return bool(self.outputs)
|
|
107
109
|
|
|
108
110
|
|
|
109
111
|
@dataclass(frozen=True)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/PyTaskWireCheck.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/notifications/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pytaskwirecheck-0.1.0 → pytaskwirecheck-0.1.1}/src/pytaskwirecheck/notifications/webhook.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|