tracdap-runtime 0.6.1.dev2__py3-none-any.whl → 0.6.2__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 (98) hide show
  1. tracdap/rt/_exec/context.py +25 -1
  2. tracdap/rt/_exec/dev_mode.py +277 -213
  3. tracdap/rt/_exec/functions.py +37 -8
  4. tracdap/rt/_exec/graph.py +2 -0
  5. tracdap/rt/_exec/graph_builder.py +118 -56
  6. tracdap/rt/_exec/runtime.py +28 -0
  7. tracdap/rt/_exec/server.py +68 -0
  8. tracdap/rt/_impl/data.py +14 -0
  9. tracdap/rt/_impl/grpc/__init__.py +13 -0
  10. tracdap/rt/_impl/grpc/codec.py +44 -0
  11. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +51 -0
  12. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +59 -0
  13. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py +183 -0
  14. tracdap/rt/_impl/grpc/tracdap/config/common_pb2.py +55 -0
  15. tracdap/rt/_impl/grpc/tracdap/config/common_pb2.pyi +103 -0
  16. tracdap/rt/_impl/grpc/tracdap/config/job_pb2.py +42 -0
  17. tracdap/rt/_impl/grpc/tracdap/config/job_pb2.pyi +44 -0
  18. tracdap/rt/_impl/grpc/tracdap/config/platform_pb2.py +71 -0
  19. tracdap/rt/_impl/grpc/tracdap/config/platform_pb2.pyi +197 -0
  20. tracdap/rt/_impl/grpc/tracdap/config/result_pb2.py +37 -0
  21. tracdap/rt/_impl/grpc/tracdap/config/result_pb2.pyi +35 -0
  22. tracdap/rt/_impl/grpc/tracdap/config/runtime_pb2.py +42 -0
  23. tracdap/rt/_impl/grpc/tracdap/config/runtime_pb2.pyi +46 -0
  24. tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +33 -0
  25. tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi +34 -0
  26. tracdap/rt/{metadata → _impl/grpc/tracdap/metadata}/custom_pb2.py +5 -5
  27. tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi +15 -0
  28. tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +51 -0
  29. tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi +115 -0
  30. tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +28 -0
  31. tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi +22 -0
  32. tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +59 -0
  33. tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi +109 -0
  34. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +76 -0
  35. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +177 -0
  36. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +51 -0
  37. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +92 -0
  38. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +32 -0
  39. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +68 -0
  40. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +35 -0
  41. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +35 -0
  42. tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +39 -0
  43. tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi +83 -0
  44. tracdap/rt/_impl/grpc/tracdap/metadata/stoarge_pb2.py +50 -0
  45. tracdap/rt/_impl/grpc/tracdap/metadata/stoarge_pb2.pyi +89 -0
  46. tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +34 -0
  47. tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi +26 -0
  48. tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +30 -0
  49. tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.pyi +34 -0
  50. tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +47 -0
  51. tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi +101 -0
  52. tracdap/rt/_impl/guard_rails.py +5 -6
  53. tracdap/rt/_impl/static_api.py +10 -6
  54. tracdap/rt/_version.py +1 -1
  55. tracdap/rt/api/hook.py +6 -2
  56. tracdap/rt/api/model_api.py +22 -0
  57. tracdap/rt/api/static_api.py +14 -4
  58. tracdap/rt/config/__init__.py +3 -3
  59. tracdap/rt/config/platform.py +9 -9
  60. tracdap/rt/launch/cli.py +3 -5
  61. tracdap/rt/launch/launch.py +15 -3
  62. tracdap/rt/metadata/__init__.py +15 -15
  63. tracdap/rt/metadata/common.py +7 -7
  64. tracdap/rt/metadata/custom.py +2 -0
  65. tracdap/rt/metadata/data.py +28 -5
  66. tracdap/rt/metadata/file.py +2 -0
  67. tracdap/rt/metadata/flow.py +66 -4
  68. tracdap/rt/metadata/job.py +56 -16
  69. tracdap/rt/metadata/model.py +4 -0
  70. tracdap/rt/metadata/object_id.py +9 -9
  71. tracdap/rt/metadata/search.py +35 -13
  72. tracdap/rt/metadata/stoarge.py +64 -6
  73. tracdap/rt/metadata/tag_update.py +21 -7
  74. tracdap/rt/metadata/type.py +28 -13
  75. {tracdap_runtime-0.6.1.dev2.dist-info → tracdap_runtime-0.6.2.dist-info}/METADATA +22 -19
  76. tracdap_runtime-0.6.2.dist-info/RECORD +121 -0
  77. {tracdap_runtime-0.6.1.dev2.dist-info → tracdap_runtime-0.6.2.dist-info}/WHEEL +1 -1
  78. tracdap/rt/config/common_pb2.py +0 -55
  79. tracdap/rt/config/job_pb2.py +0 -42
  80. tracdap/rt/config/platform_pb2.py +0 -71
  81. tracdap/rt/config/result_pb2.py +0 -37
  82. tracdap/rt/config/runtime_pb2.py +0 -42
  83. tracdap/rt/metadata/common_pb2.py +0 -33
  84. tracdap/rt/metadata/data_pb2.py +0 -51
  85. tracdap/rt/metadata/file_pb2.py +0 -28
  86. tracdap/rt/metadata/flow_pb2.py +0 -55
  87. tracdap/rt/metadata/job_pb2.py +0 -76
  88. tracdap/rt/metadata/model_pb2.py +0 -51
  89. tracdap/rt/metadata/object_id_pb2.py +0 -32
  90. tracdap/rt/metadata/object_pb2.py +0 -35
  91. tracdap/rt/metadata/search_pb2.py +0 -39
  92. tracdap/rt/metadata/stoarge_pb2.py +0 -50
  93. tracdap/rt/metadata/tag_pb2.py +0 -34
  94. tracdap/rt/metadata/tag_update_pb2.py +0 -30
  95. tracdap/rt/metadata/type_pb2.py +0 -48
  96. tracdap_runtime-0.6.1.dev2.dist-info/RECORD +0 -96
  97. {tracdap_runtime-0.6.1.dev2.dist-info → tracdap_runtime-0.6.2.dist-info}/LICENSE +0 -0
  98. {tracdap_runtime-0.6.1.dev2.dist-info → tracdap_runtime-0.6.2.dist-info}/top_level.txt +0 -0
@@ -79,7 +79,6 @@ class TracContextImpl(_api.TracContext):
79
79
  self.__data,
80
80
  checkout_directory)
81
81
 
82
-
83
82
  def get_parameter(self, parameter_name: str) -> tp.Any:
84
83
 
85
84
  _val.validate_signature(self.get_parameter, parameter_name)
@@ -92,6 +91,31 @@ class TracContextImpl(_api.TracContext):
92
91
 
93
92
  return _types.MetadataCodec.decode_value(value)
94
93
 
94
+ def has_dataset(self, dataset_name: str) -> bool:
95
+
96
+ _val.validate_signature(self.has_dataset, dataset_name)
97
+
98
+ part_key = _data.DataPartKey.for_root()
99
+
100
+ self.__val.check_dataset_name_not_null(dataset_name)
101
+ self.__val.check_dataset_valid_identifier(dataset_name)
102
+
103
+ data_view = self.__data.get(dataset_name)
104
+
105
+ if data_view is None:
106
+ return False
107
+
108
+ # If the item exists but is not a dataset, that is still a runtime error
109
+ # E.g. if this method is called for FILE inputs
110
+ self.__val.check_context_item_is_dataset(dataset_name)
111
+
112
+ part = data_view.parts.get(part_key)
113
+
114
+ if part is None or len(part) == 0:
115
+ return False
116
+
117
+ return True
118
+
95
119
  def get_schema(self, dataset_name: str) -> _meta.SchemaDefinition:
96
120
 
97
121
  _val.validate_signature(self.get_schema, dataset_name)