awx-zipline-ai 0.2.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 (93) hide show
  1. agent/__init__.py +1 -0
  2. agent/constants.py +15 -0
  3. agent/ttypes.py +1684 -0
  4. ai/__init__.py +0 -0
  5. ai/chronon/__init__.py +0 -0
  6. ai/chronon/airflow_helpers.py +251 -0
  7. ai/chronon/api/__init__.py +1 -0
  8. ai/chronon/api/common/__init__.py +1 -0
  9. ai/chronon/api/common/constants.py +15 -0
  10. ai/chronon/api/common/ttypes.py +1844 -0
  11. ai/chronon/api/constants.py +15 -0
  12. ai/chronon/api/ttypes.py +3624 -0
  13. ai/chronon/cli/compile/column_hashing.py +313 -0
  14. ai/chronon/cli/compile/compile_context.py +177 -0
  15. ai/chronon/cli/compile/compiler.py +160 -0
  16. ai/chronon/cli/compile/conf_validator.py +590 -0
  17. ai/chronon/cli/compile/display/class_tracker.py +112 -0
  18. ai/chronon/cli/compile/display/compile_status.py +95 -0
  19. ai/chronon/cli/compile/display/compiled_obj.py +12 -0
  20. ai/chronon/cli/compile/display/console.py +3 -0
  21. ai/chronon/cli/compile/display/diff_result.py +46 -0
  22. ai/chronon/cli/compile/fill_templates.py +40 -0
  23. ai/chronon/cli/compile/parse_configs.py +141 -0
  24. ai/chronon/cli/compile/parse_teams.py +238 -0
  25. ai/chronon/cli/compile/serializer.py +115 -0
  26. ai/chronon/cli/git_utils.py +156 -0
  27. ai/chronon/cli/logger.py +61 -0
  28. ai/chronon/constants.py +3 -0
  29. ai/chronon/eval/__init__.py +122 -0
  30. ai/chronon/eval/query_parsing.py +19 -0
  31. ai/chronon/eval/sample_tables.py +100 -0
  32. ai/chronon/eval/table_scan.py +186 -0
  33. ai/chronon/fetcher/__init__.py +1 -0
  34. ai/chronon/fetcher/constants.py +15 -0
  35. ai/chronon/fetcher/ttypes.py +127 -0
  36. ai/chronon/group_by.py +692 -0
  37. ai/chronon/hub/__init__.py +1 -0
  38. ai/chronon/hub/constants.py +15 -0
  39. ai/chronon/hub/ttypes.py +1228 -0
  40. ai/chronon/join.py +566 -0
  41. ai/chronon/logger.py +24 -0
  42. ai/chronon/model.py +35 -0
  43. ai/chronon/observability/__init__.py +1 -0
  44. ai/chronon/observability/constants.py +15 -0
  45. ai/chronon/observability/ttypes.py +2192 -0
  46. ai/chronon/orchestration/__init__.py +1 -0
  47. ai/chronon/orchestration/constants.py +15 -0
  48. ai/chronon/orchestration/ttypes.py +4406 -0
  49. ai/chronon/planner/__init__.py +1 -0
  50. ai/chronon/planner/constants.py +15 -0
  51. ai/chronon/planner/ttypes.py +1686 -0
  52. ai/chronon/query.py +126 -0
  53. ai/chronon/repo/__init__.py +40 -0
  54. ai/chronon/repo/aws.py +298 -0
  55. ai/chronon/repo/cluster.py +65 -0
  56. ai/chronon/repo/compile.py +56 -0
  57. ai/chronon/repo/constants.py +164 -0
  58. ai/chronon/repo/default_runner.py +291 -0
  59. ai/chronon/repo/explore.py +421 -0
  60. ai/chronon/repo/extract_objects.py +137 -0
  61. ai/chronon/repo/gcp.py +585 -0
  62. ai/chronon/repo/gitpython_utils.py +14 -0
  63. ai/chronon/repo/hub_runner.py +171 -0
  64. ai/chronon/repo/hub_uploader.py +108 -0
  65. ai/chronon/repo/init.py +53 -0
  66. ai/chronon/repo/join_backfill.py +105 -0
  67. ai/chronon/repo/run.py +293 -0
  68. ai/chronon/repo/serializer.py +141 -0
  69. ai/chronon/repo/team_json_utils.py +46 -0
  70. ai/chronon/repo/utils.py +472 -0
  71. ai/chronon/repo/zipline.py +51 -0
  72. ai/chronon/repo/zipline_hub.py +105 -0
  73. ai/chronon/resources/gcp/README.md +174 -0
  74. ai/chronon/resources/gcp/group_bys/test/__init__.py +0 -0
  75. ai/chronon/resources/gcp/group_bys/test/data.py +34 -0
  76. ai/chronon/resources/gcp/joins/test/__init__.py +0 -0
  77. ai/chronon/resources/gcp/joins/test/data.py +30 -0
  78. ai/chronon/resources/gcp/sources/test/__init__.py +0 -0
  79. ai/chronon/resources/gcp/sources/test/data.py +23 -0
  80. ai/chronon/resources/gcp/teams.py +70 -0
  81. ai/chronon/resources/gcp/zipline-cli-install.sh +54 -0
  82. ai/chronon/source.py +88 -0
  83. ai/chronon/staging_query.py +185 -0
  84. ai/chronon/types.py +57 -0
  85. ai/chronon/utils.py +557 -0
  86. ai/chronon/windows.py +50 -0
  87. awx_zipline_ai-0.2.0.dist-info/METADATA +173 -0
  88. awx_zipline_ai-0.2.0.dist-info/RECORD +93 -0
  89. awx_zipline_ai-0.2.0.dist-info/WHEEL +5 -0
  90. awx_zipline_ai-0.2.0.dist-info/entry_points.txt +2 -0
  91. awx_zipline_ai-0.2.0.dist-info/licenses/LICENSE +202 -0
  92. awx_zipline_ai-0.2.0.dist-info/top_level.txt +3 -0
  93. jars/__init__.py +0 -0
@@ -0,0 +1,1228 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.22.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+ # options string: py
7
+ #
8
+
9
+ from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
10
+ from thrift.protocol.TProtocol import TProtocolException
11
+ from thrift.TRecursive import fix_spec
12
+ from uuid import UUID
13
+
14
+ import sys
15
+ import ai.chronon.api.common.ttypes
16
+ import ai.chronon.api.ttypes
17
+ import ai.chronon.orchestration.ttypes
18
+
19
+ from thrift.transport import TTransport
20
+ all_structs = []
21
+
22
+
23
+ class Direction(object):
24
+ UPSTREAM = 0
25
+ DOWNSTREAM = 1
26
+ BOTH = 2
27
+
28
+ _VALUES_TO_NAMES = {
29
+ 0: "UPSTREAM",
30
+ 1: "DOWNSTREAM",
31
+ 2: "BOTH",
32
+ }
33
+
34
+ _NAMES_TO_VALUES = {
35
+ "UPSTREAM": 0,
36
+ "DOWNSTREAM": 1,
37
+ "BOTH": 2,
38
+ }
39
+
40
+
41
+ class Mode(object):
42
+ ADHOC = 0
43
+ SCHEDULED = 1
44
+
45
+ _VALUES_TO_NAMES = {
46
+ 0: "ADHOC",
47
+ 1: "SCHEDULED",
48
+ }
49
+
50
+ _NAMES_TO_VALUES = {
51
+ "ADHOC": 0,
52
+ "SCHEDULED": 1,
53
+ }
54
+
55
+
56
+ class Status(object):
57
+ WAITING_FOR_UPSTREAM = 0
58
+ WAITING_FOR_RESOURCES = 1
59
+ QUEUED = 2
60
+ RUNNING = 3
61
+ SUCCESS = 4
62
+ FAILED = 5
63
+ UPSTREAM_FAILED = 6
64
+ UPSTREAM_MISSING = 7
65
+
66
+ _VALUES_TO_NAMES = {
67
+ 0: "WAITING_FOR_UPSTREAM",
68
+ 1: "WAITING_FOR_RESOURCES",
69
+ 2: "QUEUED",
70
+ 3: "RUNNING",
71
+ 4: "SUCCESS",
72
+ 5: "FAILED",
73
+ 6: "UPSTREAM_FAILED",
74
+ 7: "UPSTREAM_MISSING",
75
+ }
76
+
77
+ _NAMES_TO_VALUES = {
78
+ "WAITING_FOR_UPSTREAM": 0,
79
+ "WAITING_FOR_RESOURCES": 1,
80
+ "QUEUED": 2,
81
+ "RUNNING": 3,
82
+ "SUCCESS": 4,
83
+ "FAILED": 5,
84
+ "UPSTREAM_FAILED": 6,
85
+ "UPSTREAM_MISSING": 7,
86
+ }
87
+
88
+
89
+ class LineageRequest(object):
90
+ """
91
+ Attributes:
92
+ - name
93
+ - type
94
+ - branch
95
+ - direction
96
+
97
+ """
98
+ thrift_spec = None
99
+
100
+
101
+ def __init__(self, name = None, type = None, branch = None, direction = None,):
102
+ self.name = name
103
+ self.type = type
104
+ self.branch = branch
105
+ self.direction = direction
106
+
107
+ def read(self, iprot):
108
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
109
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
110
+ return
111
+ iprot.readStructBegin()
112
+ while True:
113
+ (fname, ftype, fid) = iprot.readFieldBegin()
114
+ if ftype == TType.STOP:
115
+ break
116
+ if fid == 1:
117
+ if ftype == TType.STRING:
118
+ self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
119
+ else:
120
+ iprot.skip(ftype)
121
+ elif fid == 2:
122
+ if ftype == TType.STRING:
123
+ self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
124
+ else:
125
+ iprot.skip(ftype)
126
+ elif fid == 3:
127
+ if ftype == TType.STRING:
128
+ self.branch = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
129
+ else:
130
+ iprot.skip(ftype)
131
+ elif fid == 4:
132
+ if ftype == TType.I32:
133
+ self.direction = iprot.readI32()
134
+ else:
135
+ iprot.skip(ftype)
136
+ else:
137
+ iprot.skip(ftype)
138
+ iprot.readFieldEnd()
139
+ iprot.readStructEnd()
140
+
141
+ def write(self, oprot):
142
+ self.validate()
143
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
144
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
145
+ return
146
+ oprot.writeStructBegin('LineageRequest')
147
+ if self.name is not None:
148
+ oprot.writeFieldBegin('name', TType.STRING, 1)
149
+ oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
150
+ oprot.writeFieldEnd()
151
+ if self.type is not None:
152
+ oprot.writeFieldBegin('type', TType.STRING, 2)
153
+ oprot.writeString(self.type.encode('utf-8') if sys.version_info[0] == 2 else self.type)
154
+ oprot.writeFieldEnd()
155
+ if self.branch is not None:
156
+ oprot.writeFieldBegin('branch', TType.STRING, 3)
157
+ oprot.writeString(self.branch.encode('utf-8') if sys.version_info[0] == 2 else self.branch)
158
+ oprot.writeFieldEnd()
159
+ if self.direction is not None:
160
+ oprot.writeFieldBegin('direction', TType.I32, 4)
161
+ oprot.writeI32(self.direction)
162
+ oprot.writeFieldEnd()
163
+ oprot.writeFieldStop()
164
+ oprot.writeStructEnd()
165
+
166
+ def validate(self):
167
+ return
168
+
169
+ def __repr__(self):
170
+ L = ['%s=%r' % (key, value)
171
+ for key, value in self.__dict__.items()]
172
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
173
+
174
+ def __eq__(self, other):
175
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
176
+
177
+ def __ne__(self, other):
178
+ return not (self == other)
179
+
180
+
181
+ class LineageResponse(object):
182
+ """
183
+ Attributes:
184
+ - nodeGraph
185
+ - mainNode
186
+
187
+ """
188
+ thrift_spec = None
189
+
190
+
191
+ def __init__(self, nodeGraph = None, mainNode = None,):
192
+ self.nodeGraph = nodeGraph
193
+ self.mainNode = mainNode
194
+
195
+ def read(self, iprot):
196
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
197
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
198
+ return
199
+ iprot.readStructBegin()
200
+ while True:
201
+ (fname, ftype, fid) = iprot.readFieldBegin()
202
+ if ftype == TType.STOP:
203
+ break
204
+ if fid == 1:
205
+ if ftype == TType.STRUCT:
206
+ self.nodeGraph = ai.chronon.orchestration.ttypes.NodeGraph()
207
+ self.nodeGraph.read(iprot)
208
+ else:
209
+ iprot.skip(ftype)
210
+ elif fid == 2:
211
+ if ftype == TType.STRUCT:
212
+ self.mainNode = ai.chronon.orchestration.ttypes.NodeKey()
213
+ self.mainNode.read(iprot)
214
+ else:
215
+ iprot.skip(ftype)
216
+ else:
217
+ iprot.skip(ftype)
218
+ iprot.readFieldEnd()
219
+ iprot.readStructEnd()
220
+
221
+ def write(self, oprot):
222
+ self.validate()
223
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
224
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
225
+ return
226
+ oprot.writeStructBegin('LineageResponse')
227
+ if self.nodeGraph is not None:
228
+ oprot.writeFieldBegin('nodeGraph', TType.STRUCT, 1)
229
+ self.nodeGraph.write(oprot)
230
+ oprot.writeFieldEnd()
231
+ if self.mainNode is not None:
232
+ oprot.writeFieldBegin('mainNode', TType.STRUCT, 2)
233
+ self.mainNode.write(oprot)
234
+ oprot.writeFieldEnd()
235
+ oprot.writeFieldStop()
236
+ oprot.writeStructEnd()
237
+
238
+ def validate(self):
239
+ return
240
+
241
+ def __repr__(self):
242
+ L = ['%s=%r' % (key, value)
243
+ for key, value in self.__dict__.items()]
244
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
245
+
246
+ def __eq__(self, other):
247
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
248
+
249
+ def __ne__(self, other):
250
+ return not (self == other)
251
+
252
+
253
+ class JobTrackerRequest(object):
254
+ """
255
+ Attributes:
256
+ - name
257
+ - type
258
+ - branch
259
+ - dateRange
260
+
261
+ """
262
+ thrift_spec = None
263
+
264
+
265
+ def __init__(self, name = None, type = None, branch = None, dateRange = None,):
266
+ self.name = name
267
+ self.type = type
268
+ self.branch = branch
269
+ self.dateRange = dateRange
270
+
271
+ def read(self, iprot):
272
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
273
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
274
+ return
275
+ iprot.readStructBegin()
276
+ while True:
277
+ (fname, ftype, fid) = iprot.readFieldBegin()
278
+ if ftype == TType.STOP:
279
+ break
280
+ if fid == 1:
281
+ if ftype == TType.STRING:
282
+ self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
283
+ else:
284
+ iprot.skip(ftype)
285
+ elif fid == 2:
286
+ if ftype == TType.STRING:
287
+ self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
288
+ else:
289
+ iprot.skip(ftype)
290
+ elif fid == 3:
291
+ if ftype == TType.STRING:
292
+ self.branch = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
293
+ else:
294
+ iprot.skip(ftype)
295
+ elif fid == 10:
296
+ if ftype == TType.STRUCT:
297
+ self.dateRange = ai.chronon.api.common.ttypes.DateRange()
298
+ self.dateRange.read(iprot)
299
+ else:
300
+ iprot.skip(ftype)
301
+ else:
302
+ iprot.skip(ftype)
303
+ iprot.readFieldEnd()
304
+ iprot.readStructEnd()
305
+
306
+ def write(self, oprot):
307
+ self.validate()
308
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
309
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
310
+ return
311
+ oprot.writeStructBegin('JobTrackerRequest')
312
+ if self.name is not None:
313
+ oprot.writeFieldBegin('name', TType.STRING, 1)
314
+ oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name)
315
+ oprot.writeFieldEnd()
316
+ if self.type is not None:
317
+ oprot.writeFieldBegin('type', TType.STRING, 2)
318
+ oprot.writeString(self.type.encode('utf-8') if sys.version_info[0] == 2 else self.type)
319
+ oprot.writeFieldEnd()
320
+ if self.branch is not None:
321
+ oprot.writeFieldBegin('branch', TType.STRING, 3)
322
+ oprot.writeString(self.branch.encode('utf-8') if sys.version_info[0] == 2 else self.branch)
323
+ oprot.writeFieldEnd()
324
+ if self.dateRange is not None:
325
+ oprot.writeFieldBegin('dateRange', TType.STRUCT, 10)
326
+ self.dateRange.write(oprot)
327
+ oprot.writeFieldEnd()
328
+ oprot.writeFieldStop()
329
+ oprot.writeStructEnd()
330
+
331
+ def validate(self):
332
+ return
333
+
334
+ def __repr__(self):
335
+ L = ['%s=%r' % (key, value)
336
+ for key, value in self.__dict__.items()]
337
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
338
+
339
+ def __eq__(self, other):
340
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
341
+
342
+ def __ne__(self, other):
343
+ return not (self == other)
344
+
345
+
346
+ class JobTrackerResponse(object):
347
+ """
348
+ Attributes:
349
+ - tasks
350
+ - mainNode
351
+
352
+ """
353
+ thrift_spec = None
354
+
355
+
356
+ def __init__(self, tasks = None, mainNode = None,):
357
+ self.tasks = tasks
358
+ self.mainNode = mainNode
359
+
360
+ def read(self, iprot):
361
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
362
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
363
+ return
364
+ iprot.readStructBegin()
365
+ while True:
366
+ (fname, ftype, fid) = iprot.readFieldBegin()
367
+ if ftype == TType.STOP:
368
+ break
369
+ if fid == 1:
370
+ if ftype == TType.LIST:
371
+ self.tasks = []
372
+ (_etype3, _size0) = iprot.readListBegin()
373
+ for _i4 in range(_size0):
374
+ _elem5 = TaskInfo()
375
+ _elem5.read(iprot)
376
+ self.tasks.append(_elem5)
377
+ iprot.readListEnd()
378
+ else:
379
+ iprot.skip(ftype)
380
+ elif fid == 2:
381
+ if ftype == TType.STRUCT:
382
+ self.mainNode = ai.chronon.orchestration.ttypes.NodeKey()
383
+ self.mainNode.read(iprot)
384
+ else:
385
+ iprot.skip(ftype)
386
+ else:
387
+ iprot.skip(ftype)
388
+ iprot.readFieldEnd()
389
+ iprot.readStructEnd()
390
+
391
+ def write(self, oprot):
392
+ self.validate()
393
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
394
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
395
+ return
396
+ oprot.writeStructBegin('JobTrackerResponse')
397
+ if self.tasks is not None:
398
+ oprot.writeFieldBegin('tasks', TType.LIST, 1)
399
+ oprot.writeListBegin(TType.STRUCT, len(self.tasks))
400
+ for iter6 in self.tasks:
401
+ iter6.write(oprot)
402
+ oprot.writeListEnd()
403
+ oprot.writeFieldEnd()
404
+ if self.mainNode is not None:
405
+ oprot.writeFieldBegin('mainNode', TType.STRUCT, 2)
406
+ self.mainNode.write(oprot)
407
+ oprot.writeFieldEnd()
408
+ oprot.writeFieldStop()
409
+ oprot.writeStructEnd()
410
+
411
+ def validate(self):
412
+ return
413
+
414
+ def __repr__(self):
415
+ L = ['%s=%r' % (key, value)
416
+ for key, value in self.__dict__.items()]
417
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
418
+
419
+ def __eq__(self, other):
420
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
421
+
422
+ def __ne__(self, other):
423
+ return not (self == other)
424
+
425
+
426
+ class SubmissionsRequest(object):
427
+ """
428
+ Attributes:
429
+ - user
430
+
431
+ """
432
+ thrift_spec = None
433
+
434
+
435
+ def __init__(self, user = None,):
436
+ self.user = user
437
+
438
+ def read(self, iprot):
439
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
440
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
441
+ return
442
+ iprot.readStructBegin()
443
+ while True:
444
+ (fname, ftype, fid) = iprot.readFieldBegin()
445
+ if ftype == TType.STOP:
446
+ break
447
+ if fid == 1:
448
+ if ftype == TType.STRING:
449
+ self.user = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
450
+ else:
451
+ iprot.skip(ftype)
452
+ else:
453
+ iprot.skip(ftype)
454
+ iprot.readFieldEnd()
455
+ iprot.readStructEnd()
456
+
457
+ def write(self, oprot):
458
+ self.validate()
459
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
460
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
461
+ return
462
+ oprot.writeStructBegin('SubmissionsRequest')
463
+ if self.user is not None:
464
+ oprot.writeFieldBegin('user', TType.STRING, 1)
465
+ oprot.writeString(self.user.encode('utf-8') if sys.version_info[0] == 2 else self.user)
466
+ oprot.writeFieldEnd()
467
+ oprot.writeFieldStop()
468
+ oprot.writeStructEnd()
469
+
470
+ def validate(self):
471
+ return
472
+
473
+ def __repr__(self):
474
+ L = ['%s=%r' % (key, value)
475
+ for key, value in self.__dict__.items()]
476
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
477
+
478
+ def __eq__(self, other):
479
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
480
+
481
+ def __ne__(self, other):
482
+ return not (self == other)
483
+
484
+
485
+ class SubmissionsResponse(object):
486
+ """
487
+ Attributes:
488
+ - submissions
489
+
490
+ """
491
+ thrift_spec = None
492
+
493
+
494
+ def __init__(self, submissions = None,):
495
+ self.submissions = submissions
496
+
497
+ def read(self, iprot):
498
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
499
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
500
+ return
501
+ iprot.readStructBegin()
502
+ while True:
503
+ (fname, ftype, fid) = iprot.readFieldBegin()
504
+ if ftype == TType.STOP:
505
+ break
506
+ if fid == 1:
507
+ if ftype == TType.LIST:
508
+ self.submissions = []
509
+ (_etype10, _size7) = iprot.readListBegin()
510
+ for _i11 in range(_size7):
511
+ _elem12 = Submission()
512
+ _elem12.read(iprot)
513
+ self.submissions.append(_elem12)
514
+ iprot.readListEnd()
515
+ else:
516
+ iprot.skip(ftype)
517
+ else:
518
+ iprot.skip(ftype)
519
+ iprot.readFieldEnd()
520
+ iprot.readStructEnd()
521
+
522
+ def write(self, oprot):
523
+ self.validate()
524
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
525
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
526
+ return
527
+ oprot.writeStructBegin('SubmissionsResponse')
528
+ if self.submissions is not None:
529
+ oprot.writeFieldBegin('submissions', TType.LIST, 1)
530
+ oprot.writeListBegin(TType.STRUCT, len(self.submissions))
531
+ for iter13 in self.submissions:
532
+ iter13.write(oprot)
533
+ oprot.writeListEnd()
534
+ oprot.writeFieldEnd()
535
+ oprot.writeFieldStop()
536
+ oprot.writeStructEnd()
537
+
538
+ def validate(self):
539
+ return
540
+
541
+ def __repr__(self):
542
+ L = ['%s=%r' % (key, value)
543
+ for key, value in self.__dict__.items()]
544
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
545
+
546
+ def __eq__(self, other):
547
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
548
+
549
+ def __ne__(self, other):
550
+ return not (self == other)
551
+
552
+
553
+ class TaskInfo(object):
554
+ """
555
+ Attributes:
556
+ - status
557
+ - logPath
558
+ - trackerUrl
559
+ - taskArgs
560
+ - dateRange
561
+ - submittedTs
562
+ - startedTs
563
+ - finishedTs
564
+ - user
565
+ - team
566
+ - allocatedResources
567
+ - utilizedResources
568
+
569
+ """
570
+ thrift_spec = None
571
+
572
+
573
+ def __init__(self, status = None, logPath = None, trackerUrl = None, taskArgs = None, dateRange = None, submittedTs = None, startedTs = None, finishedTs = None, user = None, team = None, allocatedResources = None, utilizedResources = None,):
574
+ self.status = status
575
+ self.logPath = logPath
576
+ self.trackerUrl = trackerUrl
577
+ self.taskArgs = taskArgs
578
+ self.dateRange = dateRange
579
+ self.submittedTs = submittedTs
580
+ self.startedTs = startedTs
581
+ self.finishedTs = finishedTs
582
+ self.user = user
583
+ self.team = team
584
+ self.allocatedResources = allocatedResources
585
+ self.utilizedResources = utilizedResources
586
+
587
+ def read(self, iprot):
588
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
589
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
590
+ return
591
+ iprot.readStructBegin()
592
+ while True:
593
+ (fname, ftype, fid) = iprot.readFieldBegin()
594
+ if ftype == TType.STOP:
595
+ break
596
+ if fid == 1:
597
+ if ftype == TType.I32:
598
+ self.status = iprot.readI32()
599
+ else:
600
+ iprot.skip(ftype)
601
+ elif fid == 2:
602
+ if ftype == TType.STRING:
603
+ self.logPath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
604
+ else:
605
+ iprot.skip(ftype)
606
+ elif fid == 3:
607
+ if ftype == TType.STRING:
608
+ self.trackerUrl = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
609
+ else:
610
+ iprot.skip(ftype)
611
+ elif fid == 4:
612
+ if ftype == TType.STRUCT:
613
+ self.taskArgs = TaskArgs()
614
+ self.taskArgs.read(iprot)
615
+ else:
616
+ iprot.skip(ftype)
617
+ elif fid == 5:
618
+ if ftype == TType.STRUCT:
619
+ self.dateRange = ai.chronon.api.common.ttypes.DateRange()
620
+ self.dateRange.read(iprot)
621
+ else:
622
+ iprot.skip(ftype)
623
+ elif fid == 10:
624
+ if ftype == TType.I64:
625
+ self.submittedTs = iprot.readI64()
626
+ else:
627
+ iprot.skip(ftype)
628
+ elif fid == 11:
629
+ if ftype == TType.I64:
630
+ self.startedTs = iprot.readI64()
631
+ else:
632
+ iprot.skip(ftype)
633
+ elif fid == 12:
634
+ if ftype == TType.I64:
635
+ self.finishedTs = iprot.readI64()
636
+ else:
637
+ iprot.skip(ftype)
638
+ elif fid == 20:
639
+ if ftype == TType.STRING:
640
+ self.user = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
641
+ else:
642
+ iprot.skip(ftype)
643
+ elif fid == 21:
644
+ if ftype == TType.STRING:
645
+ self.team = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
646
+ else:
647
+ iprot.skip(ftype)
648
+ elif fid == 30:
649
+ if ftype == TType.STRUCT:
650
+ self.allocatedResources = TaskResources()
651
+ self.allocatedResources.read(iprot)
652
+ else:
653
+ iprot.skip(ftype)
654
+ elif fid == 31:
655
+ if ftype == TType.STRUCT:
656
+ self.utilizedResources = TaskResources()
657
+ self.utilizedResources.read(iprot)
658
+ else:
659
+ iprot.skip(ftype)
660
+ else:
661
+ iprot.skip(ftype)
662
+ iprot.readFieldEnd()
663
+ iprot.readStructEnd()
664
+
665
+ def write(self, oprot):
666
+ self.validate()
667
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
668
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
669
+ return
670
+ oprot.writeStructBegin('TaskInfo')
671
+ if self.status is not None:
672
+ oprot.writeFieldBegin('status', TType.I32, 1)
673
+ oprot.writeI32(self.status)
674
+ oprot.writeFieldEnd()
675
+ if self.logPath is not None:
676
+ oprot.writeFieldBegin('logPath', TType.STRING, 2)
677
+ oprot.writeString(self.logPath.encode('utf-8') if sys.version_info[0] == 2 else self.logPath)
678
+ oprot.writeFieldEnd()
679
+ if self.trackerUrl is not None:
680
+ oprot.writeFieldBegin('trackerUrl', TType.STRING, 3)
681
+ oprot.writeString(self.trackerUrl.encode('utf-8') if sys.version_info[0] == 2 else self.trackerUrl)
682
+ oprot.writeFieldEnd()
683
+ if self.taskArgs is not None:
684
+ oprot.writeFieldBegin('taskArgs', TType.STRUCT, 4)
685
+ self.taskArgs.write(oprot)
686
+ oprot.writeFieldEnd()
687
+ if self.dateRange is not None:
688
+ oprot.writeFieldBegin('dateRange', TType.STRUCT, 5)
689
+ self.dateRange.write(oprot)
690
+ oprot.writeFieldEnd()
691
+ if self.submittedTs is not None:
692
+ oprot.writeFieldBegin('submittedTs', TType.I64, 10)
693
+ oprot.writeI64(self.submittedTs)
694
+ oprot.writeFieldEnd()
695
+ if self.startedTs is not None:
696
+ oprot.writeFieldBegin('startedTs', TType.I64, 11)
697
+ oprot.writeI64(self.startedTs)
698
+ oprot.writeFieldEnd()
699
+ if self.finishedTs is not None:
700
+ oprot.writeFieldBegin('finishedTs', TType.I64, 12)
701
+ oprot.writeI64(self.finishedTs)
702
+ oprot.writeFieldEnd()
703
+ if self.user is not None:
704
+ oprot.writeFieldBegin('user', TType.STRING, 20)
705
+ oprot.writeString(self.user.encode('utf-8') if sys.version_info[0] == 2 else self.user)
706
+ oprot.writeFieldEnd()
707
+ if self.team is not None:
708
+ oprot.writeFieldBegin('team', TType.STRING, 21)
709
+ oprot.writeString(self.team.encode('utf-8') if sys.version_info[0] == 2 else self.team)
710
+ oprot.writeFieldEnd()
711
+ if self.allocatedResources is not None:
712
+ oprot.writeFieldBegin('allocatedResources', TType.STRUCT, 30)
713
+ self.allocatedResources.write(oprot)
714
+ oprot.writeFieldEnd()
715
+ if self.utilizedResources is not None:
716
+ oprot.writeFieldBegin('utilizedResources', TType.STRUCT, 31)
717
+ self.utilizedResources.write(oprot)
718
+ oprot.writeFieldEnd()
719
+ oprot.writeFieldStop()
720
+ oprot.writeStructEnd()
721
+
722
+ def validate(self):
723
+ return
724
+
725
+ def __repr__(self):
726
+ L = ['%s=%r' % (key, value)
727
+ for key, value in self.__dict__.items()]
728
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
729
+
730
+ def __eq__(self, other):
731
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
732
+
733
+ def __ne__(self, other):
734
+ return not (self == other)
735
+
736
+
737
+ class TaskArgs(object):
738
+ """
739
+ Attributes:
740
+ - argsList
741
+ - env
742
+
743
+ """
744
+ thrift_spec = None
745
+
746
+
747
+ def __init__(self, argsList = None, env = None,):
748
+ self.argsList = argsList
749
+ self.env = env
750
+
751
+ def read(self, iprot):
752
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
753
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
754
+ return
755
+ iprot.readStructBegin()
756
+ while True:
757
+ (fname, ftype, fid) = iprot.readFieldBegin()
758
+ if ftype == TType.STOP:
759
+ break
760
+ if fid == 1:
761
+ if ftype == TType.LIST:
762
+ self.argsList = []
763
+ (_etype17, _size14) = iprot.readListBegin()
764
+ for _i18 in range(_size14):
765
+ _elem19 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
766
+ self.argsList.append(_elem19)
767
+ iprot.readListEnd()
768
+ else:
769
+ iprot.skip(ftype)
770
+ elif fid == 2:
771
+ if ftype == TType.MAP:
772
+ self.env = {}
773
+ (_ktype21, _vtype22, _size20) = iprot.readMapBegin()
774
+ for _i24 in range(_size20):
775
+ _key25 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
776
+ _val26 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
777
+ self.env[_key25] = _val26
778
+ iprot.readMapEnd()
779
+ else:
780
+ iprot.skip(ftype)
781
+ else:
782
+ iprot.skip(ftype)
783
+ iprot.readFieldEnd()
784
+ iprot.readStructEnd()
785
+
786
+ def write(self, oprot):
787
+ self.validate()
788
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
789
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
790
+ return
791
+ oprot.writeStructBegin('TaskArgs')
792
+ if self.argsList is not None:
793
+ oprot.writeFieldBegin('argsList', TType.LIST, 1)
794
+ oprot.writeListBegin(TType.STRING, len(self.argsList))
795
+ for iter27 in self.argsList:
796
+ oprot.writeString(iter27.encode('utf-8') if sys.version_info[0] == 2 else iter27)
797
+ oprot.writeListEnd()
798
+ oprot.writeFieldEnd()
799
+ if self.env is not None:
800
+ oprot.writeFieldBegin('env', TType.MAP, 2)
801
+ oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.env))
802
+ for kiter28, viter29 in self.env.items():
803
+ oprot.writeString(kiter28.encode('utf-8') if sys.version_info[0] == 2 else kiter28)
804
+ oprot.writeString(viter29.encode('utf-8') if sys.version_info[0] == 2 else viter29)
805
+ oprot.writeMapEnd()
806
+ oprot.writeFieldEnd()
807
+ oprot.writeFieldStop()
808
+ oprot.writeStructEnd()
809
+
810
+ def validate(self):
811
+ return
812
+
813
+ def __repr__(self):
814
+ L = ['%s=%r' % (key, value)
815
+ for key, value in self.__dict__.items()]
816
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
817
+
818
+ def __eq__(self, other):
819
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
820
+
821
+ def __ne__(self, other):
822
+ return not (self == other)
823
+
824
+
825
+ class TaskResources(object):
826
+ """
827
+ Attributes:
828
+ - vcoreSeconds
829
+ - megaByteSeconds
830
+ - cumulativeDiskWriteBytes
831
+ - cumulativeDiskReadBytes
832
+
833
+ """
834
+ thrift_spec = None
835
+
836
+
837
+ def __init__(self, vcoreSeconds = None, megaByteSeconds = None, cumulativeDiskWriteBytes = None, cumulativeDiskReadBytes = None,):
838
+ self.vcoreSeconds = vcoreSeconds
839
+ self.megaByteSeconds = megaByteSeconds
840
+ self.cumulativeDiskWriteBytes = cumulativeDiskWriteBytes
841
+ self.cumulativeDiskReadBytes = cumulativeDiskReadBytes
842
+
843
+ def read(self, iprot):
844
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
845
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
846
+ return
847
+ iprot.readStructBegin()
848
+ while True:
849
+ (fname, ftype, fid) = iprot.readFieldBegin()
850
+ if ftype == TType.STOP:
851
+ break
852
+ if fid == 1:
853
+ if ftype == TType.I64:
854
+ self.vcoreSeconds = iprot.readI64()
855
+ else:
856
+ iprot.skip(ftype)
857
+ elif fid == 2:
858
+ if ftype == TType.I64:
859
+ self.megaByteSeconds = iprot.readI64()
860
+ else:
861
+ iprot.skip(ftype)
862
+ elif fid == 3:
863
+ if ftype == TType.I64:
864
+ self.cumulativeDiskWriteBytes = iprot.readI64()
865
+ else:
866
+ iprot.skip(ftype)
867
+ elif fid == 4:
868
+ if ftype == TType.I64:
869
+ self.cumulativeDiskReadBytes = iprot.readI64()
870
+ else:
871
+ iprot.skip(ftype)
872
+ else:
873
+ iprot.skip(ftype)
874
+ iprot.readFieldEnd()
875
+ iprot.readStructEnd()
876
+
877
+ def write(self, oprot):
878
+ self.validate()
879
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
880
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
881
+ return
882
+ oprot.writeStructBegin('TaskResources')
883
+ if self.vcoreSeconds is not None:
884
+ oprot.writeFieldBegin('vcoreSeconds', TType.I64, 1)
885
+ oprot.writeI64(self.vcoreSeconds)
886
+ oprot.writeFieldEnd()
887
+ if self.megaByteSeconds is not None:
888
+ oprot.writeFieldBegin('megaByteSeconds', TType.I64, 2)
889
+ oprot.writeI64(self.megaByteSeconds)
890
+ oprot.writeFieldEnd()
891
+ if self.cumulativeDiskWriteBytes is not None:
892
+ oprot.writeFieldBegin('cumulativeDiskWriteBytes', TType.I64, 3)
893
+ oprot.writeI64(self.cumulativeDiskWriteBytes)
894
+ oprot.writeFieldEnd()
895
+ if self.cumulativeDiskReadBytes is not None:
896
+ oprot.writeFieldBegin('cumulativeDiskReadBytes', TType.I64, 4)
897
+ oprot.writeI64(self.cumulativeDiskReadBytes)
898
+ oprot.writeFieldEnd()
899
+ oprot.writeFieldStop()
900
+ oprot.writeStructEnd()
901
+
902
+ def validate(self):
903
+ return
904
+
905
+ def __repr__(self):
906
+ L = ['%s=%r' % (key, value)
907
+ for key, value in self.__dict__.items()]
908
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
909
+
910
+ def __eq__(self, other):
911
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
912
+
913
+ def __ne__(self, other):
914
+ return not (self == other)
915
+
916
+
917
+ class Submission(object):
918
+ """
919
+ Attributes:
920
+ - node
921
+ - submittedTs
922
+ - finishedTs
923
+ - dateRange
924
+
925
+ """
926
+ thrift_spec = None
927
+
928
+
929
+ def __init__(self, node = None, submittedTs = None, finishedTs = None, dateRange = None,):
930
+ self.node = node
931
+ self.submittedTs = submittedTs
932
+ self.finishedTs = finishedTs
933
+ self.dateRange = dateRange
934
+
935
+ def read(self, iprot):
936
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
937
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
938
+ return
939
+ iprot.readStructBegin()
940
+ while True:
941
+ (fname, ftype, fid) = iprot.readFieldBegin()
942
+ if ftype == TType.STOP:
943
+ break
944
+ if fid == 1:
945
+ if ftype == TType.STRUCT:
946
+ self.node = ai.chronon.orchestration.ttypes.NodeKey()
947
+ self.node.read(iprot)
948
+ else:
949
+ iprot.skip(ftype)
950
+ elif fid == 10:
951
+ if ftype == TType.I64:
952
+ self.submittedTs = iprot.readI64()
953
+ else:
954
+ iprot.skip(ftype)
955
+ elif fid == 20:
956
+ if ftype == TType.I64:
957
+ self.finishedTs = iprot.readI64()
958
+ else:
959
+ iprot.skip(ftype)
960
+ elif fid == 21:
961
+ if ftype == TType.STRUCT:
962
+ self.dateRange = ai.chronon.api.common.ttypes.DateRange()
963
+ self.dateRange.read(iprot)
964
+ else:
965
+ iprot.skip(ftype)
966
+ else:
967
+ iprot.skip(ftype)
968
+ iprot.readFieldEnd()
969
+ iprot.readStructEnd()
970
+
971
+ def write(self, oprot):
972
+ self.validate()
973
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
974
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
975
+ return
976
+ oprot.writeStructBegin('Submission')
977
+ if self.node is not None:
978
+ oprot.writeFieldBegin('node', TType.STRUCT, 1)
979
+ self.node.write(oprot)
980
+ oprot.writeFieldEnd()
981
+ if self.submittedTs is not None:
982
+ oprot.writeFieldBegin('submittedTs', TType.I64, 10)
983
+ oprot.writeI64(self.submittedTs)
984
+ oprot.writeFieldEnd()
985
+ if self.finishedTs is not None:
986
+ oprot.writeFieldBegin('finishedTs', TType.I64, 20)
987
+ oprot.writeI64(self.finishedTs)
988
+ oprot.writeFieldEnd()
989
+ if self.dateRange is not None:
990
+ oprot.writeFieldBegin('dateRange', TType.STRUCT, 21)
991
+ self.dateRange.write(oprot)
992
+ oprot.writeFieldEnd()
993
+ oprot.writeFieldStop()
994
+ oprot.writeStructEnd()
995
+
996
+ def validate(self):
997
+ return
998
+
999
+ def __repr__(self):
1000
+ L = ['%s=%r' % (key, value)
1001
+ for key, value in self.__dict__.items()]
1002
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
1003
+
1004
+ def __eq__(self, other):
1005
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
1006
+
1007
+ def __ne__(self, other):
1008
+ return not (self == other)
1009
+
1010
+
1011
+ class ConfRequest(object):
1012
+ """
1013
+ Attributes:
1014
+ - confName
1015
+ - confType
1016
+ - branch
1017
+ - version
1018
+
1019
+ """
1020
+ thrift_spec = None
1021
+
1022
+
1023
+ def __init__(self, confName = None, confType = None, branch = None, version = None,):
1024
+ self.confName = confName
1025
+ self.confType = confType
1026
+ self.branch = branch
1027
+ self.version = version
1028
+
1029
+ def read(self, iprot):
1030
+ if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
1031
+ iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
1032
+ return
1033
+ iprot.readStructBegin()
1034
+ while True:
1035
+ (fname, ftype, fid) = iprot.readFieldBegin()
1036
+ if ftype == TType.STOP:
1037
+ break
1038
+ if fid == 1:
1039
+ if ftype == TType.STRING:
1040
+ self.confName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
1041
+ else:
1042
+ iprot.skip(ftype)
1043
+ elif fid == 2:
1044
+ if ftype == TType.I32:
1045
+ self.confType = iprot.readI32()
1046
+ else:
1047
+ iprot.skip(ftype)
1048
+ elif fid == 3:
1049
+ if ftype == TType.STRING:
1050
+ self.branch = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
1051
+ else:
1052
+ iprot.skip(ftype)
1053
+ elif fid == 4:
1054
+ if ftype == TType.STRING:
1055
+ self.version = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
1056
+ else:
1057
+ iprot.skip(ftype)
1058
+ else:
1059
+ iprot.skip(ftype)
1060
+ iprot.readFieldEnd()
1061
+ iprot.readStructEnd()
1062
+
1063
+ def write(self, oprot):
1064
+ self.validate()
1065
+ if oprot._fast_encode is not None and self.thrift_spec is not None:
1066
+ oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
1067
+ return
1068
+ oprot.writeStructBegin('ConfRequest')
1069
+ if self.confName is not None:
1070
+ oprot.writeFieldBegin('confName', TType.STRING, 1)
1071
+ oprot.writeString(self.confName.encode('utf-8') if sys.version_info[0] == 2 else self.confName)
1072
+ oprot.writeFieldEnd()
1073
+ if self.confType is not None:
1074
+ oprot.writeFieldBegin('confType', TType.I32, 2)
1075
+ oprot.writeI32(self.confType)
1076
+ oprot.writeFieldEnd()
1077
+ if self.branch is not None:
1078
+ oprot.writeFieldBegin('branch', TType.STRING, 3)
1079
+ oprot.writeString(self.branch.encode('utf-8') if sys.version_info[0] == 2 else self.branch)
1080
+ oprot.writeFieldEnd()
1081
+ if self.version is not None:
1082
+ oprot.writeFieldBegin('version', TType.STRING, 4)
1083
+ oprot.writeString(self.version.encode('utf-8') if sys.version_info[0] == 2 else self.version)
1084
+ oprot.writeFieldEnd()
1085
+ oprot.writeFieldStop()
1086
+ oprot.writeStructEnd()
1087
+
1088
+ def validate(self):
1089
+ return
1090
+
1091
+ def __repr__(self):
1092
+ L = ['%s=%r' % (key, value)
1093
+ for key, value in self.__dict__.items()]
1094
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
1095
+
1096
+ def __eq__(self, other):
1097
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
1098
+
1099
+ def __ne__(self, other):
1100
+ return not (self == other)
1101
+ all_structs.append(LineageRequest)
1102
+ LineageRequest.thrift_spec = (
1103
+ None, # 0
1104
+ (1, TType.STRING, 'name', 'UTF8', None, ), # 1
1105
+ (2, TType.STRING, 'type', 'UTF8', None, ), # 2
1106
+ (3, TType.STRING, 'branch', 'UTF8', None, ), # 3
1107
+ (4, TType.I32, 'direction', None, None, ), # 4
1108
+ )
1109
+ all_structs.append(LineageResponse)
1110
+ LineageResponse.thrift_spec = (
1111
+ None, # 0
1112
+ (1, TType.STRUCT, 'nodeGraph', [ai.chronon.orchestration.ttypes.NodeGraph, None], None, ), # 1
1113
+ (2, TType.STRUCT, 'mainNode', [ai.chronon.orchestration.ttypes.NodeKey, None], None, ), # 2
1114
+ )
1115
+ all_structs.append(JobTrackerRequest)
1116
+ JobTrackerRequest.thrift_spec = (
1117
+ None, # 0
1118
+ (1, TType.STRING, 'name', 'UTF8', None, ), # 1
1119
+ (2, TType.STRING, 'type', 'UTF8', None, ), # 2
1120
+ (3, TType.STRING, 'branch', 'UTF8', None, ), # 3
1121
+ None, # 4
1122
+ None, # 5
1123
+ None, # 6
1124
+ None, # 7
1125
+ None, # 8
1126
+ None, # 9
1127
+ (10, TType.STRUCT, 'dateRange', [ai.chronon.api.common.ttypes.DateRange, None], None, ), # 10
1128
+ )
1129
+ all_structs.append(JobTrackerResponse)
1130
+ JobTrackerResponse.thrift_spec = (
1131
+ None, # 0
1132
+ (1, TType.LIST, 'tasks', (TType.STRUCT, [TaskInfo, None], False), None, ), # 1
1133
+ (2, TType.STRUCT, 'mainNode', [ai.chronon.orchestration.ttypes.NodeKey, None], None, ), # 2
1134
+ )
1135
+ all_structs.append(SubmissionsRequest)
1136
+ SubmissionsRequest.thrift_spec = (
1137
+ None, # 0
1138
+ (1, TType.STRING, 'user', 'UTF8', None, ), # 1
1139
+ )
1140
+ all_structs.append(SubmissionsResponse)
1141
+ SubmissionsResponse.thrift_spec = (
1142
+ None, # 0
1143
+ (1, TType.LIST, 'submissions', (TType.STRUCT, [Submission, None], False), None, ), # 1
1144
+ )
1145
+ all_structs.append(TaskInfo)
1146
+ TaskInfo.thrift_spec = (
1147
+ None, # 0
1148
+ (1, TType.I32, 'status', None, None, ), # 1
1149
+ (2, TType.STRING, 'logPath', 'UTF8', None, ), # 2
1150
+ (3, TType.STRING, 'trackerUrl', 'UTF8', None, ), # 3
1151
+ (4, TType.STRUCT, 'taskArgs', [TaskArgs, None], None, ), # 4
1152
+ (5, TType.STRUCT, 'dateRange', [ai.chronon.api.common.ttypes.DateRange, None], None, ), # 5
1153
+ None, # 6
1154
+ None, # 7
1155
+ None, # 8
1156
+ None, # 9
1157
+ (10, TType.I64, 'submittedTs', None, None, ), # 10
1158
+ (11, TType.I64, 'startedTs', None, None, ), # 11
1159
+ (12, TType.I64, 'finishedTs', None, None, ), # 12
1160
+ None, # 13
1161
+ None, # 14
1162
+ None, # 15
1163
+ None, # 16
1164
+ None, # 17
1165
+ None, # 18
1166
+ None, # 19
1167
+ (20, TType.STRING, 'user', 'UTF8', None, ), # 20
1168
+ (21, TType.STRING, 'team', 'UTF8', None, ), # 21
1169
+ None, # 22
1170
+ None, # 23
1171
+ None, # 24
1172
+ None, # 25
1173
+ None, # 26
1174
+ None, # 27
1175
+ None, # 28
1176
+ None, # 29
1177
+ (30, TType.STRUCT, 'allocatedResources', [TaskResources, None], None, ), # 30
1178
+ (31, TType.STRUCT, 'utilizedResources', [TaskResources, None], None, ), # 31
1179
+ )
1180
+ all_structs.append(TaskArgs)
1181
+ TaskArgs.thrift_spec = (
1182
+ None, # 0
1183
+ (1, TType.LIST, 'argsList', (TType.STRING, 'UTF8', False), None, ), # 1
1184
+ (2, TType.MAP, 'env', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 2
1185
+ )
1186
+ all_structs.append(TaskResources)
1187
+ TaskResources.thrift_spec = (
1188
+ None, # 0
1189
+ (1, TType.I64, 'vcoreSeconds', None, None, ), # 1
1190
+ (2, TType.I64, 'megaByteSeconds', None, None, ), # 2
1191
+ (3, TType.I64, 'cumulativeDiskWriteBytes', None, None, ), # 3
1192
+ (4, TType.I64, 'cumulativeDiskReadBytes', None, None, ), # 4
1193
+ )
1194
+ all_structs.append(Submission)
1195
+ Submission.thrift_spec = (
1196
+ None, # 0
1197
+ (1, TType.STRUCT, 'node', [ai.chronon.orchestration.ttypes.NodeKey, None], None, ), # 1
1198
+ None, # 2
1199
+ None, # 3
1200
+ None, # 4
1201
+ None, # 5
1202
+ None, # 6
1203
+ None, # 7
1204
+ None, # 8
1205
+ None, # 9
1206
+ (10, TType.I64, 'submittedTs', None, None, ), # 10
1207
+ None, # 11
1208
+ None, # 12
1209
+ None, # 13
1210
+ None, # 14
1211
+ None, # 15
1212
+ None, # 16
1213
+ None, # 17
1214
+ None, # 18
1215
+ None, # 19
1216
+ (20, TType.I64, 'finishedTs', None, None, ), # 20
1217
+ (21, TType.STRUCT, 'dateRange', [ai.chronon.api.common.ttypes.DateRange, None], None, ), # 21
1218
+ )
1219
+ all_structs.append(ConfRequest)
1220
+ ConfRequest.thrift_spec = (
1221
+ None, # 0
1222
+ (1, TType.STRING, 'confName', 'UTF8', None, ), # 1
1223
+ (2, TType.I32, 'confType', None, None, ), # 2
1224
+ (3, TType.STRING, 'branch', 'UTF8', None, ), # 3
1225
+ (4, TType.STRING, 'version', 'UTF8', None, ), # 4
1226
+ )
1227
+ fix_spec(all_structs)
1228
+ del all_structs