denkproto 1.3.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.
Files changed (56) hide show
  1. denkproto/ImageAnalysis_ProtobufMessages_pb2.py +139 -0
  2. denkproto/ImageAnalysis_ProtobufMessages_pb2.pyi +598 -0
  3. denkproto/ImageAnalysis_ProtobufMessages_pb2_grpc.py +24 -0
  4. denkproto/__about__.py +1 -0
  5. denkproto/__init__.py +0 -0
  6. denkproto/annotation_comparer_request_pb2.py +40 -0
  7. denkproto/annotation_comparer_request_pb2.pyi +38 -0
  8. denkproto/annotation_comparer_request_pb2_grpc.py +24 -0
  9. denkproto/denkcache_pb2.py +77 -0
  10. denkproto/denkcache_pb2.pyi +155 -0
  11. denkproto/denkcache_pb2_grpc.py +398 -0
  12. denkproto/geometry_pb2.py +45 -0
  13. denkproto/geometry_pb2.pyi +54 -0
  14. denkproto/geometry_pb2_grpc.py +24 -0
  15. denkproto/inference_graph_pb2.py +185 -0
  16. denkproto/inference_graph_pb2.pyi +272 -0
  17. denkproto/inference_graph_pb2_grpc.py +24 -0
  18. denkproto/json/__init__.py +3 -0
  19. denkproto/json/classification_markup_schema_.py +28 -0
  20. denkproto/json/geometry_schema.py +71 -0
  21. denkproto/json/inference_graph_recipe_schema.py +336 -0
  22. denkproto/json/instance_segmentation_markup_schema.py +35 -0
  23. denkproto/json/object_detection_markup_schema.py +43 -0
  24. denkproto/json/ocr_markup_schema.py +48 -0
  25. denkproto/json/segmentation_markup_schema.py +242 -0
  26. denkproto/markup_pb2.py +56 -0
  27. denkproto/markup_pb2.pyi +155 -0
  28. denkproto/markup_pb2_grpc.py +24 -0
  29. denkproto/materialized_markup_pb2.py +46 -0
  30. denkproto/materialized_markup_pb2.pyi +71 -0
  31. denkproto/materialized_markup_pb2_grpc.py +24 -0
  32. denkproto/modelfile_v1_pb2.py +57 -0
  33. denkproto/modelfile_v1_pb2.pyi +216 -0
  34. denkproto/modelfile_v1_pb2_grpc.py +24 -0
  35. denkproto/modelfile_v2_pb2.py +154 -0
  36. denkproto/modelfile_v2_pb2.pyi +307 -0
  37. denkproto/modelfile_v2_pb2_grpc.py +24 -0
  38. denkproto/prediction_pb2.py +48 -0
  39. denkproto/prediction_pb2.pyi +89 -0
  40. denkproto/prediction_pb2_grpc.py +24 -0
  41. denkproto/prediction_request_pb2.py +43 -0
  42. denkproto/prediction_request_pb2.pyi +56 -0
  43. denkproto/prediction_request_pb2_grpc.py +24 -0
  44. denkproto/py.typed +0 -0
  45. denkproto/request_pb2.py +51 -0
  46. denkproto/request_pb2.pyi +92 -0
  47. denkproto/request_pb2_grpc.py +24 -0
  48. denkproto/results_pb2.py +91 -0
  49. denkproto/results_pb2.pyi +528 -0
  50. denkproto/results_pb2_grpc.py +24 -0
  51. denkproto/validate_pb2.py +86 -0
  52. denkproto/validate_pb2.pyi +494 -0
  53. denkproto/validate_pb2_grpc.py +24 -0
  54. denkproto-1.3.0.dist-info/METADATA +5 -0
  55. denkproto-1.3.0.dist-info/RECORD +56 -0
  56. denkproto-1.3.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,494 @@
1
+ from google.protobuf import descriptor_pb2 as _descriptor_pb2
2
+ from google.protobuf import duration_pb2 as _duration_pb2
3
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import message as _message
8
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
9
+
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+
12
+ class KnownRegex(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
13
+ __slots__ = ()
14
+ UNKNOWN: _ClassVar[KnownRegex]
15
+ HTTP_HEADER_NAME: _ClassVar[KnownRegex]
16
+ HTTP_HEADER_VALUE: _ClassVar[KnownRegex]
17
+ UNKNOWN: KnownRegex
18
+ HTTP_HEADER_NAME: KnownRegex
19
+ HTTP_HEADER_VALUE: KnownRegex
20
+ DISABLED_FIELD_NUMBER: _ClassVar[int]
21
+ disabled: _descriptor.FieldDescriptor
22
+ IGNORED_FIELD_NUMBER: _ClassVar[int]
23
+ ignored: _descriptor.FieldDescriptor
24
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
25
+ required: _descriptor.FieldDescriptor
26
+ RULES_FIELD_NUMBER: _ClassVar[int]
27
+ rules: _descriptor.FieldDescriptor
28
+
29
+ class FieldRules(_message.Message):
30
+ __slots__ = ("message", "float", "double", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64", "bool", "string", "bytes", "enum", "repeated", "map", "any", "duration", "timestamp")
31
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
32
+ FLOAT_FIELD_NUMBER: _ClassVar[int]
33
+ DOUBLE_FIELD_NUMBER: _ClassVar[int]
34
+ INT32_FIELD_NUMBER: _ClassVar[int]
35
+ INT64_FIELD_NUMBER: _ClassVar[int]
36
+ UINT32_FIELD_NUMBER: _ClassVar[int]
37
+ UINT64_FIELD_NUMBER: _ClassVar[int]
38
+ SINT32_FIELD_NUMBER: _ClassVar[int]
39
+ SINT64_FIELD_NUMBER: _ClassVar[int]
40
+ FIXED32_FIELD_NUMBER: _ClassVar[int]
41
+ FIXED64_FIELD_NUMBER: _ClassVar[int]
42
+ SFIXED32_FIELD_NUMBER: _ClassVar[int]
43
+ SFIXED64_FIELD_NUMBER: _ClassVar[int]
44
+ BOOL_FIELD_NUMBER: _ClassVar[int]
45
+ STRING_FIELD_NUMBER: _ClassVar[int]
46
+ BYTES_FIELD_NUMBER: _ClassVar[int]
47
+ ENUM_FIELD_NUMBER: _ClassVar[int]
48
+ REPEATED_FIELD_NUMBER: _ClassVar[int]
49
+ MAP_FIELD_NUMBER: _ClassVar[int]
50
+ ANY_FIELD_NUMBER: _ClassVar[int]
51
+ DURATION_FIELD_NUMBER: _ClassVar[int]
52
+ TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
53
+ message: MessageRules
54
+ float: FloatRules
55
+ double: DoubleRules
56
+ int32: Int32Rules
57
+ int64: Int64Rules
58
+ uint32: UInt32Rules
59
+ uint64: UInt64Rules
60
+ sint32: SInt32Rules
61
+ sint64: SInt64Rules
62
+ fixed32: Fixed32Rules
63
+ fixed64: Fixed64Rules
64
+ sfixed32: SFixed32Rules
65
+ sfixed64: SFixed64Rules
66
+ bool: BoolRules
67
+ string: StringRules
68
+ bytes: BytesRules
69
+ enum: EnumRules
70
+ repeated: RepeatedRules
71
+ map: MapRules
72
+ any: AnyRules
73
+ duration: DurationRules
74
+ timestamp: TimestampRules
75
+ def __init__(self, message: _Optional[_Union[MessageRules, _Mapping]] = ..., float: _Optional[_Union[FloatRules, _Mapping]] = ..., double: _Optional[_Union[DoubleRules, _Mapping]] = ..., int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., bool: _Optional[_Union[BoolRules, _Mapping]] = ..., string: _Optional[_Union[StringRules, _Mapping]] = ..., bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., enum: _Optional[_Union[EnumRules, _Mapping]] = ..., repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., map: _Optional[_Union[MapRules, _Mapping]] = ..., any: _Optional[_Union[AnyRules, _Mapping]] = ..., duration: _Optional[_Union[DurationRules, _Mapping]] = ..., timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ...) -> None: ...
76
+
77
+ class FloatRules(_message.Message):
78
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
79
+ CONST_FIELD_NUMBER: _ClassVar[int]
80
+ LT_FIELD_NUMBER: _ClassVar[int]
81
+ LTE_FIELD_NUMBER: _ClassVar[int]
82
+ GT_FIELD_NUMBER: _ClassVar[int]
83
+ GTE_FIELD_NUMBER: _ClassVar[int]
84
+ IN_FIELD_NUMBER: _ClassVar[int]
85
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
86
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
87
+ const: float
88
+ lt: float
89
+ lte: float
90
+ gt: float
91
+ gte: float
92
+ not_in: _containers.RepeatedScalarFieldContainer[float]
93
+ ignore_empty: bool
94
+ def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
95
+
96
+ class DoubleRules(_message.Message):
97
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
98
+ CONST_FIELD_NUMBER: _ClassVar[int]
99
+ LT_FIELD_NUMBER: _ClassVar[int]
100
+ LTE_FIELD_NUMBER: _ClassVar[int]
101
+ GT_FIELD_NUMBER: _ClassVar[int]
102
+ GTE_FIELD_NUMBER: _ClassVar[int]
103
+ IN_FIELD_NUMBER: _ClassVar[int]
104
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
105
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
106
+ const: float
107
+ lt: float
108
+ lte: float
109
+ gt: float
110
+ gte: float
111
+ not_in: _containers.RepeatedScalarFieldContainer[float]
112
+ ignore_empty: bool
113
+ def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
114
+
115
+ class Int32Rules(_message.Message):
116
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
117
+ CONST_FIELD_NUMBER: _ClassVar[int]
118
+ LT_FIELD_NUMBER: _ClassVar[int]
119
+ LTE_FIELD_NUMBER: _ClassVar[int]
120
+ GT_FIELD_NUMBER: _ClassVar[int]
121
+ GTE_FIELD_NUMBER: _ClassVar[int]
122
+ IN_FIELD_NUMBER: _ClassVar[int]
123
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
124
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
125
+ const: int
126
+ lt: int
127
+ lte: int
128
+ gt: int
129
+ gte: int
130
+ not_in: _containers.RepeatedScalarFieldContainer[int]
131
+ ignore_empty: bool
132
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
133
+
134
+ class Int64Rules(_message.Message):
135
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
136
+ CONST_FIELD_NUMBER: _ClassVar[int]
137
+ LT_FIELD_NUMBER: _ClassVar[int]
138
+ LTE_FIELD_NUMBER: _ClassVar[int]
139
+ GT_FIELD_NUMBER: _ClassVar[int]
140
+ GTE_FIELD_NUMBER: _ClassVar[int]
141
+ IN_FIELD_NUMBER: _ClassVar[int]
142
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
143
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
144
+ const: int
145
+ lt: int
146
+ lte: int
147
+ gt: int
148
+ gte: int
149
+ not_in: _containers.RepeatedScalarFieldContainer[int]
150
+ ignore_empty: bool
151
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
152
+
153
+ class UInt32Rules(_message.Message):
154
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
155
+ CONST_FIELD_NUMBER: _ClassVar[int]
156
+ LT_FIELD_NUMBER: _ClassVar[int]
157
+ LTE_FIELD_NUMBER: _ClassVar[int]
158
+ GT_FIELD_NUMBER: _ClassVar[int]
159
+ GTE_FIELD_NUMBER: _ClassVar[int]
160
+ IN_FIELD_NUMBER: _ClassVar[int]
161
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
162
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
163
+ const: int
164
+ lt: int
165
+ lte: int
166
+ gt: int
167
+ gte: int
168
+ not_in: _containers.RepeatedScalarFieldContainer[int]
169
+ ignore_empty: bool
170
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
171
+
172
+ class UInt64Rules(_message.Message):
173
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
174
+ CONST_FIELD_NUMBER: _ClassVar[int]
175
+ LT_FIELD_NUMBER: _ClassVar[int]
176
+ LTE_FIELD_NUMBER: _ClassVar[int]
177
+ GT_FIELD_NUMBER: _ClassVar[int]
178
+ GTE_FIELD_NUMBER: _ClassVar[int]
179
+ IN_FIELD_NUMBER: _ClassVar[int]
180
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
181
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
182
+ const: int
183
+ lt: int
184
+ lte: int
185
+ gt: int
186
+ gte: int
187
+ not_in: _containers.RepeatedScalarFieldContainer[int]
188
+ ignore_empty: bool
189
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
190
+
191
+ class SInt32Rules(_message.Message):
192
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
193
+ CONST_FIELD_NUMBER: _ClassVar[int]
194
+ LT_FIELD_NUMBER: _ClassVar[int]
195
+ LTE_FIELD_NUMBER: _ClassVar[int]
196
+ GT_FIELD_NUMBER: _ClassVar[int]
197
+ GTE_FIELD_NUMBER: _ClassVar[int]
198
+ IN_FIELD_NUMBER: _ClassVar[int]
199
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
200
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
201
+ const: int
202
+ lt: int
203
+ lte: int
204
+ gt: int
205
+ gte: int
206
+ not_in: _containers.RepeatedScalarFieldContainer[int]
207
+ ignore_empty: bool
208
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
209
+
210
+ class SInt64Rules(_message.Message):
211
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
212
+ CONST_FIELD_NUMBER: _ClassVar[int]
213
+ LT_FIELD_NUMBER: _ClassVar[int]
214
+ LTE_FIELD_NUMBER: _ClassVar[int]
215
+ GT_FIELD_NUMBER: _ClassVar[int]
216
+ GTE_FIELD_NUMBER: _ClassVar[int]
217
+ IN_FIELD_NUMBER: _ClassVar[int]
218
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
219
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
220
+ const: int
221
+ lt: int
222
+ lte: int
223
+ gt: int
224
+ gte: int
225
+ not_in: _containers.RepeatedScalarFieldContainer[int]
226
+ ignore_empty: bool
227
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
228
+
229
+ class Fixed32Rules(_message.Message):
230
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
231
+ CONST_FIELD_NUMBER: _ClassVar[int]
232
+ LT_FIELD_NUMBER: _ClassVar[int]
233
+ LTE_FIELD_NUMBER: _ClassVar[int]
234
+ GT_FIELD_NUMBER: _ClassVar[int]
235
+ GTE_FIELD_NUMBER: _ClassVar[int]
236
+ IN_FIELD_NUMBER: _ClassVar[int]
237
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
238
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
239
+ const: int
240
+ lt: int
241
+ lte: int
242
+ gt: int
243
+ gte: int
244
+ not_in: _containers.RepeatedScalarFieldContainer[int]
245
+ ignore_empty: bool
246
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
247
+
248
+ class Fixed64Rules(_message.Message):
249
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
250
+ CONST_FIELD_NUMBER: _ClassVar[int]
251
+ LT_FIELD_NUMBER: _ClassVar[int]
252
+ LTE_FIELD_NUMBER: _ClassVar[int]
253
+ GT_FIELD_NUMBER: _ClassVar[int]
254
+ GTE_FIELD_NUMBER: _ClassVar[int]
255
+ IN_FIELD_NUMBER: _ClassVar[int]
256
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
257
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
258
+ const: int
259
+ lt: int
260
+ lte: int
261
+ gt: int
262
+ gte: int
263
+ not_in: _containers.RepeatedScalarFieldContainer[int]
264
+ ignore_empty: bool
265
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
266
+
267
+ class SFixed32Rules(_message.Message):
268
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
269
+ CONST_FIELD_NUMBER: _ClassVar[int]
270
+ LT_FIELD_NUMBER: _ClassVar[int]
271
+ LTE_FIELD_NUMBER: _ClassVar[int]
272
+ GT_FIELD_NUMBER: _ClassVar[int]
273
+ GTE_FIELD_NUMBER: _ClassVar[int]
274
+ IN_FIELD_NUMBER: _ClassVar[int]
275
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
276
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
277
+ const: int
278
+ lt: int
279
+ lte: int
280
+ gt: int
281
+ gte: int
282
+ not_in: _containers.RepeatedScalarFieldContainer[int]
283
+ ignore_empty: bool
284
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
285
+
286
+ class SFixed64Rules(_message.Message):
287
+ __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "ignore_empty")
288
+ CONST_FIELD_NUMBER: _ClassVar[int]
289
+ LT_FIELD_NUMBER: _ClassVar[int]
290
+ LTE_FIELD_NUMBER: _ClassVar[int]
291
+ GT_FIELD_NUMBER: _ClassVar[int]
292
+ GTE_FIELD_NUMBER: _ClassVar[int]
293
+ IN_FIELD_NUMBER: _ClassVar[int]
294
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
295
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
296
+ const: int
297
+ lt: int
298
+ lte: int
299
+ gt: int
300
+ gte: int
301
+ not_in: _containers.RepeatedScalarFieldContainer[int]
302
+ ignore_empty: bool
303
+ def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
304
+
305
+ class BoolRules(_message.Message):
306
+ __slots__ = ("const",)
307
+ CONST_FIELD_NUMBER: _ClassVar[int]
308
+ const: bool
309
+ def __init__(self, const: bool = ...) -> None: ...
310
+
311
+ class StringRules(_message.Message):
312
+ __slots__ = ("const", "len", "min_len", "max_len", "len_bytes", "min_bytes", "max_bytes", "pattern", "prefix", "suffix", "contains", "not_contains", "not_in", "email", "hostname", "ip", "ipv4", "ipv6", "uri", "uri_ref", "address", "uuid", "well_known_regex", "strict", "ignore_empty")
313
+ CONST_FIELD_NUMBER: _ClassVar[int]
314
+ LEN_FIELD_NUMBER: _ClassVar[int]
315
+ MIN_LEN_FIELD_NUMBER: _ClassVar[int]
316
+ MAX_LEN_FIELD_NUMBER: _ClassVar[int]
317
+ LEN_BYTES_FIELD_NUMBER: _ClassVar[int]
318
+ MIN_BYTES_FIELD_NUMBER: _ClassVar[int]
319
+ MAX_BYTES_FIELD_NUMBER: _ClassVar[int]
320
+ PATTERN_FIELD_NUMBER: _ClassVar[int]
321
+ PREFIX_FIELD_NUMBER: _ClassVar[int]
322
+ SUFFIX_FIELD_NUMBER: _ClassVar[int]
323
+ CONTAINS_FIELD_NUMBER: _ClassVar[int]
324
+ NOT_CONTAINS_FIELD_NUMBER: _ClassVar[int]
325
+ IN_FIELD_NUMBER: _ClassVar[int]
326
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
327
+ EMAIL_FIELD_NUMBER: _ClassVar[int]
328
+ HOSTNAME_FIELD_NUMBER: _ClassVar[int]
329
+ IP_FIELD_NUMBER: _ClassVar[int]
330
+ IPV4_FIELD_NUMBER: _ClassVar[int]
331
+ IPV6_FIELD_NUMBER: _ClassVar[int]
332
+ URI_FIELD_NUMBER: _ClassVar[int]
333
+ URI_REF_FIELD_NUMBER: _ClassVar[int]
334
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
335
+ UUID_FIELD_NUMBER: _ClassVar[int]
336
+ WELL_KNOWN_REGEX_FIELD_NUMBER: _ClassVar[int]
337
+ STRICT_FIELD_NUMBER: _ClassVar[int]
338
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
339
+ const: str
340
+ len: int
341
+ min_len: int
342
+ max_len: int
343
+ len_bytes: int
344
+ min_bytes: int
345
+ max_bytes: int
346
+ pattern: str
347
+ prefix: str
348
+ suffix: str
349
+ contains: str
350
+ not_contains: str
351
+ not_in: _containers.RepeatedScalarFieldContainer[str]
352
+ email: bool
353
+ hostname: bool
354
+ ip: bool
355
+ ipv4: bool
356
+ ipv6: bool
357
+ uri: bool
358
+ uri_ref: bool
359
+ address: bool
360
+ uuid: bool
361
+ well_known_regex: KnownRegex
362
+ strict: bool
363
+ ignore_empty: bool
364
+ def __init__(self, const: _Optional[str] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., len_bytes: _Optional[int] = ..., min_bytes: _Optional[int] = ..., max_bytes: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[str] = ..., suffix: _Optional[str] = ..., contains: _Optional[str] = ..., not_contains: _Optional[str] = ..., not_in: _Optional[_Iterable[str]] = ..., email: bool = ..., hostname: bool = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., uri: bool = ..., uri_ref: bool = ..., address: bool = ..., uuid: bool = ..., well_known_regex: _Optional[_Union[KnownRegex, str]] = ..., strict: bool = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
365
+
366
+ class BytesRules(_message.Message):
367
+ __slots__ = ("const", "len", "min_len", "max_len", "pattern", "prefix", "suffix", "contains", "not_in", "ip", "ipv4", "ipv6", "ignore_empty")
368
+ CONST_FIELD_NUMBER: _ClassVar[int]
369
+ LEN_FIELD_NUMBER: _ClassVar[int]
370
+ MIN_LEN_FIELD_NUMBER: _ClassVar[int]
371
+ MAX_LEN_FIELD_NUMBER: _ClassVar[int]
372
+ PATTERN_FIELD_NUMBER: _ClassVar[int]
373
+ PREFIX_FIELD_NUMBER: _ClassVar[int]
374
+ SUFFIX_FIELD_NUMBER: _ClassVar[int]
375
+ CONTAINS_FIELD_NUMBER: _ClassVar[int]
376
+ IN_FIELD_NUMBER: _ClassVar[int]
377
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
378
+ IP_FIELD_NUMBER: _ClassVar[int]
379
+ IPV4_FIELD_NUMBER: _ClassVar[int]
380
+ IPV6_FIELD_NUMBER: _ClassVar[int]
381
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
382
+ const: bytes
383
+ len: int
384
+ min_len: int
385
+ max_len: int
386
+ pattern: str
387
+ prefix: bytes
388
+ suffix: bytes
389
+ contains: bytes
390
+ not_in: _containers.RepeatedScalarFieldContainer[bytes]
391
+ ip: bool
392
+ ipv4: bool
393
+ ipv6: bool
394
+ ignore_empty: bool
395
+ def __init__(self, const: _Optional[bytes] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[bytes] = ..., suffix: _Optional[bytes] = ..., contains: _Optional[bytes] = ..., not_in: _Optional[_Iterable[bytes]] = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., ignore_empty: bool = ..., **kwargs) -> None: ...
396
+
397
+ class EnumRules(_message.Message):
398
+ __slots__ = ("const", "defined_only", "not_in")
399
+ CONST_FIELD_NUMBER: _ClassVar[int]
400
+ DEFINED_ONLY_FIELD_NUMBER: _ClassVar[int]
401
+ IN_FIELD_NUMBER: _ClassVar[int]
402
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
403
+ const: int
404
+ defined_only: bool
405
+ not_in: _containers.RepeatedScalarFieldContainer[int]
406
+ def __init__(self, const: _Optional[int] = ..., defined_only: bool = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ...
407
+
408
+ class MessageRules(_message.Message):
409
+ __slots__ = ("skip", "required")
410
+ SKIP_FIELD_NUMBER: _ClassVar[int]
411
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
412
+ skip: bool
413
+ required: bool
414
+ def __init__(self, skip: bool = ..., required: bool = ...) -> None: ...
415
+
416
+ class RepeatedRules(_message.Message):
417
+ __slots__ = ("min_items", "max_items", "unique", "items", "ignore_empty")
418
+ MIN_ITEMS_FIELD_NUMBER: _ClassVar[int]
419
+ MAX_ITEMS_FIELD_NUMBER: _ClassVar[int]
420
+ UNIQUE_FIELD_NUMBER: _ClassVar[int]
421
+ ITEMS_FIELD_NUMBER: _ClassVar[int]
422
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
423
+ min_items: int
424
+ max_items: int
425
+ unique: bool
426
+ items: FieldRules
427
+ ignore_empty: bool
428
+ def __init__(self, min_items: _Optional[int] = ..., max_items: _Optional[int] = ..., unique: bool = ..., items: _Optional[_Union[FieldRules, _Mapping]] = ..., ignore_empty: bool = ...) -> None: ...
429
+
430
+ class MapRules(_message.Message):
431
+ __slots__ = ("min_pairs", "max_pairs", "no_sparse", "keys", "values", "ignore_empty")
432
+ MIN_PAIRS_FIELD_NUMBER: _ClassVar[int]
433
+ MAX_PAIRS_FIELD_NUMBER: _ClassVar[int]
434
+ NO_SPARSE_FIELD_NUMBER: _ClassVar[int]
435
+ KEYS_FIELD_NUMBER: _ClassVar[int]
436
+ VALUES_FIELD_NUMBER: _ClassVar[int]
437
+ IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int]
438
+ min_pairs: int
439
+ max_pairs: int
440
+ no_sparse: bool
441
+ keys: FieldRules
442
+ values: FieldRules
443
+ ignore_empty: bool
444
+ def __init__(self, min_pairs: _Optional[int] = ..., max_pairs: _Optional[int] = ..., no_sparse: bool = ..., keys: _Optional[_Union[FieldRules, _Mapping]] = ..., values: _Optional[_Union[FieldRules, _Mapping]] = ..., ignore_empty: bool = ...) -> None: ...
445
+
446
+ class AnyRules(_message.Message):
447
+ __slots__ = ("required", "not_in")
448
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
449
+ IN_FIELD_NUMBER: _ClassVar[int]
450
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
451
+ required: bool
452
+ not_in: _containers.RepeatedScalarFieldContainer[str]
453
+ def __init__(self, required: bool = ..., not_in: _Optional[_Iterable[str]] = ..., **kwargs) -> None: ...
454
+
455
+ class DurationRules(_message.Message):
456
+ __slots__ = ("required", "const", "lt", "lte", "gt", "gte", "not_in")
457
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
458
+ CONST_FIELD_NUMBER: _ClassVar[int]
459
+ LT_FIELD_NUMBER: _ClassVar[int]
460
+ LTE_FIELD_NUMBER: _ClassVar[int]
461
+ GT_FIELD_NUMBER: _ClassVar[int]
462
+ GTE_FIELD_NUMBER: _ClassVar[int]
463
+ IN_FIELD_NUMBER: _ClassVar[int]
464
+ NOT_IN_FIELD_NUMBER: _ClassVar[int]
465
+ required: bool
466
+ const: _duration_pb2.Duration
467
+ lt: _duration_pb2.Duration
468
+ lte: _duration_pb2.Duration
469
+ gt: _duration_pb2.Duration
470
+ gte: _duration_pb2.Duration
471
+ not_in: _containers.RepeatedCompositeFieldContainer[_duration_pb2.Duration]
472
+ def __init__(self, required: bool = ..., const: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., not_in: _Optional[_Iterable[_Union[_duration_pb2.Duration, _Mapping]]] = ..., **kwargs) -> None: ...
473
+
474
+ class TimestampRules(_message.Message):
475
+ __slots__ = ("required", "const", "lt", "lte", "gt", "gte", "lt_now", "gt_now", "within")
476
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
477
+ CONST_FIELD_NUMBER: _ClassVar[int]
478
+ LT_FIELD_NUMBER: _ClassVar[int]
479
+ LTE_FIELD_NUMBER: _ClassVar[int]
480
+ GT_FIELD_NUMBER: _ClassVar[int]
481
+ GTE_FIELD_NUMBER: _ClassVar[int]
482
+ LT_NOW_FIELD_NUMBER: _ClassVar[int]
483
+ GT_NOW_FIELD_NUMBER: _ClassVar[int]
484
+ WITHIN_FIELD_NUMBER: _ClassVar[int]
485
+ required: bool
486
+ const: _timestamp_pb2.Timestamp
487
+ lt: _timestamp_pb2.Timestamp
488
+ lte: _timestamp_pb2.Timestamp
489
+ gt: _timestamp_pb2.Timestamp
490
+ gte: _timestamp_pb2.Timestamp
491
+ lt_now: bool
492
+ gt_now: bool
493
+ within: _duration_pb2.Duration
494
+ def __init__(self, required: bool = ..., const: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt_now: bool = ..., gt_now: bool = ..., within: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,24 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+
7
+ GRPC_GENERATED_VERSION = '1.68.0'
8
+ GRPC_VERSION = grpc.__version__
9
+ _version_not_supported = False
10
+
11
+ try:
12
+ from grpc._utilities import first_version_is_lower
13
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
+ except ImportError:
15
+ _version_not_supported = True
16
+
17
+ if _version_not_supported:
18
+ raise RuntimeError(
19
+ f'The grpc package installed is at version {GRPC_VERSION},'
20
+ + f' but the generated code in validate_pb2_grpc.py depends on'
21
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
+ )
@@ -0,0 +1,5 @@
1
+ Metadata-Version: 2.3
2
+ Name: denkproto
3
+ Version: 1.3.0
4
+ Requires-Python: >=3.10
5
+ Requires-Dist: protobuf>=3.20.3
@@ -0,0 +1,56 @@
1
+ denkproto/ImageAnalysis_ProtobufMessages_pb2.py,sha256=iEY0j9ySGUThnqTdYD4uAVr9P3GiC5R02iK53zEOXUQ,21015
2
+ denkproto/ImageAnalysis_ProtobufMessages_pb2.pyi,sha256=5LFtxrmYpJHizDDNGFTkL7-NQ_TkwqCSdq7vcv3lg-c,36243
3
+ denkproto/ImageAnalysis_ProtobufMessages_pb2_grpc.py,sha256=l3agtDjgu4jay6P9TRnHhyhJ-7UdoII27ywhw3k84oo,911
4
+ denkproto/__about__.py,sha256=F5mW07pSyGrqDNY2Ehr-UpDzpBtN-FsYU0QGZWf6PJE,22
5
+ denkproto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ denkproto/annotation_comparer_request_pb2.py,sha256=mUqQsKfjCxMr_EjaoOQUZZzm1QsXfe_vGLma0g2kXyU,2509
7
+ denkproto/annotation_comparer_request_pb2.pyi,sha256=pFystZgKlzaU-qHly8ItoMqhM-p2Z0DDpr8gIaxZWH8,2020
8
+ denkproto/annotation_comparer_request_pb2_grpc.py,sha256=Ydbh9V3CWNbQKDH-Z0WonMefWVM7bSWlsWAwazTwNFk,908
9
+ denkproto/denkcache_pb2.py,sha256=u0O26m7t4kfu4R1nx1ZcTst4n6pG32pMbhl2PGYivXE,7161
10
+ denkproto/denkcache_pb2.pyi,sha256=8K_Ebyy4mgXrxqJenN8f8LXLvVKOiaZxhmGeYjFZVpY,6357
11
+ denkproto/denkcache_pb2_grpc.py,sha256=N1y4ZQ58UPaUlOZIpznzAbJJcs9G_n-FmzFoPPeu8UA,15610
12
+ denkproto/geometry_pb2.py,sha256=agC9uC9mTbv5wvBHEpkpJ6jfh-8URPGLnzI6YvVYy7I,2564
13
+ denkproto/geometry_pb2.pyi,sha256=x7XGshIwXRzsw6YtSWA66_JJz3mkHGoQILyQbwyhzLA,2365
14
+ denkproto/geometry_pb2_grpc.py,sha256=FYiB6J3cpx-xy4jfA3YgRvdZlClrUd6wGQWFPa7MvmY,889
15
+ denkproto/inference_graph_pb2.py,sha256=XcGJ1Dbyee1yZdEsDB6ohzQOHMDhRr1i3Hv_W-wFDO4,24963
16
+ denkproto/inference_graph_pb2.pyi,sha256=Hmgq3kiBkOG-1CCUrazKrKXH_-jbiDEoUlqjXRXsk-M,15688
17
+ denkproto/inference_graph_pb2_grpc.py,sha256=aXPf0w7pIfspkKUKGCr--OtJMOaTfE8IbeuBm10g1Xg,896
18
+ denkproto/markup_pb2.py,sha256=tVC83nPBqUE7KP2hs3-EWA5-9r5AS-WIoZTKoMWABII,5575
19
+ denkproto/markup_pb2.pyi,sha256=2vZ1-aBupARpwtqWCnm7x62VkyrlKHVgGJZtFILNqhI,8641
20
+ denkproto/markup_pb2_grpc.py,sha256=XGglOlM-qKvwO-oRC6DstUj0XbTtwu4qaaW_KYin6e8,887
21
+ denkproto/materialized_markup_pb2.py,sha256=-cUw1MBbVDuMwdBaGYd6WEWLAVF71ljNdiBo9qlzkGw,3440
22
+ denkproto/materialized_markup_pb2.pyi,sha256=xw98r14_sbFbrhddp7TcwtB8CxST_jaQJMibncxnGGY,3947
23
+ denkproto/materialized_markup_pb2_grpc.py,sha256=Wa8ghGw4z1nw0tb3kd7YTe9zIu-O5GUOq_ceqdapBrA,900
24
+ denkproto/modelfile_v1_pb2.py,sha256=ulF24nSIspn46DnQKlvR5Po3w-vFCnawuuverAVi3cY,6573
25
+ denkproto/modelfile_v1_pb2.pyi,sha256=gjTbWvg48wqGhyJb5CT0pw3yUZGhO_lSZgL7Ia2aPbY,10685
26
+ denkproto/modelfile_v1_pb2_grpc.py,sha256=ov5B2o4JSYbAfcbbdZr55wEzfGlKI02H-tkvXGXqJVg,893
27
+ denkproto/modelfile_v2_pb2.py,sha256=s_J1IKxX440vMzdntirHVQ_Y-uZ0RHGQmzovHaNq66Q,20711
28
+ denkproto/modelfile_v2_pb2.pyi,sha256=eCtSEiYpey8Al3dlwJ0Ww3hzaWeba8rTnvFeWlyJ-Sc,21018
29
+ denkproto/modelfile_v2_pb2_grpc.py,sha256=xiC5FeyZDWcucC3uRJ4kllDJmaRayvrzOKIhvg6o1Tc,893
30
+ denkproto/prediction_pb2.py,sha256=Zwh3dqnEaT5KYd2ej7-R_S76r5MNH_3P6QDKFNwRms0,3816
31
+ denkproto/prediction_pb2.pyi,sha256=opSByUXFGTiwOKAVMq_GQbkbWDhpy7e4QzXNsVuhch0,5093
32
+ denkproto/prediction_pb2_grpc.py,sha256=m6I1Vh32OO1_Y5cbdHvRHPeb33f9kCPeK_iN5n7s8bc,891
33
+ denkproto/prediction_request_pb2.py,sha256=6ojzH9U9nnBG-m-S-4eXbdgvkswt6xWWNbC-pmuW0k0,2889
34
+ denkproto/prediction_request_pb2.pyi,sha256=OliYB3pTk-28h332_KLFAtq19L7e_qai09zRC2D5qMk,3128
35
+ denkproto/prediction_request_pb2_grpc.py,sha256=Q9-PS4K5wt2_H4KCP2Fqxhb4zuFefCGuenLHEgfrvhU,899
36
+ denkproto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ denkproto/request_pb2.py,sha256=cARaiBGCIw_N8R9yrSWaM6MX1pUozMITAHUiuPDc2os,3658
38
+ denkproto/request_pb2.pyi,sha256=rJ0N77aR6LZb40KIhLsQcXf8LZBylfFKLG82Zj6QO7Y,4537
39
+ denkproto/request_pb2_grpc.py,sha256=I0OS1mbtmI86hE-jVK_gnxm1drSXlPVYY9Hdwda_Ce4,888
40
+ denkproto/results_pb2.py,sha256=rBZ4HIHgdKHdASDbF8mTmZ0_xi1ffq3YJ2g_cvzIlhk,14109
41
+ denkproto/results_pb2.pyi,sha256=8l1v1QenLzWlYnQtnCBqzXMMHUagOTalq9xJKfK6FKo,26711
42
+ denkproto/results_pb2_grpc.py,sha256=z-4qcDMjjuPRy7lDtECTtReByVEyz3fjIPES9dMlO58,888
43
+ denkproto/validate_pb2.py,sha256=CuGAaHir9X9jniW3QsRKAESjYzoS2U6dLk_J55XmNqU,13619
44
+ denkproto/validate_pb2.pyi,sha256=fWsdVOR3NJDioCKkCKfxfl4qaEb5xqXXU_WlEbdQx6E,23077
45
+ denkproto/validate_pb2_grpc.py,sha256=XvjuWEgJFJtH1E7HWm7SKpV10PMpOSbonKa2VPHpYy8,889
46
+ denkproto/json/__init__.py,sha256=yRVSoYyViGQeyc-Eq-NpvoG9TO8pVkFz8lnTeqL_SMs,102
47
+ denkproto/json/classification_markup_schema_.py,sha256=igkAkOfh-MJ4fDSmaQshmHC2T2u5sU-k_5O3x-ZgnuM,654
48
+ denkproto/json/geometry_schema.py,sha256=Ct7xXt8D2AN_IivQc9oOx1_dRbyV8-sMU9Za0H5pyNE,1975
49
+ denkproto/json/inference_graph_recipe_schema.py,sha256=_zcCXBB4WvhszgtYMh23Dvg0IurfUMUOkKfdotLYz9A,9790
50
+ denkproto/json/instance_segmentation_markup_schema.py,sha256=YyqN1J6QxATl9TOk63Nlw_YR-hjjuylSkOzBINJKq4w,983
51
+ denkproto/json/object_detection_markup_schema.py,sha256=KucESHnZ0spKOcU-kZmsf9rkdeFaLx9e5GLIFDpFr5o,1154
52
+ denkproto/json/ocr_markup_schema.py,sha256=Zgo7PcB2jBk4pUBFBvxijo-QzvEhvMrNAFZNUCqBYRI,1176
53
+ denkproto/json/segmentation_markup_schema.py,sha256=zUFjv1liLAGi1uaA3A6m3f4E_wozuvEdkzXsLRsDaj4,7856
54
+ denkproto-1.3.0.dist-info/METADATA,sha256=3lACaiW5yz2whtU5MQRsImhTqq_hcmRfiE6Bqje1GjQ,109
55
+ denkproto-1.3.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
56
+ denkproto-1.3.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.25.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any