tilebox-workflows 0.44.0__py3-none-any.whl → 0.46.0__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.
- tilebox/workflows/automations/client.py +3 -3
- tilebox/workflows/data.py +176 -31
- tilebox/workflows/formatting/job.py +24 -11
- tilebox/workflows/jobs/client.py +38 -12
- tilebox/workflows/jobs/service.py +3 -3
- tilebox/workflows/runner/task_runner.py +38 -9
- tilebox/workflows/task.py +91 -10
- tilebox/workflows/workflows/v1/automation_pb2.py +22 -22
- tilebox/workflows/workflows/v1/automation_pb2.pyi +2 -2
- tilebox/workflows/workflows/v1/core_pb2.py +52 -28
- tilebox/workflows/workflows/v1/core_pb2.pyi +86 -13
- tilebox/workflows/workflows/v1/job_pb2.py +36 -36
- tilebox/workflows/workflows/v1/job_pb2.pyi +17 -11
- tilebox/workflows/workflows/v1/task_pb2.py +16 -16
- tilebox/workflows/workflows/v1/task_pb2.pyi +5 -3
- {tilebox_workflows-0.44.0.dist-info → tilebox_workflows-0.46.0.dist-info}/METADATA +1 -1
- {tilebox_workflows-0.44.0.dist-info → tilebox_workflows-0.46.0.dist-info}/RECORD +18 -18
- {tilebox_workflows-0.44.0.dist-info → tilebox_workflows-0.46.0.dist-info}/WHEEL +1 -1
|
@@ -29,7 +29,7 @@ from tilebox.workflows.workflows.v1 import core_pb2 as workflows_dot_v1_dot_core
|
|
|
29
29
|
from tilebox.workflows.workflows.v1 import diagram_pb2 as workflows_dot_v1_dot_diagram__pb2
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16workflows/v1/job.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x13tilebox/v1/id.proto\x1a\x16tilebox/v1/query.proto\x1a\x17workflows/v1/core.proto\x1a\x1aworkflows/v1/diagram.proto\"\
|
|
32
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16workflows/v1/job.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x13tilebox/v1/id.proto\x1a\x16tilebox/v1/query.proto\x1a\x17workflows/v1/core.proto\x1a\x1aworkflows/v1/diagram.proto\"\x9f\x02\n\x10SubmitJobRequest\x12Q\n\x0clegacy_tasks\x18\x01 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionB\n\xbaH\x07\x92\x01\x04\x08\x01\x10@R\x0blegacyTasks\x12\x33\n\x05tasks\x18\x05 \x01(\x0b\x32\x1d.workflows.v1.TaskSubmissionsR\x05tasks\x12\"\n\x08job_name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07jobName\x12*\n\x0ctrace_parent\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0btraceParent\x12\x33\n\rautomation_id\x18\x04 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x0c\x61utomationId\">\n\rGetJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"F\n\x15GetJobProgressRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"@\n\x0fRetryJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"F\n\x10RetryJobResponse\x12\x32\n\x15num_tasks_rescheduled\x18\x01 \x01(\x03R\x13numTasksRescheduled\"A\n\x10\x43\x61ncelJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"\x13\n\x11\x43\x61ncelJobResponse\"\xec\x01\n\x13VisualizeJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\x12\x42\n\x0erender_options\x18\x02 \x01(\x0b\x32\x1b.workflows.v1.RenderOptionsR\rrenderOptions\x12\x38\n\x05theme\x18\x03 \x01(\x0e\x32\".workflows.v1.WorkflowDiagramThemeR\x05theme\x12(\n\x10include_job_name\x18\x04 \x01(\x08R\x0eincludeJobName\"\xaf\x02\n\x0cQueryFilters\x12=\n\rtime_interval\x18\x01 \x01(\x0b\x32\x18.tilebox.v1.TimeIntervalR\x0ctimeInterval\x12\x37\n\x0bid_interval\x18\x02 \x01(\x0b\x32\x16.tilebox.v1.IDIntervalR\nidInterval\x12\x35\n\x0e\x61utomation_ids\x18\x03 \x03(\x0b\x32\x0e.tilebox.v1.IDR\rautomationIds\x12.\n\x06states\x18\x04 \x03(\x0e\x32\x16.workflows.v1.JobStateR\x06states\x12\x1b\n\x04name\x18\x05 \x01(\tB\x07\xbaH\x04r\x02\x18\x64R\x04name:#\xbaH \"\x1e\n\rtime_interval\n\x0bid_interval\x10\x01\"{\n\x10QueryJobsRequest\x12\x34\n\x07\x66ilters\x18\x01 \x01(\x0b\x32\x1a.workflows.v1.QueryFiltersR\x07\x66ilters\x12\x31\n\x04page\x18\x02 \x01(\x0b\x32\x16.tilebox.v1.PaginationB\x05\xaa\x01\x02\x08\x01R\x04page\"v\n\x11QueryJobsResponse\x12%\n\x04jobs\x18\x01 \x03(\x0b\x32\x11.workflows.v1.JobR\x04jobs\x12:\n\tnext_page\x18\x03 \x01(\x0b\x32\x16.tilebox.v1.PaginationB\x05\xaa\x01\x02\x08\x01R\x08nextPage\"G\n\x16GetJobPrototypeRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"w\n\x17GetJobPrototypeResponse\x12\x41\n\nroot_tasks\x18\x01 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionR\trootTasks\x12\x19\n\x08job_name\x18\x02 \x01(\tR\x07jobName\"\xc6\x01\n\x0f\x43loneJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\x12`\n\x14root_tasks_overrides\x18\x02 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionB\n\xbaH\x07\x92\x01\x04\x08\x01\x10@R\x12rootTasksOverrides\x12\"\n\x08job_name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07jobName*\xd4\x01\n\x14WorkflowDiagramTheme\x12&\n\"WORKFLOW_DIAGRAM_THEME_UNSPECIFIED\x10\x00\x12 \n\x1cWORKFLOW_DIAGRAM_THEME_LIGHT\x10\x01\x12\x1f\n\x1bWORKFLOW_DIAGRAM_THEME_DARK\x10\x02\x12(\n$WORKFLOW_DIAGRAM_THEME_CONSOLE_LIGHT\x10\x03\x12\'\n#WORKFLOW_DIAGRAM_THEME_CONSOLE_DARK\x10\x04\x32\x9f\x05\n\nJobService\x12>\n\tSubmitJob\x12\x1e.workflows.v1.SubmitJobRequest\x1a\x11.workflows.v1.Job\x12\x38\n\x06GetJob\x12\x1b.workflows.v1.GetJobRequest\x1a\x11.workflows.v1.Job\x12H\n\x0eGetJobProgress\x12#.workflows.v1.GetJobProgressRequest\x1a\x11.workflows.v1.Job\x12I\n\x08RetryJob\x12\x1d.workflows.v1.RetryJobRequest\x1a\x1e.workflows.v1.RetryJobResponse\x12L\n\tCancelJob\x12\x1e.workflows.v1.CancelJobRequest\x1a\x1f.workflows.v1.CancelJobResponse\x12H\n\x0cVisualizeJob\x12!.workflows.v1.VisualizeJobRequest\x1a\x15.workflows.v1.Diagram\x12L\n\tQueryJobs\x12\x1e.workflows.v1.QueryJobsRequest\x1a\x1f.workflows.v1.QueryJobsResponse\x12^\n\x0fGetJobPrototype\x12$.workflows.v1.GetJobPrototypeRequest\x1a%.workflows.v1.GetJobPrototypeResponse\x12<\n\x08\x43loneJob\x12\x1d.workflows.v1.CloneJobRequest\x1a\x11.workflows.v1.JobBr\n\x10\x63om.workflows.v1B\x08JobProtoP\x01\xa2\x02\x03WXX\xaa\x02\x0cWorkflows.V1\xca\x02\x0cWorkflows\\V1\xe2\x02\x18Workflows\\V1\\GPBMetadata\xea\x02\rWorkflows::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07')
|
|
33
33
|
|
|
34
34
|
_globals = globals()
|
|
35
35
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -37,8 +37,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'workflows.v1.job_pb2', _glo
|
|
|
37
37
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
38
38
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
39
39
|
_globals['DESCRIPTOR']._serialized_options = b'\n\020com.workflows.v1B\010JobProtoP\001\242\002\003WXX\252\002\014Workflows.V1\312\002\014Workflows\\V1\342\002\030Workflows\\V1\\GPBMetadata\352\002\rWorkflows::V1\222\003\002\010\002'
|
|
40
|
-
_globals['_SUBMITJOBREQUEST'].fields_by_name['
|
|
41
|
-
_globals['_SUBMITJOBREQUEST'].fields_by_name['
|
|
40
|
+
_globals['_SUBMITJOBREQUEST'].fields_by_name['legacy_tasks']._loaded_options = None
|
|
41
|
+
_globals['_SUBMITJOBREQUEST'].fields_by_name['legacy_tasks']._serialized_options = b'\272H\007\222\001\004\010\001\020@'
|
|
42
42
|
_globals['_SUBMITJOBREQUEST'].fields_by_name['job_name']._loaded_options = None
|
|
43
43
|
_globals['_SUBMITJOBREQUEST'].fields_by_name['job_name']._serialized_options = b'\272H\004r\002\020\001'
|
|
44
44
|
_globals['_SUBMITJOBREQUEST'].fields_by_name['trace_parent']._loaded_options = None
|
|
@@ -53,8 +53,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
53
53
|
_globals['_CANCELJOBREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\003\310\001\001'
|
|
54
54
|
_globals['_VISUALIZEJOBREQUEST'].fields_by_name['job_id']._loaded_options = None
|
|
55
55
|
_globals['_VISUALIZEJOBREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\003\310\001\001'
|
|
56
|
-
_globals['_QUERYFILTERS'].fields_by_name['
|
|
57
|
-
_globals['_QUERYFILTERS'].fields_by_name['
|
|
56
|
+
_globals['_QUERYFILTERS'].fields_by_name['name']._loaded_options = None
|
|
57
|
+
_globals['_QUERYFILTERS'].fields_by_name['name']._serialized_options = b'\272H\004r\002\030d'
|
|
58
58
|
_globals['_QUERYFILTERS']._loaded_options = None
|
|
59
59
|
_globals['_QUERYFILTERS']._serialized_options = b'\272H \"\036\n\rtime_interval\n\013id_interval\020\001'
|
|
60
60
|
_globals['_QUERYJOBSREQUEST'].fields_by_name['page']._loaded_options = None
|
|
@@ -69,36 +69,36 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
69
69
|
_globals['_CLONEJOBREQUEST'].fields_by_name['root_tasks_overrides']._serialized_options = b'\272H\007\222\001\004\010\001\020@'
|
|
70
70
|
_globals['_CLONEJOBREQUEST'].fields_by_name['job_name']._loaded_options = None
|
|
71
71
|
_globals['_CLONEJOBREQUEST'].fields_by_name['job_name']._serialized_options = b'\272H\004r\002\020\001'
|
|
72
|
-
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_start=
|
|
73
|
-
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_end=
|
|
72
|
+
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_start=2005
|
|
73
|
+
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_end=2217
|
|
74
74
|
_globals['_SUBMITJOBREQUEST']._serialized_start=168
|
|
75
|
-
_globals['_SUBMITJOBREQUEST']._serialized_end=
|
|
76
|
-
_globals['_GETJOBREQUEST']._serialized_start=
|
|
77
|
-
_globals['_GETJOBREQUEST']._serialized_end=
|
|
78
|
-
_globals['_GETJOBPROGRESSREQUEST']._serialized_start=
|
|
79
|
-
_globals['_GETJOBPROGRESSREQUEST']._serialized_end=
|
|
80
|
-
_globals['_RETRYJOBREQUEST']._serialized_start=
|
|
81
|
-
_globals['_RETRYJOBREQUEST']._serialized_end=
|
|
82
|
-
_globals['_RETRYJOBRESPONSE']._serialized_start=
|
|
83
|
-
_globals['_RETRYJOBRESPONSE']._serialized_end=
|
|
84
|
-
_globals['_CANCELJOBREQUEST']._serialized_start=
|
|
85
|
-
_globals['_CANCELJOBREQUEST']._serialized_end=
|
|
86
|
-
_globals['_CANCELJOBRESPONSE']._serialized_start=
|
|
87
|
-
_globals['_CANCELJOBRESPONSE']._serialized_end=
|
|
88
|
-
_globals['_VISUALIZEJOBREQUEST']._serialized_start=
|
|
89
|
-
_globals['_VISUALIZEJOBREQUEST']._serialized_end=
|
|
90
|
-
_globals['_QUERYFILTERS']._serialized_start=
|
|
91
|
-
_globals['_QUERYFILTERS']._serialized_end=
|
|
92
|
-
_globals['_QUERYJOBSREQUEST']._serialized_start=
|
|
93
|
-
_globals['_QUERYJOBSREQUEST']._serialized_end=
|
|
94
|
-
_globals['_QUERYJOBSRESPONSE']._serialized_start=
|
|
95
|
-
_globals['_QUERYJOBSRESPONSE']._serialized_end=
|
|
96
|
-
_globals['_GETJOBPROTOTYPEREQUEST']._serialized_start=
|
|
97
|
-
_globals['_GETJOBPROTOTYPEREQUEST']._serialized_end=
|
|
98
|
-
_globals['_GETJOBPROTOTYPERESPONSE']._serialized_start=
|
|
99
|
-
_globals['_GETJOBPROTOTYPERESPONSE']._serialized_end=
|
|
100
|
-
_globals['_CLONEJOBREQUEST']._serialized_start=
|
|
101
|
-
_globals['_CLONEJOBREQUEST']._serialized_end=
|
|
102
|
-
_globals['_JOBSERVICE']._serialized_start=
|
|
103
|
-
_globals['_JOBSERVICE']._serialized_end=
|
|
75
|
+
_globals['_SUBMITJOBREQUEST']._serialized_end=455
|
|
76
|
+
_globals['_GETJOBREQUEST']._serialized_start=457
|
|
77
|
+
_globals['_GETJOBREQUEST']._serialized_end=519
|
|
78
|
+
_globals['_GETJOBPROGRESSREQUEST']._serialized_start=521
|
|
79
|
+
_globals['_GETJOBPROGRESSREQUEST']._serialized_end=591
|
|
80
|
+
_globals['_RETRYJOBREQUEST']._serialized_start=593
|
|
81
|
+
_globals['_RETRYJOBREQUEST']._serialized_end=657
|
|
82
|
+
_globals['_RETRYJOBRESPONSE']._serialized_start=659
|
|
83
|
+
_globals['_RETRYJOBRESPONSE']._serialized_end=729
|
|
84
|
+
_globals['_CANCELJOBREQUEST']._serialized_start=731
|
|
85
|
+
_globals['_CANCELJOBREQUEST']._serialized_end=796
|
|
86
|
+
_globals['_CANCELJOBRESPONSE']._serialized_start=798
|
|
87
|
+
_globals['_CANCELJOBRESPONSE']._serialized_end=817
|
|
88
|
+
_globals['_VISUALIZEJOBREQUEST']._serialized_start=820
|
|
89
|
+
_globals['_VISUALIZEJOBREQUEST']._serialized_end=1056
|
|
90
|
+
_globals['_QUERYFILTERS']._serialized_start=1059
|
|
91
|
+
_globals['_QUERYFILTERS']._serialized_end=1362
|
|
92
|
+
_globals['_QUERYJOBSREQUEST']._serialized_start=1364
|
|
93
|
+
_globals['_QUERYJOBSREQUEST']._serialized_end=1487
|
|
94
|
+
_globals['_QUERYJOBSRESPONSE']._serialized_start=1489
|
|
95
|
+
_globals['_QUERYJOBSRESPONSE']._serialized_end=1607
|
|
96
|
+
_globals['_GETJOBPROTOTYPEREQUEST']._serialized_start=1609
|
|
97
|
+
_globals['_GETJOBPROTOTYPEREQUEST']._serialized_end=1680
|
|
98
|
+
_globals['_GETJOBPROTOTYPERESPONSE']._serialized_start=1682
|
|
99
|
+
_globals['_GETJOBPROTOTYPERESPONSE']._serialized_end=1801
|
|
100
|
+
_globals['_CLONEJOBREQUEST']._serialized_start=1804
|
|
101
|
+
_globals['_CLONEJOBREQUEST']._serialized_end=2002
|
|
102
|
+
_globals['_JOBSERVICE']._serialized_start=2220
|
|
103
|
+
_globals['_JOBSERVICE']._serialized_end=2891
|
|
104
104
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -26,16 +26,18 @@ WORKFLOW_DIAGRAM_THEME_CONSOLE_LIGHT: WorkflowDiagramTheme
|
|
|
26
26
|
WORKFLOW_DIAGRAM_THEME_CONSOLE_DARK: WorkflowDiagramTheme
|
|
27
27
|
|
|
28
28
|
class SubmitJobRequest(_message.Message):
|
|
29
|
-
__slots__ = ("tasks", "job_name", "trace_parent", "automation_id")
|
|
29
|
+
__slots__ = ("legacy_tasks", "tasks", "job_name", "trace_parent", "automation_id")
|
|
30
|
+
LEGACY_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
30
31
|
TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
31
32
|
JOB_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
32
33
|
TRACE_PARENT_FIELD_NUMBER: _ClassVar[int]
|
|
33
34
|
AUTOMATION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
34
|
-
|
|
35
|
+
legacy_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
36
|
+
tasks: _core_pb2.TaskSubmissions
|
|
35
37
|
job_name: str
|
|
36
38
|
trace_parent: str
|
|
37
39
|
automation_id: _id_pb2.ID
|
|
38
|
-
def __init__(self,
|
|
40
|
+
def __init__(self, legacy_tasks: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., tasks: _Optional[_Union[_core_pb2.TaskSubmissions, _Mapping]] = ..., job_name: _Optional[str] = ..., trace_parent: _Optional[str] = ..., automation_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ...) -> None: ...
|
|
39
41
|
|
|
40
42
|
class GetJobRequest(_message.Message):
|
|
41
43
|
__slots__ = ("job_id",)
|
|
@@ -84,14 +86,18 @@ class VisualizeJobRequest(_message.Message):
|
|
|
84
86
|
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., render_options: _Optional[_Union[_diagram_pb2.RenderOptions, _Mapping]] = ..., theme: _Optional[_Union[WorkflowDiagramTheme, str]] = ..., include_job_name: bool = ...) -> None: ...
|
|
85
87
|
|
|
86
88
|
class QueryFilters(_message.Message):
|
|
87
|
-
__slots__ = ("time_interval", "id_interval", "
|
|
89
|
+
__slots__ = ("time_interval", "id_interval", "automation_ids", "states", "name")
|
|
88
90
|
TIME_INTERVAL_FIELD_NUMBER: _ClassVar[int]
|
|
89
91
|
ID_INTERVAL_FIELD_NUMBER: _ClassVar[int]
|
|
90
|
-
|
|
92
|
+
AUTOMATION_IDS_FIELD_NUMBER: _ClassVar[int]
|
|
93
|
+
STATES_FIELD_NUMBER: _ClassVar[int]
|
|
94
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
91
95
|
time_interval: _query_pb2.TimeInterval
|
|
92
96
|
id_interval: _query_pb2.IDInterval
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
automation_ids: _containers.RepeatedCompositeFieldContainer[_id_pb2.ID]
|
|
98
|
+
states: _containers.RepeatedScalarFieldContainer[_core_pb2.JobState]
|
|
99
|
+
name: str
|
|
100
|
+
def __init__(self, time_interval: _Optional[_Union[_query_pb2.TimeInterval, _Mapping]] = ..., id_interval: _Optional[_Union[_query_pb2.IDInterval, _Mapping]] = ..., automation_ids: _Optional[_Iterable[_Union[_id_pb2.ID, _Mapping]]] = ..., states: _Optional[_Iterable[_Union[_core_pb2.JobState, str]]] = ..., name: _Optional[str] = ...) -> None: ...
|
|
95
101
|
|
|
96
102
|
class QueryJobsRequest(_message.Message):
|
|
97
103
|
__slots__ = ("filters", "page")
|
|
@@ -119,9 +125,9 @@ class GetJobPrototypeResponse(_message.Message):
|
|
|
119
125
|
__slots__ = ("root_tasks", "job_name")
|
|
120
126
|
ROOT_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
121
127
|
JOB_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
122
|
-
root_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.
|
|
128
|
+
root_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
123
129
|
job_name: str
|
|
124
|
-
def __init__(self, root_tasks: _Optional[_Iterable[_Union[_core_pb2.
|
|
130
|
+
def __init__(self, root_tasks: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., job_name: _Optional[str] = ...) -> None: ...
|
|
125
131
|
|
|
126
132
|
class CloneJobRequest(_message.Message):
|
|
127
133
|
__slots__ = ("job_id", "root_tasks_overrides", "job_name")
|
|
@@ -129,6 +135,6 @@ class CloneJobRequest(_message.Message):
|
|
|
129
135
|
ROOT_TASKS_OVERRIDES_FIELD_NUMBER: _ClassVar[int]
|
|
130
136
|
JOB_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
131
137
|
job_id: _id_pb2.ID
|
|
132
|
-
root_tasks_overrides: _containers.RepeatedCompositeFieldContainer[_core_pb2.
|
|
138
|
+
root_tasks_overrides: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
133
139
|
job_name: str
|
|
134
|
-
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., root_tasks_overrides: _Optional[_Iterable[_Union[_core_pb2.
|
|
140
|
+
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., root_tasks_overrides: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., job_name: _Optional[str] = ...) -> None: ...
|
|
@@ -28,7 +28,7 @@ from tilebox.datasets.tilebox.v1 import id_pb2 as tilebox_dot_v1_dot_id__pb2
|
|
|
28
28
|
from tilebox.workflows.workflows.v1 import core_pb2 as workflows_dot_v1_dot_core__pb2
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17workflows/v1/task.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x13tilebox/v1/id.proto\x1a\x17workflows/v1/core.proto\"\xa6\x01\n\x0fNextTaskRequest\x12\x46\n\rcomputed_task\x18\x01 \x01(\x0b\x32\x1a.workflows.v1.ComputedTaskB\x05\xaa\x01\x02\x08\x01R\x0c\x63omputedTask\x12K\n\x10next_task_to_run\x18\x02 \x01(\x0b\x32\x1b.workflows.v1.NextTaskToRunB\x05\xaa\x01\x02\x08\x01R\rnextTaskToRun\"{\n\rNextTaskToRun\x12*\n\x0c\x63luster_slug\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x63lusterSlug\x12>\n\x0bidentifiers\x18\x02 \x03(\x0b\x32\x1c.workflows.v1.TaskIdentifierR\x0bidentifiers\"\
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17workflows/v1/task.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x13tilebox/v1/id.proto\x1a\x17workflows/v1/core.proto\"\xa6\x01\n\x0fNextTaskRequest\x12\x46\n\rcomputed_task\x18\x01 \x01(\x0b\x32\x1a.workflows.v1.ComputedTaskB\x05\xaa\x01\x02\x08\x01R\x0c\x63omputedTask\x12K\n\x10next_task_to_run\x18\x02 \x01(\x0b\x32\x1b.workflows.v1.NextTaskToRunB\x05\xaa\x01\x02\x08\x01R\rnextTaskToRun\"{\n\rNextTaskToRun\x12*\n\x0c\x63luster_slug\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x63lusterSlug\x12>\n\x0bidentifiers\x18\x02 \x03(\x0b\x32\x1c.workflows.v1.TaskIdentifierR\x0bidentifiers\"\xa9\x02\n\x0c\x43omputedTask\x12&\n\x02id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x02id\x12\x18\n\x07\x64isplay\x18\x02 \x01(\tR\x07\x64isplay\x12X\n\x10legacy_sub_tasks\x18\x03 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionB\n\x18\x01\xbaH\x05\x92\x01\x02\x10@R\x0elegacySubTasks\x12:\n\tsub_tasks\x18\x05 \x01(\x0b\x32\x1d.workflows.v1.TaskSubmissionsR\x08subTasks\x12\x41\n\x10progress_updates\x18\x04 \x03(\x0b\x32\x16.workflows.v1.ProgressR\x0fprogressUpdates\"g\n\x0eIdlingResponse\x12U\n\x19suggested_idling_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x17suggestedIdlingDuration\"\x93\x01\n\x10NextTaskResponse\x12/\n\tnext_task\x18\x01 \x01(\x0b\x32\x12.workflows.v1.TaskR\x08nextTask\x12\x34\n\x06idling\x18\x02 \x01(\x0b\x32\x1c.workflows.v1.IdlingResponseR\x06idling:\x18\xbaH\x15\"\x13\n\tnext_task\n\x06idling\"\xc0\x01\n\x11TaskFailedRequest\x12/\n\x07task_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x06taskId\x12\x18\n\x07\x64isplay\x18\x02 \x01(\tR\x07\x64isplay\x12\x1d\n\ncancel_job\x18\x03 \x01(\x08R\tcancelJob\x12\x41\n\x10progress_updates\x18\x04 \x03(\x0b\x32\x16.workflows.v1.ProgressR\x0fprogressUpdates\"B\n\x11TaskStateResponse\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x17.workflows.v1.TaskStateR\x05state\"\x87\x01\n\x10TaskLeaseRequest\x12/\n\x07task_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x06taskId\x12\x42\n\x0frequested_lease\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0erequestedLease2\xf4\x01\n\x0bTaskService\x12I\n\x08NextTask\x12\x1d.workflows.v1.NextTaskRequest\x1a\x1e.workflows.v1.NextTaskResponse\x12N\n\nTaskFailed\x12\x1f.workflows.v1.TaskFailedRequest\x1a\x1f.workflows.v1.TaskStateResponse\x12J\n\x0f\x45xtendTaskLease\x12\x1e.workflows.v1.TaskLeaseRequest\x1a\x17.workflows.v1.TaskLeaseBs\n\x10\x63om.workflows.v1B\tTaskProtoP\x01\xa2\x02\x03WXX\xaa\x02\x0cWorkflows.V1\xca\x02\x0cWorkflows\\V1\xe2\x02\x18Workflows\\V1\\GPBMetadata\xea\x02\rWorkflows::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07')
|
|
32
32
|
|
|
33
33
|
_globals = globals()
|
|
34
34
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -44,8 +44,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
44
44
|
_globals['_NEXTTASKTORUN'].fields_by_name['cluster_slug']._serialized_options = b'\272H\004r\002\020\001'
|
|
45
45
|
_globals['_COMPUTEDTASK'].fields_by_name['id']._loaded_options = None
|
|
46
46
|
_globals['_COMPUTEDTASK'].fields_by_name['id']._serialized_options = b'\272H\003\310\001\001'
|
|
47
|
-
_globals['_COMPUTEDTASK'].fields_by_name['
|
|
48
|
-
_globals['_COMPUTEDTASK'].fields_by_name['
|
|
47
|
+
_globals['_COMPUTEDTASK'].fields_by_name['legacy_sub_tasks']._loaded_options = None
|
|
48
|
+
_globals['_COMPUTEDTASK'].fields_by_name['legacy_sub_tasks']._serialized_options = b'\030\001\272H\005\222\001\002\020@'
|
|
49
49
|
_globals['_NEXTTASKRESPONSE']._loaded_options = None
|
|
50
50
|
_globals['_NEXTTASKRESPONSE']._serialized_options = b'\272H\025\"\023\n\tnext_task\n\006idling'
|
|
51
51
|
_globals['_TASKFAILEDREQUEST'].fields_by_name['task_id']._loaded_options = None
|
|
@@ -57,17 +57,17 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
57
57
|
_globals['_NEXTTASKTORUN']._serialized_start=317
|
|
58
58
|
_globals['_NEXTTASKTORUN']._serialized_end=440
|
|
59
59
|
_globals['_COMPUTEDTASK']._serialized_start=443
|
|
60
|
-
_globals['_COMPUTEDTASK']._serialized_end=
|
|
61
|
-
_globals['_IDLINGRESPONSE']._serialized_start=
|
|
62
|
-
_globals['_IDLINGRESPONSE']._serialized_end=
|
|
63
|
-
_globals['_NEXTTASKRESPONSE']._serialized_start=
|
|
64
|
-
_globals['_NEXTTASKRESPONSE']._serialized_end=
|
|
65
|
-
_globals['_TASKFAILEDREQUEST']._serialized_start=
|
|
66
|
-
_globals['_TASKFAILEDREQUEST']._serialized_end=
|
|
67
|
-
_globals['_TASKSTATERESPONSE']._serialized_start=
|
|
68
|
-
_globals['_TASKSTATERESPONSE']._serialized_end=
|
|
69
|
-
_globals['_TASKLEASEREQUEST']._serialized_start=
|
|
70
|
-
_globals['_TASKLEASEREQUEST']._serialized_end=
|
|
71
|
-
_globals['_TASKSERVICE']._serialized_start=
|
|
72
|
-
_globals['_TASKSERVICE']._serialized_end=
|
|
60
|
+
_globals['_COMPUTEDTASK']._serialized_end=740
|
|
61
|
+
_globals['_IDLINGRESPONSE']._serialized_start=742
|
|
62
|
+
_globals['_IDLINGRESPONSE']._serialized_end=845
|
|
63
|
+
_globals['_NEXTTASKRESPONSE']._serialized_start=848
|
|
64
|
+
_globals['_NEXTTASKRESPONSE']._serialized_end=995
|
|
65
|
+
_globals['_TASKFAILEDREQUEST']._serialized_start=998
|
|
66
|
+
_globals['_TASKFAILEDREQUEST']._serialized_end=1190
|
|
67
|
+
_globals['_TASKSTATERESPONSE']._serialized_start=1192
|
|
68
|
+
_globals['_TASKSTATERESPONSE']._serialized_end=1258
|
|
69
|
+
_globals['_TASKLEASEREQUEST']._serialized_start=1261
|
|
70
|
+
_globals['_TASKLEASEREQUEST']._serialized_end=1396
|
|
71
|
+
_globals['_TASKSERVICE']._serialized_start=1399
|
|
72
|
+
_globals['_TASKSERVICE']._serialized_end=1643
|
|
73
73
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -27,16 +27,18 @@ class NextTaskToRun(_message.Message):
|
|
|
27
27
|
def __init__(self, cluster_slug: _Optional[str] = ..., identifiers: _Optional[_Iterable[_Union[_core_pb2.TaskIdentifier, _Mapping]]] = ...) -> None: ...
|
|
28
28
|
|
|
29
29
|
class ComputedTask(_message.Message):
|
|
30
|
-
__slots__ = ("id", "display", "sub_tasks", "progress_updates")
|
|
30
|
+
__slots__ = ("id", "display", "legacy_sub_tasks", "sub_tasks", "progress_updates")
|
|
31
31
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
32
32
|
DISPLAY_FIELD_NUMBER: _ClassVar[int]
|
|
33
|
+
LEGACY_SUB_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
33
34
|
SUB_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
34
35
|
PROGRESS_UPDATES_FIELD_NUMBER: _ClassVar[int]
|
|
35
36
|
id: _id_pb2.ID
|
|
36
37
|
display: str
|
|
37
|
-
|
|
38
|
+
legacy_sub_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
39
|
+
sub_tasks: _core_pb2.TaskSubmissions
|
|
38
40
|
progress_updates: _containers.RepeatedCompositeFieldContainer[_core_pb2.Progress]
|
|
39
|
-
def __init__(self, id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., display: _Optional[str] = ...,
|
|
41
|
+
def __init__(self, id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., display: _Optional[str] = ..., legacy_sub_tasks: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., sub_tasks: _Optional[_Union[_core_pb2.TaskSubmissions, _Mapping]] = ..., progress_updates: _Optional[_Iterable[_Union[_core_pb2.Progress, _Mapping]]] = ...) -> None: ...
|
|
40
42
|
|
|
41
43
|
class IdlingResponse(_message.Message):
|
|
42
44
|
__slots__ = ("suggested_idling_duration",)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
tilebox/workflows/__init__.py,sha256=D6NXvTUjWv0YWN5tYD09p1cFkGs8nGrZ9V7agtjvp8c,636
|
|
2
2
|
tilebox/workflows/cache.py,sha256=EoCzpYIJLmKVbQRox1J48zUjYVpWvruso-h4BRbLXG0,11357
|
|
3
3
|
tilebox/workflows/client.py,sha256=gmcL4PsV_oIOZAC5rYIEel392N8r5kQSjxNK9pu5vCE,5664
|
|
4
|
-
tilebox/workflows/data.py,sha256=
|
|
4
|
+
tilebox/workflows/data.py,sha256=pO3UG5kMTeZ3rXeiAROXmX76onbr-XCI_UNIrzkZe0I,29603
|
|
5
5
|
tilebox/workflows/interceptors.py,sha256=yfo6pCxUdhb0EC1J506k1ge4S_BAl83TAFYxCcxu8sU,1799
|
|
6
|
-
tilebox/workflows/task.py,sha256=
|
|
6
|
+
tilebox/workflows/task.py,sha256=P7vTtKMP0m-VzN3pZTrV0-3TDAk_A2uBJF8QYPzkIAk,21656
|
|
7
7
|
tilebox/workflows/timeseries.py,sha256=Q3kcp4sXKpQ6v1-yBWwdoNOyuK3InNYVDjm4_FVjGOo,9022
|
|
8
8
|
tilebox/workflows/automations/__init__.py,sha256=HDyTj_H0Z-w9m0noWiXAcrvEylXmSpy8pgrVUWWqjbg,226
|
|
9
|
-
tilebox/workflows/automations/client.py,sha256=
|
|
9
|
+
tilebox/workflows/automations/client.py,sha256=EJZHcRXfZyU0NAH1PZuA9fGuYQwQKnz03nyz6lJqtrc,5622
|
|
10
10
|
tilebox/workflows/automations/cron.py,sha256=aLBoo6KKHaTUNeVH-4VBw8mlq0ujyv4uJDUPV7eo3dk,2046
|
|
11
11
|
tilebox/workflows/automations/service.py,sha256=Iwh4kcjLh8pJOUBvVHTEqdVmTzEAOj1qjeTLY7CKl4s,2462
|
|
12
12
|
tilebox/workflows/automations/storage_event.py,sha256=4rf3DO8GjCfCxLPYPZyZjK1SsaM__EUIF1QB3YboE5w,2407
|
|
@@ -14,34 +14,34 @@ tilebox/workflows/clusters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
|
14
14
|
tilebox/workflows/clusters/client.py,sha256=uGKmieEKE8Gy2uIV5c_9kT1lObJIe48J4rYEpcNmLPc,1656
|
|
15
15
|
tilebox/workflows/clusters/service.py,sha256=4ikKwl_69OW8M1yOlsx0QTlJURXfAAbAh-JY-pgjs9w,1634
|
|
16
16
|
tilebox/workflows/formatting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
tilebox/workflows/formatting/job.py,sha256=
|
|
17
|
+
tilebox/workflows/formatting/job.py,sha256=1bOXGGyWTCmgRJbZmTWVDJAZae3I7xKIOysJtZqMQJY,14115
|
|
18
18
|
tilebox/workflows/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
tilebox/workflows/jobs/client.py,sha256=
|
|
20
|
-
tilebox/workflows/jobs/service.py,sha256=
|
|
19
|
+
tilebox/workflows/jobs/client.py,sha256=1hl6Y97bEIddN46utl3knomVug-9WKHJyGJLByKw1TA,11230
|
|
20
|
+
tilebox/workflows/jobs/service.py,sha256=HpCg9v2kUM4rYgDSUtezpJ_yU9VhCHqX8EBboLSwKKE,3493
|
|
21
21
|
tilebox/workflows/observability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
22
|
tilebox/workflows/observability/logging.py,sha256=rYryCUNQGNtnAcRmQXd0hkZhw1qZINgsylaQqUQNA5k,16450
|
|
23
23
|
tilebox/workflows/observability/tracing.py,sha256=KawdvsQq7JPkLI9eJ8_l0AXWhyhharWmPNLR88CJsRA,11672
|
|
24
24
|
tilebox/workflows/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
tilebox/workflows/runner/task_runner.py,sha256=
|
|
25
|
+
tilebox/workflows/runner/task_runner.py,sha256=YXJNPKdJBP0uXq7pOw3LPs6EI4La5o3vKFu7hrE5Aws,28339
|
|
26
26
|
tilebox/workflows/runner/task_service.py,sha256=C1bgoSjXBW4KUKR-_GQSplVa0XojscngOMQfTI5IQ6E,2837
|
|
27
|
-
tilebox/workflows/workflows/v1/automation_pb2.py,sha256=
|
|
28
|
-
tilebox/workflows/workflows/v1/automation_pb2.pyi,sha256=
|
|
27
|
+
tilebox/workflows/workflows/v1/automation_pb2.py,sha256=Mf9D84ujlL-vQ0gkHwQh9_yvZKsJ0I7dsIAXL_fczqo,9179
|
|
28
|
+
tilebox/workflows/workflows/v1/automation_pb2.pyi,sha256=LrucnhtVCSDfN88ZfJ2ruHvQq1Kc6CxMRAxKb_Q9kG4,5838
|
|
29
29
|
tilebox/workflows/workflows/v1/automation_pb2_grpc.py,sha256=9-Jy1rzk8nTr1Vj5co46lsY1uLjf2-PTzSnTxcvR60M,18859
|
|
30
|
-
tilebox/workflows/workflows/v1/core_pb2.py,sha256
|
|
31
|
-
tilebox/workflows/workflows/v1/core_pb2.pyi,sha256
|
|
30
|
+
tilebox/workflows/workflows/v1/core_pb2.py,sha256=-Ye83jLSLqRussn7-m2d9AsQ6698F225baSEY521tLY,14233
|
|
31
|
+
tilebox/workflows/workflows/v1/core_pb2.pyi,sha256=-UyXY58Ce_0oyFMnU8T0gLPlxnE4oo4-VDk3j89ib0I,12858
|
|
32
32
|
tilebox/workflows/workflows/v1/core_pb2_grpc.py,sha256=xYOs94SXiNYAlFodACnsXW5QovLsHY5tCk3p76RH5Zc,158
|
|
33
33
|
tilebox/workflows/workflows/v1/diagram_pb2.py,sha256=Wh2UGR9Fm97z9o0dm5zPSYjkiOmzJGS_Dds_SIX_DeQ,3536
|
|
34
34
|
tilebox/workflows/workflows/v1/diagram_pb2.pyi,sha256=7IJEm-5M_nt5sziFNjK2DgW7Nwl9Y_fRpR_TM5EE6DQ,1477
|
|
35
35
|
tilebox/workflows/workflows/v1/diagram_pb2_grpc.py,sha256=jg4mBPDwHMbpfRI0magrHvmdJ20dQE5xFHTt-5MdW1Y,2780
|
|
36
|
-
tilebox/workflows/workflows/v1/job_pb2.py,sha256=
|
|
37
|
-
tilebox/workflows/workflows/v1/job_pb2.pyi,sha256=
|
|
36
|
+
tilebox/workflows/workflows/v1/job_pb2.py,sha256=VVS8wkLs_Qqr3i4DWWcNHALTLekB9wxlFF-LGPQPcF4,11118
|
|
37
|
+
tilebox/workflows/workflows/v1/job_pb2.pyi,sha256=0ZanT6ULEdJrZ2j5GJoMw3R3pm8fER72jHE-pcwzn9M,7344
|
|
38
38
|
tilebox/workflows/workflows/v1/job_pb2_grpc.py,sha256=pAqqMZpXQ82NvC3qIrWgjVmg6_J9AIdDlaxjF1BNUtc,17195
|
|
39
|
-
tilebox/workflows/workflows/v1/task_pb2.py,sha256=
|
|
40
|
-
tilebox/workflows/workflows/v1/task_pb2.pyi,sha256=
|
|
39
|
+
tilebox/workflows/workflows/v1/task_pb2.py,sha256=hE_G2Vi_MMWjVsxesqd_aPYd-mnrPEV0xPNyDiGuW5s,6835
|
|
40
|
+
tilebox/workflows/workflows/v1/task_pb2.pyi,sha256=dwDUwMxBeMOqYhCM2bAkeMNMlM4Hp_cPgNX1IPC8l6s,4488
|
|
41
41
|
tilebox/workflows/workflows/v1/task_pb2_grpc.py,sha256=nkQjtsDiql1ofbSxhDXbPkySd1sYt44uEaSl2Z15jSg,7661
|
|
42
42
|
tilebox/workflows/workflows/v1/workflows_pb2.py,sha256=rGwIydUP4osLD_fG3QmHaqs42mKmRoCqtwihJTLJ314,3990
|
|
43
43
|
tilebox/workflows/workflows/v1/workflows_pb2.pyi,sha256=qiDQUM2Vlu_izQvaSDlK5GqKYGsNJgtm0bo9zW-qNjU,1633
|
|
44
44
|
tilebox/workflows/workflows/v1/workflows_pb2_grpc.py,sha256=36Vp_TIxtS-MRBZHECf84fHFbnrm3-UizCsMOlz7qfo,8529
|
|
45
|
-
tilebox_workflows-0.
|
|
46
|
-
tilebox_workflows-0.
|
|
47
|
-
tilebox_workflows-0.
|
|
45
|
+
tilebox_workflows-0.46.0.dist-info/METADATA,sha256=mttQREdxdDcxYLRNcIQimVQZ7XaCbsvIk0lAZ5cxKf8,3948
|
|
46
|
+
tilebox_workflows-0.46.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
47
|
+
tilebox_workflows-0.46.0.dist-info/RECORD,,
|