tracdap-runtime 0.6.5__py3-none-any.whl → 0.7.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.
- tracdap/rt/__init__.py +6 -5
- tracdap/rt/_exec/actors.py +6 -5
- tracdap/rt/_exec/context.py +278 -110
- tracdap/rt/_exec/dev_mode.py +237 -143
- tracdap/rt/_exec/engine.py +223 -64
- tracdap/rt/_exec/functions.py +31 -6
- tracdap/rt/_exec/graph.py +15 -5
- tracdap/rt/_exec/graph_builder.py +301 -203
- tracdap/rt/_exec/runtime.py +13 -10
- tracdap/rt/_exec/server.py +6 -5
- tracdap/rt/_impl/__init__.py +6 -5
- tracdap/rt/_impl/config_parser.py +17 -9
- tracdap/rt/_impl/data.py +284 -172
- tracdap/rt/_impl/ext/__init__.py +14 -0
- tracdap/rt/_impl/ext/sql.py +117 -0
- tracdap/rt/_impl/ext/storage.py +58 -0
- tracdap/rt/_impl/grpc/__init__.py +6 -5
- tracdap/rt/_impl/grpc/codec.py +6 -5
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +62 -54
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +37 -2
- tracdap/rt/_impl/guard_rails.py +6 -5
- tracdap/rt/_impl/models.py +6 -5
- tracdap/rt/_impl/repos.py +6 -5
- tracdap/rt/_impl/schemas.py +6 -5
- tracdap/rt/_impl/shim.py +6 -5
- tracdap/rt/_impl/static_api.py +30 -16
- tracdap/rt/_impl/storage.py +8 -7
- tracdap/rt/_impl/type_system.py +6 -5
- tracdap/rt/_impl/util.py +16 -5
- tracdap/rt/_impl/validation.py +72 -18
- tracdap/rt/_plugins/__init__.py +6 -5
- tracdap/rt/_plugins/_helpers.py +6 -5
- tracdap/rt/_plugins/config_local.py +6 -5
- tracdap/rt/_plugins/format_arrow.py +6 -5
- tracdap/rt/_plugins/format_csv.py +6 -5
- tracdap/rt/_plugins/format_parquet.py +6 -5
- tracdap/rt/_plugins/repo_git.py +6 -5
- tracdap/rt/_plugins/repo_local.py +6 -5
- tracdap/rt/_plugins/repo_pypi.py +6 -5
- tracdap/rt/_plugins/storage_aws.py +6 -5
- tracdap/rt/_plugins/storage_azure.py +6 -5
- tracdap/rt/_plugins/storage_gcp.py +6 -5
- tracdap/rt/_plugins/storage_local.py +6 -5
- tracdap/rt/_plugins/storage_sql.py +418 -0
- tracdap/rt/_plugins/storage_sql_dialects.py +118 -0
- tracdap/rt/_version.py +7 -6
- tracdap/rt/api/__init__.py +23 -5
- tracdap/rt/api/experimental.py +85 -37
- tracdap/rt/api/hook.py +16 -5
- tracdap/rt/api/model_api.py +110 -90
- tracdap/rt/api/static_api.py +142 -100
- tracdap/rt/config/common.py +26 -27
- tracdap/rt/config/job.py +5 -6
- tracdap/rt/config/platform.py +41 -42
- tracdap/rt/config/result.py +5 -6
- tracdap/rt/config/runtime.py +6 -7
- tracdap/rt/exceptions.py +13 -7
- tracdap/rt/ext/__init__.py +6 -5
- tracdap/rt/ext/config.py +6 -5
- tracdap/rt/ext/embed.py +6 -5
- tracdap/rt/ext/plugins.py +6 -5
- tracdap/rt/ext/repos.py +6 -5
- tracdap/rt/ext/storage.py +6 -5
- tracdap/rt/launch/__init__.py +10 -5
- tracdap/rt/launch/__main__.py +6 -5
- tracdap/rt/launch/cli.py +6 -5
- tracdap/rt/launch/launch.py +38 -15
- tracdap/rt/metadata/__init__.py +4 -0
- tracdap/rt/metadata/common.py +2 -3
- tracdap/rt/metadata/custom.py +3 -4
- tracdap/rt/metadata/data.py +30 -31
- tracdap/rt/metadata/file.py +6 -7
- tracdap/rt/metadata/flow.py +22 -23
- tracdap/rt/metadata/job.py +89 -45
- tracdap/rt/metadata/model.py +26 -27
- tracdap/rt/metadata/object.py +11 -12
- tracdap/rt/metadata/object_id.py +23 -24
- tracdap/rt/metadata/resource.py +0 -1
- tracdap/rt/metadata/search.py +15 -16
- tracdap/rt/metadata/stoarge.py +22 -23
- tracdap/rt/metadata/tag.py +8 -9
- tracdap/rt/metadata/tag_update.py +11 -12
- tracdap/rt/metadata/type.py +38 -38
- {tracdap_runtime-0.6.5.dist-info → tracdap_runtime-0.7.0.dist-info}/LICENSE +1 -1
- {tracdap_runtime-0.6.5.dist-info → tracdap_runtime-0.7.0.dist-info}/METADATA +4 -2
- tracdap_runtime-0.7.0.dist-info/RECORD +121 -0
- {tracdap_runtime-0.6.5.dist-info → tracdap_runtime-0.7.0.dist-info}/WHEEL +1 -1
- tracdap_runtime-0.6.5.dist-info/RECORD +0 -116
- {tracdap_runtime-0.6.5.dist-info → tracdap_runtime-0.7.0.dist-info}/top_level.txt +0 -0
tracdap/rt/metadata/object_id.py
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from __future__ import annotations
|
4
3
|
import typing as _tp # noqa
|
5
4
|
import dataclasses as _dc # noqa
|
6
5
|
import enum as _enum # noqa
|
@@ -14,7 +13,7 @@ class ObjectType(_enum.Enum):
|
|
14
13
|
Enumeration of TRAC's core object types.
|
15
14
|
|
16
15
|
.. seealso::
|
17
|
-
:
|
16
|
+
:py:obj:`ObjectDefinition <ObjectDefinition>`
|
18
17
|
"""
|
19
18
|
|
20
19
|
OBJECT_TYPE_NOT_SET = 0
|
@@ -43,20 +42,20 @@ class TagHeader:
|
|
43
42
|
A tag header describes the identity and version of an object.
|
44
43
|
|
45
44
|
.. seealso::
|
46
|
-
:
|
47
|
-
:
|
45
|
+
:py:obj:`Tag <Tag>`,
|
46
|
+
:py:obj:`ObjectDefinition <ObjectDefinition>`
|
48
47
|
"""
|
49
48
|
|
50
|
-
objectType: ObjectType = ObjectType.OBJECT_TYPE_NOT_SET
|
49
|
+
objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
|
51
50
|
|
52
51
|
"""
|
53
52
|
Object type of the object this tag is associated with.
|
54
53
|
|
55
54
|
.. seealso::
|
56
|
-
:
|
55
|
+
:py:obj:`ObjectType <ObjectType>`
|
57
56
|
"""
|
58
57
|
|
59
|
-
objectId: str = ""
|
58
|
+
objectId: "str" = ""
|
60
59
|
|
61
60
|
"""
|
62
61
|
Object ID of the object this tag is associated with.
|
@@ -64,27 +63,27 @@ class TagHeader:
|
|
64
63
|
Object IDs are UUIDs (RFC4122, https://www.ietf.org/rfc/rfc4122.txt)
|
65
64
|
"""
|
66
65
|
|
67
|
-
objectVersion: int = 0
|
66
|
+
objectVersion: "int" = 0
|
68
67
|
|
69
68
|
"""Version of the object this tag is associated with."""
|
70
69
|
|
71
|
-
objectTimestamp: DatetimeValue = _dc.field(default_factory=lambda: DatetimeValue())
|
70
|
+
objectTimestamp: "DatetimeValue" = _dc.field(default_factory=lambda: DatetimeValue())
|
72
71
|
|
73
72
|
"""Timestamp for when this version of the object was created."""
|
74
73
|
|
75
|
-
tagVersion: int = 0
|
74
|
+
tagVersion: "int" = 0
|
76
75
|
|
77
76
|
"""Version of this tag."""
|
78
77
|
|
79
|
-
tagTimestamp: DatetimeValue = _dc.field(default_factory=lambda: DatetimeValue())
|
78
|
+
tagTimestamp: "DatetimeValue" = _dc.field(default_factory=lambda: DatetimeValue())
|
80
79
|
|
81
80
|
"""Timestamp for when this version of the tag was created."""
|
82
81
|
|
83
|
-
isLatestObject: bool = False
|
82
|
+
isLatestObject: "bool" = False
|
84
83
|
|
85
84
|
"""isLatest flag for the object the tag is associated with."""
|
86
85
|
|
87
|
-
isLatestTag: bool = False
|
86
|
+
isLatestTag: "bool" = False
|
88
87
|
|
89
88
|
"""isLatest flag for the tag."""
|
90
89
|
|
@@ -119,20 +118,20 @@ class TagSelector:
|
|
119
118
|
e.g. latestObject = true with tagVersion = 1 is allowed.
|
120
119
|
|
121
120
|
.. seealso::
|
122
|
-
:
|
123
|
-
:
|
121
|
+
:py:obj:`Tag <Tag>`,
|
122
|
+
:py:obj:`TagHeader <TagHeader>`
|
124
123
|
"""
|
125
124
|
|
126
|
-
objectType: ObjectType = ObjectType.OBJECT_TYPE_NOT_SET
|
125
|
+
objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
|
127
126
|
|
128
127
|
"""
|
129
128
|
Object type of the tag being selected.
|
130
129
|
|
131
130
|
.. seealso::
|
132
|
-
:
|
131
|
+
:py:obj:`ObjectType <ObjectType>`
|
133
132
|
"""
|
134
133
|
|
135
|
-
objectId: str = ""
|
134
|
+
objectId: "str" = ""
|
136
135
|
|
137
136
|
"""
|
138
137
|
Object ID of the tag being selected.
|
@@ -140,7 +139,7 @@ class TagSelector:
|
|
140
139
|
Object IDs are UUIDs (RFC4122, https://www.ietf.org/rfc/rfc4122.txt)
|
141
140
|
"""
|
142
141
|
|
143
|
-
latestObject: _tp.Optional[bool] = None
|
142
|
+
latestObject: "_tp.Optional[bool]" = None
|
144
143
|
|
145
144
|
"""
|
146
145
|
Select the latest version of the object (the version that is live now).
|
@@ -148,18 +147,18 @@ class TagSelector:
|
|
148
147
|
If this flag is specified, it must be set to true.
|
149
148
|
"""
|
150
149
|
|
151
|
-
objectVersion: _tp.Optional[int] = None
|
150
|
+
objectVersion: "_tp.Optional[int]" = None
|
152
151
|
|
153
152
|
"""Select an explicit version of the object."""
|
154
153
|
|
155
|
-
objectAsOf: _tp.Optional[DatetimeValue] = None
|
154
|
+
objectAsOf: "_tp.Optional[DatetimeValue]" = None
|
156
155
|
|
157
156
|
"""
|
158
157
|
Select the version of the object that was live as of a particular point
|
159
158
|
in time. Represented using ISO 8601.
|
160
159
|
"""
|
161
160
|
|
162
|
-
latestTag: _tp.Optional[bool] = None
|
161
|
+
latestTag: "_tp.Optional[bool]" = None
|
163
162
|
|
164
163
|
"""
|
165
164
|
Select the latest version of the tag (the version that is live now).
|
@@ -167,11 +166,11 @@ class TagSelector:
|
|
167
166
|
If this flag is specified, it must be set to true.
|
168
167
|
"""
|
169
168
|
|
170
|
-
tagVersion: _tp.Optional[int] = None
|
169
|
+
tagVersion: "_tp.Optional[int]" = None
|
171
170
|
|
172
171
|
"""Select an explicit version of the tag."""
|
173
172
|
|
174
|
-
tagAsOf: _tp.Optional[DatetimeValue] = None
|
173
|
+
tagAsOf: "_tp.Optional[DatetimeValue]" = None
|
175
174
|
|
176
175
|
"""
|
177
176
|
Select the version of the tag that was live as of a particular point
|
tracdap/rt/metadata/resource.py
CHANGED
tracdap/rt/metadata/search.py
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from __future__ import annotations
|
4
3
|
import typing as _tp # noqa
|
5
4
|
import dataclasses as _dc # noqa
|
6
5
|
import enum as _enum # noqa
|
@@ -15,7 +14,7 @@ class SearchOperator(_enum.Enum):
|
|
15
14
|
Metadata search term operator, used as part of a SearchTerm
|
16
15
|
|
17
16
|
.. seealso::
|
18
|
-
:
|
17
|
+
:py:obj:`SearchTerm <SearchTerm>`
|
19
18
|
"""
|
20
19
|
|
21
20
|
SEARCH_OPERATOR_NOT_SET = 0
|
@@ -134,7 +133,7 @@ class LogicalOperator(_enum.Enum):
|
|
134
133
|
Metadata search logical operator, used as part of a LogicalExpression.
|
135
134
|
|
136
135
|
.. seealso::
|
137
|
-
:
|
136
|
+
:py:obj:`LogicalExpression <LogicalExpression>`
|
138
137
|
"""
|
139
138
|
|
140
139
|
LOGICAL_OPERATOR_NOT_SET = 0
|
@@ -175,19 +174,19 @@ class SearchTerm:
|
|
175
174
|
Applies a search operator against an individual tag attribute.
|
176
175
|
"""
|
177
176
|
|
178
|
-
attrName: str = ""
|
177
|
+
attrName: "str" = ""
|
179
178
|
|
180
179
|
"""The name of the attribute to search for"""
|
181
180
|
|
182
|
-
attrType: BasicType = BasicType.BASIC_TYPE_NOT_SET
|
181
|
+
attrType: "BasicType" = BasicType.BASIC_TYPE_NOT_SET
|
183
182
|
|
184
183
|
"""The primitive type of the attribute being searched for"""
|
185
184
|
|
186
|
-
operator: SearchOperator = SearchOperator.SEARCH_OPERATOR_NOT_SET
|
185
|
+
operator: "SearchOperator" = SearchOperator.SEARCH_OPERATOR_NOT_SET
|
187
186
|
|
188
187
|
"""The search operator to apply"""
|
189
188
|
|
190
|
-
searchValue: Value = _dc.field(default_factory=lambda: Value())
|
189
|
+
searchValue: "Value" = _dc.field(default_factory=lambda: Value())
|
191
190
|
|
192
191
|
"""The search value to look for"""
|
193
192
|
|
@@ -201,11 +200,11 @@ class LogicalExpression:
|
|
201
200
|
Applies a logical operator to one or more sub-expressions.
|
202
201
|
"""
|
203
202
|
|
204
|
-
operator: LogicalOperator = LogicalOperator.LOGICAL_OPERATOR_NOT_SET
|
203
|
+
operator: "LogicalOperator" = LogicalOperator.LOGICAL_OPERATOR_NOT_SET
|
205
204
|
|
206
205
|
"""The logical operator to apply to sub-expressions"""
|
207
206
|
|
208
|
-
expr: _tp.List[SearchExpression] = _dc.field(default_factory=list)
|
207
|
+
expr: "_tp.List[SearchExpression]" = _dc.field(default_factory=list)
|
209
208
|
|
210
209
|
"""
|
211
210
|
A set of sub-expressions.
|
@@ -226,11 +225,11 @@ class SearchExpression:
|
|
226
225
|
conditions.
|
227
226
|
"""
|
228
227
|
|
229
|
-
term: _tp.Optional[SearchTerm] = None
|
228
|
+
term: "_tp.Optional[SearchTerm]" = None
|
230
229
|
|
231
230
|
"""Set if this search expression is a single term"""
|
232
231
|
|
233
|
-
logical: _tp.Optional[LogicalExpression] = None
|
232
|
+
logical: "_tp.Optional[LogicalExpression]" = None
|
234
233
|
|
235
234
|
"""Set if this search expression is a logical expression"""
|
236
235
|
|
@@ -240,11 +239,11 @@ class SearchParameters:
|
|
240
239
|
|
241
240
|
"""Parameters to define a metadata search."""
|
242
241
|
|
243
|
-
objectType: ObjectType = ObjectType.OBJECT_TYPE_NOT_SET
|
242
|
+
objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
|
244
243
|
|
245
244
|
"""The type of object to search for"""
|
246
245
|
|
247
|
-
search: SearchExpression = _dc.field(default_factory=lambda: SearchExpression())
|
246
|
+
search: "SearchExpression" = _dc.field(default_factory=lambda: SearchExpression())
|
248
247
|
|
249
248
|
"""
|
250
249
|
A search expression based on tag attributes.
|
@@ -252,7 +251,7 @@ class SearchParameters:
|
|
252
251
|
This field is optional. If no search parameters are given, then all objects are returned.
|
253
252
|
"""
|
254
253
|
|
255
|
-
searchAsOf: _tp.Optional[DatetimeValue] = None
|
254
|
+
searchAsOf: "_tp.Optional[DatetimeValue]" = None
|
256
255
|
|
257
256
|
"""
|
258
257
|
Perform the search as of a specific date/time.
|
@@ -268,7 +267,7 @@ class SearchParameters:
|
|
268
267
|
current time.
|
269
268
|
"""
|
270
269
|
|
271
|
-
priorVersions: bool = False
|
270
|
+
priorVersions: "bool" = False
|
272
271
|
|
273
272
|
"""
|
274
273
|
Include prior versions of objects in the search.
|
@@ -287,7 +286,7 @@ class SearchParameters:
|
|
287
286
|
latest tag is considered for each object.
|
288
287
|
"""
|
289
288
|
|
290
|
-
priorTags: bool = False
|
289
|
+
priorTags: "bool" = False
|
291
290
|
|
292
291
|
"""
|
293
292
|
Include prior tags in the search.
|
tracdap/rt/metadata/stoarge.py
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from __future__ import annotations
|
4
3
|
import typing as _tp # noqa
|
5
4
|
import dataclasses as _dc # noqa
|
6
5
|
import enum as _enum # noqa
|
@@ -14,8 +13,8 @@ class CopyStatus(_enum.Enum):
|
|
14
13
|
Status of an individual copy of a data storage item
|
15
14
|
|
16
15
|
.. seealso::
|
17
|
-
:
|
18
|
-
:
|
16
|
+
:py:obj:`StorageDefinition <StorageDefinition>`,
|
17
|
+
:py:obj:`StorageCopy <StorageCopy>`
|
19
18
|
"""
|
20
19
|
|
21
20
|
COPY_STATUS_NOT_SET = 0
|
@@ -35,8 +34,8 @@ class IncarnationStatus(_enum.Enum):
|
|
35
34
|
Status of an individual incarnation of a data storage item
|
36
35
|
|
37
36
|
.. seealso::
|
38
|
-
:
|
39
|
-
:
|
37
|
+
:py:obj:`StorageDefinition <StorageDefinition>`,
|
38
|
+
:py:obj:`StorageIncarnation <StorageIncarnation>`
|
40
39
|
"""
|
41
40
|
|
42
41
|
INCARNATION_STATUS_NOT_SET = 0
|
@@ -57,20 +56,20 @@ class StorageCopy:
|
|
57
56
|
Define physical storage for an individual copy of a data item
|
58
57
|
|
59
58
|
.. seealso::
|
60
|
-
:
|
59
|
+
:py:obj:`StorageDefinition <StorageDefinition>`
|
61
60
|
"""
|
62
61
|
|
63
|
-
storageKey: str = ""
|
62
|
+
storageKey: "str" = ""
|
64
63
|
|
65
|
-
storagePath: str = ""
|
64
|
+
storagePath: "str" = ""
|
66
65
|
|
67
|
-
storageFormat: str = ""
|
66
|
+
storageFormat: "str" = ""
|
68
67
|
|
69
|
-
copyStatus: CopyStatus = CopyStatus.COPY_STATUS_NOT_SET
|
68
|
+
copyStatus: "CopyStatus" = CopyStatus.COPY_STATUS_NOT_SET
|
70
69
|
|
71
|
-
copyTimestamp: DatetimeValue = _dc.field(default_factory=lambda: DatetimeValue())
|
70
|
+
copyTimestamp: "DatetimeValue" = _dc.field(default_factory=lambda: DatetimeValue())
|
72
71
|
|
73
|
-
storageOptions: _tp.Dict[str, Value] = _dc.field(default_factory=dict)
|
72
|
+
storageOptions: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
|
74
73
|
|
75
74
|
|
76
75
|
@_dc.dataclass
|
@@ -80,16 +79,16 @@ class StorageIncarnation:
|
|
80
79
|
Define physical storage for an individual incarnation of a data item
|
81
80
|
|
82
81
|
.. seealso::
|
83
|
-
:
|
82
|
+
:py:obj:`StorageDefinition <StorageDefinition>`
|
84
83
|
"""
|
85
84
|
|
86
|
-
copies: _tp.List[StorageCopy] = _dc.field(default_factory=list)
|
85
|
+
copies: "_tp.List[StorageCopy]" = _dc.field(default_factory=list)
|
87
86
|
|
88
|
-
incarnationIndex: int = 0
|
87
|
+
incarnationIndex: "int" = 0
|
89
88
|
|
90
|
-
incarnationTimestamp: DatetimeValue = _dc.field(default_factory=lambda: DatetimeValue())
|
89
|
+
incarnationTimestamp: "DatetimeValue" = _dc.field(default_factory=lambda: DatetimeValue())
|
91
90
|
|
92
|
-
incarnationStatus: IncarnationStatus = IncarnationStatus.INCARNATION_STATUS_NOT_SET
|
91
|
+
incarnationStatus: "IncarnationStatus" = IncarnationStatus.INCARNATION_STATUS_NOT_SET
|
93
92
|
|
94
93
|
|
95
94
|
@_dc.dataclass
|
@@ -99,10 +98,10 @@ class StorageItem:
|
|
99
98
|
Define physical storage for an individual data item
|
100
99
|
|
101
100
|
.. seealso::
|
102
|
-
:
|
101
|
+
:py:obj:`StorageDefinition <StorageDefinition>`
|
103
102
|
"""
|
104
103
|
|
105
|
-
incarnations: _tp.List[StorageIncarnation] = _dc.field(default_factory=list)
|
104
|
+
incarnations: "_tp.List[StorageIncarnation]" = _dc.field(default_factory=list)
|
106
105
|
|
107
106
|
|
108
107
|
@_dc.dataclass
|
@@ -117,10 +116,10 @@ class StorageDefinition:
|
|
117
116
|
(physical file-level copies for resilience, locality etc).
|
118
117
|
|
119
118
|
.. seealso::
|
120
|
-
:
|
121
|
-
:
|
119
|
+
:py:obj:`DataDefinition <DataDefinition>`,
|
120
|
+
:py:obj:`FileDefinition <FileDefinition>`
|
122
121
|
"""
|
123
122
|
|
124
|
-
dataItems: _tp.Dict[str, StorageItem] = _dc.field(default_factory=dict)
|
123
|
+
dataItems: "_tp.Dict[str, StorageItem]" = _dc.field(default_factory=dict)
|
125
124
|
|
126
|
-
storageOptions: _tp.Dict[str, Value] = _dc.field(default_factory=dict)
|
125
|
+
storageOptions: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
|
tracdap/rt/metadata/tag.py
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from __future__ import annotations
|
4
3
|
import typing as _tp # noqa
|
5
4
|
import dataclasses as _dc # noqa
|
6
5
|
import enum as _enum # noqa
|
@@ -74,21 +73,21 @@ class Tag:
|
|
74
73
|
or an earlier version that has the sign-off attribute set.
|
75
74
|
|
76
75
|
.. seealso::
|
77
|
-
:
|
78
|
-
:
|
76
|
+
:py:obj:`TagHeader <TagHeader>`,
|
77
|
+
:py:obj:`ObjectDefinition <ObjectDefinition>`
|
79
78
|
"""
|
80
79
|
|
81
|
-
header: TagHeader = _dc.field(default_factory=lambda: TagHeader())
|
80
|
+
header: "TagHeader" = _dc.field(default_factory=lambda: TagHeader())
|
82
81
|
|
83
82
|
"""
|
84
83
|
The tag header uniquely identifies the current tag and the object it is
|
85
84
|
associated with.
|
86
85
|
|
87
86
|
.. seealso::
|
88
|
-
:
|
87
|
+
:py:obj:`TagHeader <TagHeader>`
|
89
88
|
"""
|
90
89
|
|
91
|
-
attrs: _tp.Dict[str, Value] = _dc.field(default_factory=dict)
|
90
|
+
attrs: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
|
92
91
|
|
93
92
|
"""
|
94
93
|
Tag attributes are key-value pairs where the value is a metadata Value.
|
@@ -110,10 +109,10 @@ class Tag:
|
|
110
109
|
SearchParameters for more details.
|
111
110
|
|
112
111
|
.. seealso::
|
113
|
-
:
|
112
|
+
:py:obj:`SearchParameters <SearchParameters>`
|
114
113
|
"""
|
115
114
|
|
116
|
-
definition: _tp.Optional[ObjectDefinition] = None
|
115
|
+
definition: "_tp.Optional[ObjectDefinition]" = None
|
117
116
|
|
118
117
|
"""
|
119
118
|
The object definition that the tag is associated with.
|
@@ -122,5 +121,5 @@ class Tag:
|
|
122
121
|
metadata search include only headers and attributes.
|
123
122
|
|
124
123
|
.. seealso::
|
125
|
-
:
|
124
|
+
:py:obj:`ObjectDefinition <ObjectDefinition>`
|
126
125
|
"""
|
@@ -1,6 +1,5 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from __future__ import annotations
|
4
3
|
import typing as _tp # noqa
|
5
4
|
import dataclasses as _dc # noqa
|
6
5
|
import enum as _enum # noqa
|
@@ -14,7 +13,7 @@ class TagOperation(_enum.Enum):
|
|
14
13
|
Enumeration of available TagUpdate operations.
|
15
14
|
|
16
15
|
.. seealso::
|
17
|
-
:
|
16
|
+
:py:obj:`TagUpdate <TagUpdate>`
|
18
17
|
"""
|
19
18
|
|
20
19
|
CREATE_OR_REPLACE_ATTR = 0
|
@@ -26,8 +25,8 @@ class TagOperation(_enum.Enum):
|
|
26
25
|
it will replaced using REPLACE_ATTR.
|
27
26
|
|
28
27
|
.. seealso::
|
29
|
-
:
|
30
|
-
:
|
28
|
+
:py:attr:`TagOperation.CREATE_ATTR <TagOperation.CREATE_ATTR>`,
|
29
|
+
:py:attr:`TagOperation.REPLACE_ATTR <TagOperation.REPLACE_ATTR>`
|
31
30
|
"""
|
32
31
|
|
33
32
|
CREATE_OR_APPEND_ATTR = 1
|
@@ -38,8 +37,8 @@ class TagOperation(_enum.Enum):
|
|
38
37
|
otherwise it will appended to using APPEND_ATTR.
|
39
38
|
|
40
39
|
.. seealso::
|
41
|
-
:
|
42
|
-
:
|
40
|
+
:py:attr:`TagOperation.CREATE_ATTR <TagOperation.CREATE_ATTR>`,
|
41
|
+
:py:attr:`TagOperation.APPEND_ATTR <TagOperation.APPEND_ATTR>`
|
43
42
|
"""
|
44
43
|
|
45
44
|
CREATE_ATTR = 2
|
@@ -97,19 +96,19 @@ class TagUpdate:
|
|
97
96
|
particular action.
|
98
97
|
|
99
98
|
.. seealso::
|
100
|
-
:
|
99
|
+
:py:obj:`MetadataWriteRequest <MetadataWriteRequest>`
|
101
100
|
"""
|
102
101
|
|
103
|
-
operation: TagOperation = TagOperation.CREATE_OR_REPLACE_ATTR
|
102
|
+
operation: "TagOperation" = TagOperation.CREATE_OR_REPLACE_ATTR
|
104
103
|
|
105
104
|
"""
|
106
105
|
The operation requested in this update
|
107
106
|
|
108
107
|
.. seealso::
|
109
|
-
:
|
108
|
+
:py:obj:`TagOperation <TagOperation>`
|
110
109
|
"""
|
111
110
|
|
112
|
-
attrName: str = ""
|
111
|
+
attrName: "str" = ""
|
113
112
|
|
114
113
|
"""
|
115
114
|
Name of the attribute this update refers to.
|
@@ -118,7 +117,7 @@ class TagUpdate:
|
|
118
117
|
attribute, otherwise it should be left blank.
|
119
118
|
"""
|
120
119
|
|
121
|
-
value: _tp.Optional[Value] = None
|
120
|
+
value: "_tp.Optional[Value]" = None
|
122
121
|
|
123
122
|
"""
|
124
123
|
Attribute value to use for this update.
|
@@ -127,5 +126,5 @@ class TagUpdate:
|
|
127
126
|
should be omitted.
|
128
127
|
|
129
128
|
.. seealso::
|
130
|
-
:
|
129
|
+
:py:obj:`Value <metadata.Value>`
|
131
130
|
"""
|