ddeutil-workflow 0.0.78__py3-none-any.whl → 0.0.80__py3-none-any.whl

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.
Files changed (30) hide show
  1. ddeutil/workflow/__about__.py +1 -1
  2. ddeutil/workflow/__init__.py +2 -6
  3. ddeutil/workflow/api/routes/job.py +2 -2
  4. ddeutil/workflow/api/routes/logs.py +5 -5
  5. ddeutil/workflow/api/routes/workflows.py +3 -3
  6. ddeutil/workflow/audits.py +547 -176
  7. ddeutil/workflow/cli.py +19 -1
  8. ddeutil/workflow/conf.py +10 -20
  9. ddeutil/workflow/event.py +15 -6
  10. ddeutil/workflow/job.py +147 -74
  11. ddeutil/workflow/params.py +172 -58
  12. ddeutil/workflow/plugins/__init__.py +0 -0
  13. ddeutil/workflow/plugins/providers/__init__.py +0 -0
  14. ddeutil/workflow/plugins/providers/aws.py +908 -0
  15. ddeutil/workflow/plugins/providers/az.py +1003 -0
  16. ddeutil/workflow/plugins/providers/container.py +703 -0
  17. ddeutil/workflow/plugins/providers/gcs.py +826 -0
  18. ddeutil/workflow/result.py +6 -4
  19. ddeutil/workflow/reusables.py +151 -95
  20. ddeutil/workflow/stages.py +28 -28
  21. ddeutil/workflow/traces.py +1697 -541
  22. ddeutil/workflow/utils.py +109 -67
  23. ddeutil/workflow/workflow.py +42 -30
  24. {ddeutil_workflow-0.0.78.dist-info → ddeutil_workflow-0.0.80.dist-info}/METADATA +39 -19
  25. ddeutil_workflow-0.0.80.dist-info/RECORD +36 -0
  26. ddeutil_workflow-0.0.78.dist-info/RECORD +0 -30
  27. {ddeutil_workflow-0.0.78.dist-info → ddeutil_workflow-0.0.80.dist-info}/WHEEL +0 -0
  28. {ddeutil_workflow-0.0.78.dist-info → ddeutil_workflow-0.0.80.dist-info}/entry_points.txt +0 -0
  29. {ddeutil_workflow-0.0.78.dist-info → ddeutil_workflow-0.0.80.dist-info}/licenses/LICENSE +0 -0
  30. {ddeutil_workflow-0.0.78.dist-info → ddeutil_workflow-0.0.80.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- __version__: str = "0.0.78"
1
+ __version__: str = "0.0.80"
@@ -52,7 +52,7 @@ from .__types import DictData, DictStr, Matrix, Re, TupleStr
52
52
  from .audits import (
53
53
  Audit,
54
54
  FileAudit,
55
- get_audit_model,
55
+ get_audit,
56
56
  )
57
57
  from .conf import *
58
58
  from .errors import (
@@ -132,11 +132,7 @@ from .stages import (
132
132
  VirtualPyStage,
133
133
  )
134
134
  from .traces import (
135
- BaseTrace,
136
- FileTrace,
137
- Trace,
138
- TraceData,
139
- TraceMeta,
135
+ TraceManager,
140
136
  get_trace,
141
137
  )
142
138
  from .utils import *
@@ -15,7 +15,7 @@ from fastapi.responses import UJSONResponse
15
15
  from ...__types import DictData
16
16
  from ...errors import JobError
17
17
  from ...job import Job
18
- from ...traces import Trace, get_trace
18
+ from ...traces import TraceManager, get_trace
19
19
  from ...utils import gen_id
20
20
 
21
21
  logger = logging.getLogger("uvicorn.error")
@@ -41,7 +41,7 @@ async def job_execute(
41
41
  if extras:
42
42
  job.extras = extras
43
43
 
44
- trace: Trace = get_trace(
44
+ trace: TraceManager = get_trace(
45
45
  run_id, parent_run_id=parent_run_id, extras=job.extras
46
46
  )
47
47
 
@@ -10,7 +10,7 @@ from fastapi import APIRouter, Path, Query
10
10
  from fastapi import status as st
11
11
  from fastapi.responses import UJSONResponse
12
12
 
13
- from ...audits import get_audit_model
13
+ from ...audits import get_audit
14
14
  from ...result import Result
15
15
 
16
16
  router = APIRouter(
@@ -90,7 +90,7 @@ async def get_audits():
90
90
  """
91
91
  return {
92
92
  "message": "Getting audit logs",
93
- "audits": list(get_audit_model().find_audits(name="demo")),
93
+ "audits": list(get_audit().find_audits(name="demo")),
94
94
  }
95
95
 
96
96
 
@@ -109,7 +109,7 @@ async def get_audit_with_workflow(workflow: str):
109
109
  """
110
110
  return {
111
111
  "message": f"Getting audit logs with workflow name {workflow}",
112
- "audits": list(get_audit_model().find_audits(name="demo")),
112
+ "audits": list(get_audit().find_audits(name="demo")),
113
113
  }
114
114
 
115
115
 
@@ -136,7 +136,7 @@ async def get_audit_with_workflow_release(
136
136
  f"Getting audit logs with workflow name {workflow} and release "
137
137
  f"{release}"
138
138
  ),
139
- "audits": list(get_audit_model().find_audits(name="demo")),
139
+ "audits": list(get_audit().find_audits(name="demo")),
140
140
  }
141
141
 
142
142
 
@@ -167,5 +167,5 @@ async def get_audit_with_workflow_release_run_id(
167
167
  f"Getting audit logs with workflow name {workflow}, release "
168
168
  f"{release}, and running ID {run_id}"
169
169
  ),
170
- "audits": list(get_audit_model().find_audits(name="demo")),
170
+ "audits": list(get_audit().find_audits(name="demo")),
171
171
  }
@@ -16,7 +16,7 @@ from fastapi.responses import UJSONResponse
16
16
  from pydantic import BaseModel
17
17
 
18
18
  from ...__types import DictData
19
- from ...audits import Audit, get_audit_model
19
+ from ...audits import Audit, get_audit
20
20
  from ...conf import YamlParser
21
21
  from ...result import Result
22
22
  from ...workflow import Workflow
@@ -100,7 +100,7 @@ async def get_workflow_audits(name: str):
100
100
  exclude_none=False,
101
101
  exclude_unset=True,
102
102
  )
103
- for audit in get_audit_model().find_audits(name=name)
103
+ for audit in get_audit().find_audits(name=name)
104
104
  ],
105
105
  }
106
106
  except FileNotFoundError:
@@ -114,7 +114,7 @@ async def get_workflow_audits(name: str):
114
114
  async def get_workflow_release_audit(name: str, release: str):
115
115
  """Get Workflow audit log with an input release value."""
116
116
  try:
117
- audit: Audit = get_audit_model().find_audit_with_release(
117
+ audit: Audit = get_audit().find_audit_with_release(
118
118
  name=name,
119
119
  release=datetime.strptime(release, "%Y%m%d%H%M%S"),
120
120
  )