luminarycloud 0.22.2__py3-none-any.whl → 0.22.3__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 (26) hide show
  1. luminarycloud/_client/retry_interceptor.py +13 -2
  2. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +25 -3
  3. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +30 -0
  4. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +34 -0
  5. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +12 -0
  6. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +62 -40
  7. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +86 -16
  8. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +34 -0
  9. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +12 -0
  10. luminarycloud/_proto/lcstatus/details/geometry/geometry_pb2.py +256 -0
  11. luminarycloud/_proto/lcstatus/details/geometry/geometry_pb2.pyi +472 -0
  12. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +2 -2
  13. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +34 -0
  14. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +12 -0
  15. luminarycloud/_proto/quantity/quantity_pb2.pyi +1 -1
  16. luminarycloud/physics_ai/__init__.py +8 -0
  17. luminarycloud/physics_ai/architectures.py +1 -1
  18. luminarycloud/physics_ai/datasets.py +246 -0
  19. luminarycloud/pipelines/__init__.py +11 -0
  20. luminarycloud/pipelines/api.py +61 -0
  21. luminarycloud/pipelines/core.py +358 -45
  22. luminarycloud/pipelines/flowables.py +138 -0
  23. luminarycloud/pipelines/stages.py +7 -31
  24. {luminarycloud-0.22.2.dist-info → luminarycloud-0.22.3.dist-info}/METADATA +1 -1
  25. {luminarycloud-0.22.2.dist-info → luminarycloud-0.22.3.dist-info}/RECORD +26 -22
  26. {luminarycloud-0.22.2.dist-info → luminarycloud-0.22.3.dist-info}/WHEEL +0 -0
@@ -88,7 +88,15 @@ class RetryInterceptor(UnaryUnaryClientInterceptor):
88
88
  client_call_details: ClientCallDetails,
89
89
  request: Any,
90
90
  ) -> grpc.Call:
91
- retryable_codes = [grpc.StatusCode.RESOURCE_EXHAUSTED, grpc.StatusCode.UNAVAILABLE]
91
+ # We sometimes get fault filter abort from the envoy proxies that GCP seems to use for their
92
+ # LBs that are installed via GKE's gateway. The error codes in this case are UNIMPLEMENTED.
93
+ # We need to retry those as well since sometimes we get transient errors related to those
94
+ # LBs.
95
+ retryable_codes = [
96
+ grpc.StatusCode.RESOURCE_EXHAUSTED,
97
+ grpc.StatusCode.UNAVAILABLE,
98
+ grpc.StatusCode.UNIMPLEMENTED,
99
+ ]
92
100
  n_max_retries = 20
93
101
  max_retry_seconds = 20
94
102
  backoffs = [min(i * 2, max_retry_seconds) for i in range(1, n_max_retries)]
@@ -99,11 +107,14 @@ class RetryInterceptor(UnaryUnaryClientInterceptor):
99
107
  call = continuation(client_call_details, request)
100
108
  if call.code() not in retryable_codes:
101
109
  break
110
+ details = call.details() or ""
111
+ if call.code() == grpc.StatusCode.UNIMPLEMENTED:
112
+ if "fault filter abort" not in details:
113
+ break
102
114
  if call.code() == grpc.StatusCode.UNAVAILABLE:
103
115
  # if the auth plugin errors, that unfortunately shows up here as UNAVAILABLE, so we
104
116
  # have to check for auth plugin exceptions that shouldn't be retried by matching
105
117
  # their name in the details string
106
- details = call.details() or ""
107
118
  if "InteractiveAuthException" in details:
108
119
  break
109
120
  backoff = backoffs[backoff_index]
@@ -19,7 +19,7 @@ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
19
19
  from luminarycloud._proto.ratelimit import ratelimit_pb2 as proto_dot_ratelimit_dot_ratelimit__pb2
20
20
 
21
21
 
22
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nFproto/api/v0/luminarycloud/named_variable_set/named_variable_set.proto\x12\x36luminary.proto.api.v0.luminarycloud.named_variable_set\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15proto/base/base.proto\x1a\x1fproto/ratelimit/ratelimit.proto\"\x86\x03\n\x10NamedVariableSet\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12u\n\x0fnamed_variables\x18\x04 \x03(\x0b\x32\\.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet.NamedVariablesEntry\x12/\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nversion_id\x18\x07 \x01(\t\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\"(\n\x1aGetNamedVariableSetRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x83\x01\n\x1bGetNamedVariableSetResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"2\n\x1cListNamedVariableSetsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"\x86\x01\n\x1dListNamedVariableSetsResponse\x12\x65\n\x13named_variable_sets\x18\x01 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"\xb3\x02\n\x1d\x43reateNamedVariableSetRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x82\x01\n\x0fnamed_variables\x18\x03 \x03(\x0b\x32i.luminary.proto.api.v0.luminarycloud.named_variable_set.CreateNamedVariableSetRequest.NamedVariablesEntry\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\"\x86\x01\n\x1e\x43reateNamedVariableSetResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"+\n\x1d\x44\x65leteNamedVariableSetRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xb9\x02\n\x1dUpdateNamedVariableSetRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x82\x01\n\x0fnamed_variables\x18\x03 \x03(\x0b\x32i.luminary.proto.api.v0.luminarycloud.named_variable_set.UpdateNamedVariableSetRequest.NamedVariablesEntry\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\x42\x07\n\x05_name\"\x86\x01\n\x1eUpdateNamedVariableSetResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"/\n!GetNamedVariableSetVersionRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x8a\x01\n\"GetNamedVariableSetVersionResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet2\xaf\x0b\n\x17NamedVariableSetService\x12\xe3\x01\n\x13GetNamedVariableSet\x12R.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetRequest\x1aS.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v0/named_variable_set/{id}\x12\xfb\x01\n\x15ListNamedVariableSets\x12T.luminary.proto.api.v0.luminarycloud.named_variable_set.ListNamedVariableSetsRequest\x1aU.luminary.proto.api.v0.luminarycloud.named_variable_set.ListNamedVariableSetsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/v0/projects/{project_id}/named_variable_sets\x12\x8b\x02\n\x16\x43reateNamedVariableSet\x12U.luminary.proto.api.v0.luminarycloud.named_variable_set.CreateNamedVariableSetRequest\x1aV.luminary.proto.api.v0.luminarycloud.named_variable_set.CreateNamedVariableSetResponse\"B\x82\xd3\xe4\x93\x02\x32\"-/v0/projects/{project_id}/named_variable_sets:\x01*\x8a\xb5\x18\x06\x08\x64\x12\x02\x08\x01\x12\xac\x01\n\x16\x44\x65leteNamedVariableSet\x12U.luminary.proto.api.v0.luminarycloud.named_variable_set.DeleteNamedVariableSetRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d*\x1b/v0/named_variable_set/{id}\x12\xef\x01\n\x16UpdateNamedVariableSet\x12U.luminary.proto.api.v0.luminarycloud.named_variable_set.UpdateNamedVariableSetRequest\x1aV.luminary.proto.api.v0.luminarycloud.named_variable_set.UpdateNamedVariableSetResponse\"&\x82\xd3\xe4\x93\x02 \x1a\x1b/v0/named_variable_set/{id}:\x01*\x12\x80\x02\n\x1aGetNamedVariableSetVersion\x12Y.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetVersionRequest\x1aZ.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetVersionResponse\"+\x82\xd3\xe4\x93\x02%\x12#/v0/named_variable_set_version/{id}BFZDluminarycloud.com/core/proto/api/v0/luminarycloud/named_variable_setb\x06proto3')
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nFproto/api/v0/luminarycloud/named_variable_set/named_variable_set.proto\x12\x36luminary.proto.api.v0.luminarycloud.named_variable_set\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15proto/base/base.proto\x1a\x1fproto/ratelimit/ratelimit.proto\"\x86\x03\n\x10NamedVariableSet\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12u\n\x0fnamed_variables\x18\x04 \x03(\x0b\x32\\.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet.NamedVariablesEntry\x12/\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nversion_id\x18\x07 \x01(\t\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\"(\n\x1aGetNamedVariableSetRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x83\x01\n\x1bGetNamedVariableSetResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"2\n\x1cListNamedVariableSetsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"\x86\x01\n\x1dListNamedVariableSetsResponse\x12\x65\n\x13named_variable_sets\x18\x01 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"\xb3\x02\n\x1d\x43reateNamedVariableSetRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x82\x01\n\x0fnamed_variables\x18\x03 \x03(\x0b\x32i.luminary.proto.api.v0.luminarycloud.named_variable_set.CreateNamedVariableSetRequest.NamedVariablesEntry\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\"\x86\x01\n\x1e\x43reateNamedVariableSetResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"+\n\x1d\x44\x65leteNamedVariableSetRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xb9\x02\n\x1dUpdateNamedVariableSetRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x82\x01\n\x0fnamed_variables\x18\x03 \x03(\x0b\x32i.luminary.proto.api.v0.luminarycloud.named_variable_set.UpdateNamedVariableSetRequest.NamedVariablesEntry\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\x42\x07\n\x05_name\"\x86\x01\n\x1eUpdateNamedVariableSetResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\"/\n!GetNamedVariableSetVersionRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x8a\x01\n\"GetNamedVariableSetVersionResponse\x12\x64\n\x12named_variable_set\x18\x01 \x01(\x0b\x32H.luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSet\";\n,GetLatestVersionsForNamedVariableSetsRequest\x12\x0b\n\x03ids\x18\x01 \x03(\t\"K\n-GetLatestVersionsForNamedVariableSetsResponse\x12\x1a\n\x12latest_version_ids\x18\x01 \x03(\t2\xd6\r\n\x17NamedVariableSetService\x12\xe3\x01\n\x13GetNamedVariableSet\x12R.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetRequest\x1aS.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v0/named_variable_set/{id}\x12\xfb\x01\n\x15ListNamedVariableSets\x12T.luminary.proto.api.v0.luminarycloud.named_variable_set.ListNamedVariableSetsRequest\x1aU.luminary.proto.api.v0.luminarycloud.named_variable_set.ListNamedVariableSetsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/v0/projects/{project_id}/named_variable_sets\x12\x8b\x02\n\x16\x43reateNamedVariableSet\x12U.luminary.proto.api.v0.luminarycloud.named_variable_set.CreateNamedVariableSetRequest\x1aV.luminary.proto.api.v0.luminarycloud.named_variable_set.CreateNamedVariableSetResponse\"B\x82\xd3\xe4\x93\x02\x32\"-/v0/projects/{project_id}/named_variable_sets:\x01*\x8a\xb5\x18\x06\x08\x64\x12\x02\x08\x01\x12\xac\x01\n\x16\x44\x65leteNamedVariableSet\x12U.luminary.proto.api.v0.luminarycloud.named_variable_set.DeleteNamedVariableSetRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d*\x1b/v0/named_variable_set/{id}\x12\xef\x01\n\x16UpdateNamedVariableSet\x12U.luminary.proto.api.v0.luminarycloud.named_variable_set.UpdateNamedVariableSetRequest\x1aV.luminary.proto.api.v0.luminarycloud.named_variable_set.UpdateNamedVariableSetResponse\"&\x82\xd3\xe4\x93\x02 \x1a\x1b/v0/named_variable_set/{id}:\x01*\x12\x80\x02\n\x1aGetNamedVariableSetVersion\x12Y.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetVersionRequest\x1aZ.luminary.proto.api.v0.luminarycloud.named_variable_set.GetNamedVariableSetVersionResponse\"+\x82\xd3\xe4\x93\x02%\x12#/v0/named_variable_set_version/{id}\x12\xa4\x02\n%GetLatestVersionsForNamedVariableSets\x12\x64.luminary.proto.api.v0.luminarycloud.named_variable_set.GetLatestVersionsForNamedVariableSetsRequest\x1a\x65.luminary.proto.api.v0.luminarycloud.named_variable_set.GetLatestVersionsForNamedVariableSetsResponse\".\x82\xd3\xe4\x93\x02(\"#/v0/named_variable_sets/fetch_batch:\x01*BFZDluminarycloud.com/core/proto/api/v0/luminarycloud/named_variable_setb\x06proto3')
23
23
 
24
24
 
25
25
 
@@ -38,6 +38,8 @@ _UPDATENAMEDVARIABLESETREQUEST_NAMEDVARIABLESENTRY = _UPDATENAMEDVARIABLESETREQU
38
38
  _UPDATENAMEDVARIABLESETRESPONSE = DESCRIPTOR.message_types_by_name['UpdateNamedVariableSetResponse']
39
39
  _GETNAMEDVARIABLESETVERSIONREQUEST = DESCRIPTOR.message_types_by_name['GetNamedVariableSetVersionRequest']
40
40
  _GETNAMEDVARIABLESETVERSIONRESPONSE = DESCRIPTOR.message_types_by_name['GetNamedVariableSetVersionResponse']
41
+ _GETLATESTVERSIONSFORNAMEDVARIABLESETSREQUEST = DESCRIPTOR.message_types_by_name['GetLatestVersionsForNamedVariableSetsRequest']
42
+ _GETLATESTVERSIONSFORNAMEDVARIABLESETSRESPONSE = DESCRIPTOR.message_types_by_name['GetLatestVersionsForNamedVariableSetsResponse']
41
43
  NamedVariableSet = _reflection.GeneratedProtocolMessageType('NamedVariableSet', (_message.Message,), {
42
44
 
43
45
  'NamedVariablesEntry' : _reflection.GeneratedProtocolMessageType('NamedVariablesEntry', (_message.Message,), {
@@ -146,6 +148,20 @@ GetNamedVariableSetVersionResponse = _reflection.GeneratedProtocolMessageType('G
146
148
  })
147
149
  _sym_db.RegisterMessage(GetNamedVariableSetVersionResponse)
148
150
 
151
+ GetLatestVersionsForNamedVariableSetsRequest = _reflection.GeneratedProtocolMessageType('GetLatestVersionsForNamedVariableSetsRequest', (_message.Message,), {
152
+ 'DESCRIPTOR' : _GETLATESTVERSIONSFORNAMEDVARIABLESETSREQUEST,
153
+ '__module__' : 'proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2'
154
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.named_variable_set.GetLatestVersionsForNamedVariableSetsRequest)
155
+ })
156
+ _sym_db.RegisterMessage(GetLatestVersionsForNamedVariableSetsRequest)
157
+
158
+ GetLatestVersionsForNamedVariableSetsResponse = _reflection.GeneratedProtocolMessageType('GetLatestVersionsForNamedVariableSetsResponse', (_message.Message,), {
159
+ 'DESCRIPTOR' : _GETLATESTVERSIONSFORNAMEDVARIABLESETSRESPONSE,
160
+ '__module__' : 'proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2'
161
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.named_variable_set.GetLatestVersionsForNamedVariableSetsResponse)
162
+ })
163
+ _sym_db.RegisterMessage(GetLatestVersionsForNamedVariableSetsResponse)
164
+
149
165
  _NAMEDVARIABLESETSERVICE = DESCRIPTOR.services_by_name['NamedVariableSetService']
150
166
  if _descriptor._USE_C_DESCRIPTORS == False:
151
167
 
@@ -169,6 +185,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
169
185
  _NAMEDVARIABLESETSERVICE.methods_by_name['UpdateNamedVariableSet']._serialized_options = b'\202\323\344\223\002 \032\033/v0/named_variable_set/{id}:\001*'
170
186
  _NAMEDVARIABLESETSERVICE.methods_by_name['GetNamedVariableSetVersion']._options = None
171
187
  _NAMEDVARIABLESETSERVICE.methods_by_name['GetNamedVariableSetVersion']._serialized_options = b'\202\323\344\223\002%\022#/v0/named_variable_set_version/{id}'
188
+ _NAMEDVARIABLESETSERVICE.methods_by_name['GetLatestVersionsForNamedVariableSets']._options = None
189
+ _NAMEDVARIABLESETSERVICE.methods_by_name['GetLatestVersionsForNamedVariableSets']._serialized_options = b'\202\323\344\223\002(\"#/v0/named_variable_sets/fetch_batch:\001*'
172
190
  _NAMEDVARIABLESET._serialized_start=279
173
191
  _NAMEDVARIABLESET._serialized_end=669
174
192
  _NAMEDVARIABLESET_NAMEDVARIABLESENTRY._serialized_start=582
@@ -199,6 +217,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
199
217
  _GETNAMEDVARIABLESETVERSIONREQUEST._serialized_end=2028
200
218
  _GETNAMEDVARIABLESETVERSIONRESPONSE._serialized_start=2031
201
219
  _GETNAMEDVARIABLESETVERSIONRESPONSE._serialized_end=2169
202
- _NAMEDVARIABLESETSERVICE._serialized_start=2172
203
- _NAMEDVARIABLESETSERVICE._serialized_end=3627
220
+ _GETLATESTVERSIONSFORNAMEDVARIABLESETSREQUEST._serialized_start=2171
221
+ _GETLATESTVERSIONSFORNAMEDVARIABLESETSREQUEST._serialized_end=2230
222
+ _GETLATESTVERSIONSFORNAMEDVARIABLESETSRESPONSE._serialized_start=2232
223
+ _GETLATESTVERSIONSFORNAMEDVARIABLESETSRESPONSE._serialized_end=2307
224
+ _NAMEDVARIABLESETSERVICE._serialized_start=2310
225
+ _NAMEDVARIABLESETSERVICE._serialized_end=4060
204
226
  # @@protoc_insertion_point(module_scope)
@@ -294,3 +294,33 @@ class GetNamedVariableSetVersionResponse(google.protobuf.message.Message):
294
294
  def ClearField(self, field_name: typing_extensions.Literal["named_variable_set", b"named_variable_set"]) -> None: ...
295
295
 
296
296
  global___GetNamedVariableSetVersionResponse = GetNamedVariableSetVersionResponse
297
+
298
+ class GetLatestVersionsForNamedVariableSetsRequest(google.protobuf.message.Message):
299
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
300
+
301
+ IDS_FIELD_NUMBER: builtins.int
302
+ @property
303
+ def ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
304
+ def __init__(
305
+ self,
306
+ *,
307
+ ids: collections.abc.Iterable[builtins.str] | None = ...,
308
+ ) -> None: ...
309
+ def ClearField(self, field_name: typing_extensions.Literal["ids", b"ids"]) -> None: ...
310
+
311
+ global___GetLatestVersionsForNamedVariableSetsRequest = GetLatestVersionsForNamedVariableSetsRequest
312
+
313
+ class GetLatestVersionsForNamedVariableSetsResponse(google.protobuf.message.Message):
314
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
315
+
316
+ LATEST_VERSION_IDS_FIELD_NUMBER: builtins.int
317
+ @property
318
+ def latest_version_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
319
+ def __init__(
320
+ self,
321
+ *,
322
+ latest_version_ids: collections.abc.Iterable[builtins.str] | None = ...,
323
+ ) -> None: ...
324
+ def ClearField(self, field_name: typing_extensions.Literal["latest_version_ids", b"latest_version_ids"]) -> None: ...
325
+
326
+ global___GetLatestVersionsForNamedVariableSetsResponse = GetLatestVersionsForNamedVariableSetsResponse
@@ -45,6 +45,11 @@ class NamedVariableSetServiceStub(object):
45
45
  request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetNamedVariableSetVersionRequest.SerializeToString,
46
46
  response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetNamedVariableSetVersionResponse.FromString,
47
47
  )
48
+ self.GetLatestVersionsForNamedVariableSets = channel.unary_unary(
49
+ '/luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSetService/GetLatestVersionsForNamedVariableSets',
50
+ request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetLatestVersionsForNamedVariableSetsRequest.SerializeToString,
51
+ response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetLatestVersionsForNamedVariableSetsResponse.FromString,
52
+ )
48
53
 
49
54
 
50
55
  class NamedVariableSetServiceServicer(object):
@@ -92,6 +97,13 @@ class NamedVariableSetServiceServicer(object):
92
97
  context.set_details('Method not implemented!')
93
98
  raise NotImplementedError('Method not implemented!')
94
99
 
100
+ def GetLatestVersionsForNamedVariableSets(self, request, context):
101
+ """Get latest version IDs for multiple named variable sets by their IDs.
102
+ """
103
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
104
+ context.set_details('Method not implemented!')
105
+ raise NotImplementedError('Method not implemented!')
106
+
95
107
 
96
108
  def add_NamedVariableSetServiceServicer_to_server(servicer, server):
97
109
  rpc_method_handlers = {
@@ -125,6 +137,11 @@ def add_NamedVariableSetServiceServicer_to_server(servicer, server):
125
137
  request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetNamedVariableSetVersionRequest.FromString,
126
138
  response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetNamedVariableSetVersionResponse.SerializeToString,
127
139
  ),
140
+ 'GetLatestVersionsForNamedVariableSets': grpc.unary_unary_rpc_method_handler(
141
+ servicer.GetLatestVersionsForNamedVariableSets,
142
+ request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetLatestVersionsForNamedVariableSetsRequest.FromString,
143
+ response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetLatestVersionsForNamedVariableSetsResponse.SerializeToString,
144
+ ),
128
145
  }
129
146
  generic_handler = grpc.method_handlers_generic_handler(
130
147
  'luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSetService', rpc_method_handlers)
@@ -236,3 +253,20 @@ class NamedVariableSetService(object):
236
253
  proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetNamedVariableSetVersionResponse.FromString,
237
254
  options, channel_credentials,
238
255
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
256
+
257
+ @staticmethod
258
+ def GetLatestVersionsForNamedVariableSets(request,
259
+ target,
260
+ options=(),
261
+ channel_credentials=None,
262
+ call_credentials=None,
263
+ insecure=False,
264
+ compression=None,
265
+ wait_for_ready=None,
266
+ timeout=None,
267
+ metadata=None):
268
+ return grpc.experimental.unary_unary(request, target, '/luminary.proto.api.v0.luminarycloud.named_variable_set.NamedVariableSetService/GetLatestVersionsForNamedVariableSets',
269
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetLatestVersionsForNamedVariableSetsRequest.SerializeToString,
270
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_named__variable__set_dot_named__variable__set__pb2.GetLatestVersionsForNamedVariableSetsResponse.FromString,
271
+ options, channel_credentials,
272
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -39,6 +39,11 @@ class NamedVariableSetServiceStub:
39
39
  luminarycloud._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2.GetNamedVariableSetVersionResponse,
40
40
  ]
41
41
  """Get a named variable set version."""
42
+ GetLatestVersionsForNamedVariableSets: grpc.UnaryUnaryMultiCallable[
43
+ luminarycloud._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2.GetLatestVersionsForNamedVariableSetsRequest,
44
+ luminarycloud._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2.GetLatestVersionsForNamedVariableSetsResponse,
45
+ ]
46
+ """Get latest version IDs for multiple named variable sets by their IDs."""
42
47
 
43
48
  class NamedVariableSetServiceServicer(metaclass=abc.ABCMeta):
44
49
  @abc.abstractmethod
@@ -83,5 +88,12 @@ class NamedVariableSetServiceServicer(metaclass=abc.ABCMeta):
83
88
  context: grpc.ServicerContext,
84
89
  ) -> luminarycloud._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2.GetNamedVariableSetVersionResponse:
85
90
  """Get a named variable set version."""
91
+ @abc.abstractmethod
92
+ def GetLatestVersionsForNamedVariableSets(
93
+ self,
94
+ request: luminarycloud._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2.GetLatestVersionsForNamedVariableSetsRequest,
95
+ context: grpc.ServicerContext,
96
+ ) -> luminarycloud._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2.GetLatestVersionsForNamedVariableSetsResponse:
97
+ """Get latest version IDs for multiple named variable sets by their IDs."""
86
98
 
87
99
  def add_NamedVariableSetServiceServicer_to_server(servicer: NamedVariableSetServiceServicer, server: grpc.Server) -> None: ...
@@ -21,7 +21,7 @@ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
21
21
  from luminarycloud._proto.quantity import quantity_pb2 as proto_dot_quantity_dot_quantity__pb2
22
22
 
23
23
 
24
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6proto/api/v0/luminarycloud/physics_ai/physics_ai.proto\x12.luminary.proto.api.v0.luminarycloud.physics_ai\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\x1a\x15proto/base/base.proto\x1a\x1dproto/quantity/quantity.proto\"\xad\x01\n\x1cPhysicsAiArchitectureVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tchangelog\x18\x03 \x01(\t\x12`\n\x0flifecycle_state\x18\x04 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\xa6\x01\n\x15PhysicsAiArchitecture\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12^\n\x08versions\x18\x04 \x03(\x0b\x32L.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitectureVersion\"\x1a\n\x18ListArchitecturesRequest\"y\n\x19ListArchitecturesResponse\x12\\\n\rarchitectures\x18\x01 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitecture\"\x93\x01\n\x15PhysicsAiModelVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12`\n\x0flifecycle_state\x18\x03 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\x98\x01\n\x0ePhysicsAiModel\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12W\n\x08versions\x18\x04 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModelVersion\"\x1d\n\x1bListPretrainedModelsRequest\"n\n\x1cListPretrainedModelsResponse\x12N\n\x06models\x18\x01 \x03(\x0b\x32>.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModel\".\n\x0cSurfaceGroup\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08surfaces\x18\x02 \x03(\t\"\xb8\x04\n\x1fGetSolutionDataPhysicsAIRequest\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x18\n\x10\x65xclude_surfaces\x18\x02 \x03(\t\x12\x12\n\nfill_holes\x18\x03 \x01(\x02\x12\x45\n\x16surface_fields_to_keep\x18\x04 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x44\n\x15volume_fields_to_keep\x18\x05 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x16\n\x0eprocess_volume\x18\x06 \x01(\x08\x12\x18\n\x10single_precision\x18\x07 \x01(\x08\x12~\n\x10internal_options\x18\x08 \x03(\x0b\x32\x64.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest.InternalOptionsEntry\x12[\n\x15\x65xport_surface_groups\x18\t \x03(\x0b\x32<.luminary.proto.api.v0.luminarycloud.physics_ai.SurfaceGroup\x1a\x36\n\x14InternalOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"b\n GetSolutionDataPhysicsAIResponse\x12>\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\";\n\x10TrainingSolution\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x12\n\ndata_split\x18\x02 \x01(\t\"\xae\x05\n\x14PhysicsAiTrainingJob\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1f\n\x17\x61rchitecture_version_id\x18\x02 \x01(\t\x12\x0f\n\x07user_id\x18\x03 \x01(\t\x12\x17\n\x0ftraining_config\x18\x04 \x01(\t\x12i\n\x19training_data_source_type\x18\x05 \x01(\x0e\x32\x46.luminary.proto.api.v0.luminarycloud.physics_ai.TrainingDataSourceType\x12\x1c\n\x14training_description\x18\x06 \x01(\t\x12\x1c\n\x14\x65xternal_dataset_uri\x18\x07 \x01(\t\x12\x64\n\x13initialization_type\x18\x08 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.ModelInitializationType\x12\x1d\n\x15\x62\x61se_model_version_id\x18\t \x01(\t\x12.\n\x06status\x18\n \x01(\x0b\x32\x1e.luminary.proto.base.JobStatus\x12\x15\n\rerror_message\x18\x0b \x01(\t\x12\x1f\n\x17output_model_version_id\x18\x0c \x01(\t\x12\x31\n\rcreation_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x63ompletion_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ndataset_id\x18\x10 \x01(\t\"\x87\x03\n\x18SubmitTrainingJobRequest\x12\x1f\n\x17\x61rchitecture_version_id\x18\x01 \x01(\t\x12\x1c\n\x14training_description\x18\x02 \x01(\t\x12\x1c\n\x14\x65xternal_dataset_uri\x18\x03 \x01(\t\x12\\\n\x12training_solutions\x18\x04 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.physics_ai.TrainingSolution\x12\x17\n\x0ftraining_config\x18\x05 \x01(\t\x12\x64\n\x13initialization_type\x18\x06 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.ModelInitializationType\x12\x1d\n\x15\x62\x61se_model_version_id\x18\x07 \x01(\t\x12\x12\n\ndataset_id\x18\x08 \x01(\t\"w\n\x19SubmitTrainingJobResponse\x12Z\n\x0ctraining_job\x18\x01 \x01(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiTrainingJob\"3\n\x18\x43\x61ncelTrainingJobRequest\x12\x17\n\x0ftraining_job_id\x18\x01 \x01(\t\"\x1b\n\x19\x43\x61ncelTrainingJobResponse\"\xb8\x03\n\x10PhysicsAiDataset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\ncreated_by\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x11\n\tis_locked\x18\x05 \x01(\x08\x12\x31\n\rcreation_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\tlocked_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12S\n\x05\x63\x61ses\x18\t \x03(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCase\x12\x66\n\rexport_config\x18\n \x01(\x0b\x32O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest\";\n\x18PhysicsAiDatasetCaseFile\x12\x11\n\tfile_type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"t\n\x19PhysicsAiDatasetCaseFiles\x12W\n\x05\x66iles\x18\x01 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFile\"\x87\x02\n\x14PhysicsAiDatasetCase\x12\x0f\n\x07\x63\x61se_id\x18\x01 \x01(\t\x12\x13\n\x0bsolution_id\x18\x02 \x01(\t\x12\x15\n\rsimulation_id\x18\x03 \x01(\t\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12W\n\x05\x66iles\x18\x05 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFile\x12\x30\n\x0fsource_metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x81\x02\n\x1f\x43reatePhysicsAiDatasetCaseInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x15\n\rsimulation_id\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12W\n\x05\x66iles\x18\x04 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFile\x12\x30\n\x0fsource_metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xb4\x02\n\x14\x43reateDatasetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12^\n\x05\x63\x61ses\x18\x03 \x03(\x0b\x32O.luminary.proto.api.v0.luminarycloud.physics_ai.CreatePhysicsAiDatasetCaseInput\x12\x31\n\x10parameter_schema\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x66\n\rexport_config\x18\x05 \x01(\x0b\x32O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest\"j\n\x15\x43reateDatasetResponse\x12Q\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32@.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDataset*\xb4\x01\n\x17PhysicsAiLifecycleState\x12\x1f\n\x1bLIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bLIFECYCLE_STATE_DEVELOPMENT\x10\x01\x12\x1a\n\x16LIFECYCLE_STATE_ACTIVE\x10\x02\x12\x1e\n\x1aLIFECYCLE_STATE_DEPRECATED\x10\x03\x12\x1b\n\x17LIFECYCLE_STATE_RETIRED\x10\x04*\xa7\x01\n\x16TrainingDataSourceType\x12)\n%TRAINING_DATA_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x32\n.TRAINING_DATA_SOURCE_TYPE_SIMULATION_SOLUTIONS\x10\x01\x12.\n*TRAINING_DATA_SOURCE_TYPE_EXTERNAL_DATASET\x10\x02*\xc1\x01\n\x17ModelInitializationType\x12)\n%MODEL_INITIALIZATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODEL_INITIALIZATION_TYPE_RANDOM\x10\x01\x12+\n\'MODEL_INITIALIZATION_TYPE_MODEL_VERSION\x10\x02\x12(\n$MODEL_INITIALIZATION_TYPE_CHECKPOINT\x10\x03\x32\xd0\x08\n\x10PhysicsAiService\x12\xce\x01\n\x11ListArchitectures\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.ListArchitecturesRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.ListArchitecturesResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v0/physics_ai/architectures\x12\xdb\x01\n\x14ListPretrainedModels\x12K.luminary.proto.api.v0.luminarycloud.physics_ai.ListPretrainedModelsRequest\x1aL.luminary.proto.api.v0.luminarycloud.physics_ai.ListPretrainedModelsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v0/physics_ai/pretrained_models\x12\xf5\x01\n\x18GetSolutionDataPhysicsAI\x12O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest\x1aP.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/v0/physics_ai/solutions/{solution_id}/data:\x01*\x12\xd1\x01\n\x11SubmitTrainingJob\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v0/physics_ai/training/jobs:\x01*\x12\xc0\x01\n\rCreateDataset\x12\x44.luminary.proto.api.v0.luminarycloud.physics_ai.CreateDatasetRequest\x1a\x45.luminary.proto.api.v0.luminarycloud.physics_ai.CreateDatasetResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v0/physics_ai/datasets:\x01*B>Z<luminarycloud.com/core/proto/api/v0/luminarycloud/physics_aib\x06proto3')
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6proto/api/v0/luminarycloud/physics_ai/physics_ai.proto\x12.luminary.proto.api.v0.luminarycloud.physics_ai\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\x1a\x15proto/base/base.proto\x1a\x1dproto/quantity/quantity.proto\"\xad\x01\n\x1cPhysicsAiArchitectureVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tchangelog\x18\x03 \x01(\t\x12`\n\x0flifecycle_state\x18\x04 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\xa6\x01\n\x15PhysicsAiArchitecture\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12^\n\x08versions\x18\x04 \x03(\x0b\x32L.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitectureVersion\"\x1a\n\x18ListArchitecturesRequest\"y\n\x19ListArchitecturesResponse\x12\\\n\rarchitectures\x18\x01 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitecture\"\x93\x01\n\x15PhysicsAiModelVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12`\n\x0flifecycle_state\x18\x03 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\x98\x01\n\x0ePhysicsAiModel\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12W\n\x08versions\x18\x04 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModelVersion\"\x1d\n\x1bListPretrainedModelsRequest\"n\n\x1cListPretrainedModelsResponse\x12N\n\x06models\x18\x01 \x03(\x0b\x32>.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModel\".\n\x0cSurfaceGroup\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08surfaces\x18\x02 \x03(\t\"\xe9\x04\n\x1fGetSolutionDataPhysicsAIRequest\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x18\n\x10\x65xclude_surfaces\x18\x02 \x03(\t\x12\x12\n\nfill_holes\x18\x03 \x01(\x02\x12\x45\n\x16surface_fields_to_keep\x18\x04 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x44\n\x15volume_fields_to_keep\x18\x05 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x16\n\x0eprocess_volume\x18\x06 \x01(\x08\x12\x18\n\x10single_precision\x18\x07 \x01(\x08\x12~\n\x10internal_options\x18\x08 \x03(\x0b\x32\x64.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest.InternalOptionsEntry\x12[\n\x15\x65xport_surface_groups\x18\t \x03(\x0b\x32<.luminary.proto.api.v0.luminarycloud.physics_ai.SurfaceGroup\x12\x19\n\x11skip_tar_creation\x18\n \x01(\x08\x12\x14\n\x0c\x65xclude_tags\x18\x0b \x03(\t\x1a\x36\n\x14InternalOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe6\x01\n GetSolutionDataPhysicsAIResponse\x12>\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\x12\x63\n\x10physics_ai_files\x18\x02 \x01(\x0b\x32I.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFiles\x12\x1d\n\x15physics_ai_folder_url\x18\x03 \x01(\t\";\n\x10TrainingSolution\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x12\n\ndata_split\x18\x02 \x01(\t\"\xae\x05\n\x14PhysicsAiTrainingJob\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1f\n\x17\x61rchitecture_version_id\x18\x02 \x01(\t\x12\x0f\n\x07user_id\x18\x03 \x01(\t\x12\x17\n\x0ftraining_config\x18\x04 \x01(\t\x12i\n\x19training_data_source_type\x18\x05 \x01(\x0e\x32\x46.luminary.proto.api.v0.luminarycloud.physics_ai.TrainingDataSourceType\x12\x1c\n\x14training_description\x18\x06 \x01(\t\x12\x1c\n\x14\x65xternal_dataset_uri\x18\x07 \x01(\t\x12\x64\n\x13initialization_type\x18\x08 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.ModelInitializationType\x12\x1d\n\x15\x62\x61se_model_version_id\x18\t \x01(\t\x12.\n\x06status\x18\n \x01(\x0b\x32\x1e.luminary.proto.base.JobStatus\x12\x15\n\rerror_message\x18\x0b \x01(\t\x12\x1f\n\x17output_model_version_id\x18\x0c \x01(\t\x12\x31\n\rcreation_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x63ompletion_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ndataset_id\x18\x10 \x01(\t\"\x87\x03\n\x18SubmitTrainingJobRequest\x12\x1f\n\x17\x61rchitecture_version_id\x18\x01 \x01(\t\x12\x1c\n\x14training_description\x18\x02 \x01(\t\x12\x1c\n\x14\x65xternal_dataset_uri\x18\x03 \x01(\t\x12\\\n\x12training_solutions\x18\x04 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.physics_ai.TrainingSolution\x12\x17\n\x0ftraining_config\x18\x05 \x01(\t\x12\x64\n\x13initialization_type\x18\x06 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.ModelInitializationType\x12\x1d\n\x15\x62\x61se_model_version_id\x18\x07 \x01(\t\x12\x12\n\ndataset_id\x18\x08 \x01(\t\"w\n\x19SubmitTrainingJobResponse\x12Z\n\x0ctraining_job\x18\x01 \x01(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiTrainingJob\"3\n\x18\x43\x61ncelTrainingJobRequest\x12\x17\n\x0ftraining_job_id\x18\x01 \x01(\t\"\x1b\n\x19\x43\x61ncelTrainingJobResponse\"\x92\x03\n\x10PhysicsAiDataset\x12\n\n\x02id\x18\x01 \x01(\t\x12\x17\n\ncreated_by\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x11\n\tis_locked\x18\x05 \x01(\x08\x12\x31\n\rcreation_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\tlocked_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x66\n\rexport_config\x18\n \x01(\x0b\x32O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequestB\r\n\x0b_created_byB\x0e\n\x0c_descriptionJ\x04\x08\t\x10\n\";\n\x18PhysicsAiDatasetCaseFile\x12\x11\n\tfile_type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"t\n\x19PhysicsAiDatasetCaseFiles\x12W\n\x05\x66iles\x18\x01 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFile\"\x87\x02\n\x14PhysicsAiDatasetCase\x12\x0f\n\x07\x63\x61se_id\x18\x01 \x01(\t\x12\x13\n\x0bsolution_id\x18\x02 \x01(\t\x12\x15\n\rsimulation_id\x18\x03 \x01(\t\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12W\n\x05\x66iles\x18\x05 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFile\x12\x30\n\x0fsource_metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x81\x02\n\x1f\x43reatePhysicsAiDatasetCaseInput\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x15\n\rsimulation_id\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12W\n\x05\x66iles\x18\x04 \x03(\x0b\x32H.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDatasetCaseFile\x12\x30\n\x0fsource_metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xb4\x02\n\x14\x43reateDatasetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12^\n\x05\x63\x61ses\x18\x03 \x03(\x0b\x32O.luminary.proto.api.v0.luminarycloud.physics_ai.CreatePhysicsAiDatasetCaseInput\x12\x31\n\x10parameter_schema\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x66\n\rexport_config\x18\x05 \x01(\x0b\x32O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest\"j\n\x15\x43reateDatasetResponse\x12Q\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32@.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDataset\"\x15\n\x13ListDatasetsRequest\"j\n\x14ListDatasetsResponse\x12R\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiDataset*\xb4\x01\n\x17PhysicsAiLifecycleState\x12\x1f\n\x1bLIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bLIFECYCLE_STATE_DEVELOPMENT\x10\x01\x12\x1a\n\x16LIFECYCLE_STATE_ACTIVE\x10\x02\x12\x1e\n\x1aLIFECYCLE_STATE_DEPRECATED\x10\x03\x12\x1b\n\x17LIFECYCLE_STATE_RETIRED\x10\x04*\xa7\x01\n\x16TrainingDataSourceType\x12)\n%TRAINING_DATA_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x32\n.TRAINING_DATA_SOURCE_TYPE_SIMULATION_SOLUTIONS\x10\x01\x12.\n*TRAINING_DATA_SOURCE_TYPE_EXTERNAL_DATASET\x10\x02*\xc1\x01\n\x17ModelInitializationType\x12)\n%MODEL_INITIALIZATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODEL_INITIALIZATION_TYPE_RANDOM\x10\x01\x12+\n\'MODEL_INITIALIZATION_TYPE_MODEL_VERSION\x10\x02\x12(\n$MODEL_INITIALIZATION_TYPE_CHECKPOINT\x10\x03\x32\x8d\n\n\x10PhysicsAiService\x12\xce\x01\n\x11ListArchitectures\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.ListArchitecturesRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.ListArchitecturesResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v0/physics_ai/architectures\x12\xdb\x01\n\x14ListPretrainedModels\x12K.luminary.proto.api.v0.luminarycloud.physics_ai.ListPretrainedModelsRequest\x1aL.luminary.proto.api.v0.luminarycloud.physics_ai.ListPretrainedModelsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v0/physics_ai/pretrained_models\x12\xf5\x01\n\x18GetSolutionDataPhysicsAI\x12O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest\x1aP.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/v0/physics_ai/solutions/{solution_id}/data:\x01*\x12\xd1\x01\n\x11SubmitTrainingJob\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v0/physics_ai/training/jobs:\x01*\x12\xc0\x01\n\rCreateDataset\x12\x44.luminary.proto.api.v0.luminarycloud.physics_ai.CreateDatasetRequest\x1a\x45.luminary.proto.api.v0.luminarycloud.physics_ai.CreateDatasetResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v0/physics_ai/datasets:\x01*\x12\xba\x01\n\x0cListDatasets\x12\x43.luminary.proto.api.v0.luminarycloud.physics_ai.ListDatasetsRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.physics_ai.ListDatasetsResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v0/physics_ai/datasetsB>Z<luminarycloud.com/core/proto/api/v0/luminarycloud/physics_aib\x06proto3')
25
25
 
26
26
  _PHYSICSAILIFECYCLESTATE = DESCRIPTOR.enum_types_by_name['PhysicsAiLifecycleState']
27
27
  PhysicsAiLifecycleState = enum_type_wrapper.EnumTypeWrapper(_PHYSICSAILIFECYCLESTATE)
@@ -68,6 +68,8 @@ _PHYSICSAIDATASETCASE = DESCRIPTOR.message_types_by_name['PhysicsAiDatasetCase']
68
68
  _CREATEPHYSICSAIDATASETCASEINPUT = DESCRIPTOR.message_types_by_name['CreatePhysicsAiDatasetCaseInput']
69
69
  _CREATEDATASETREQUEST = DESCRIPTOR.message_types_by_name['CreateDatasetRequest']
70
70
  _CREATEDATASETRESPONSE = DESCRIPTOR.message_types_by_name['CreateDatasetResponse']
71
+ _LISTDATASETSREQUEST = DESCRIPTOR.message_types_by_name['ListDatasetsRequest']
72
+ _LISTDATASETSRESPONSE = DESCRIPTOR.message_types_by_name['ListDatasetsResponse']
71
73
  PhysicsAiArchitectureVersion = _reflection.GeneratedProtocolMessageType('PhysicsAiArchitectureVersion', (_message.Message,), {
72
74
  'DESCRIPTOR' : _PHYSICSAIARCHITECTUREVERSION,
73
75
  '__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
@@ -244,6 +246,20 @@ CreateDatasetResponse = _reflection.GeneratedProtocolMessageType('CreateDatasetR
244
246
  })
245
247
  _sym_db.RegisterMessage(CreateDatasetResponse)
246
248
 
249
+ ListDatasetsRequest = _reflection.GeneratedProtocolMessageType('ListDatasetsRequest', (_message.Message,), {
250
+ 'DESCRIPTOR' : _LISTDATASETSREQUEST,
251
+ '__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
252
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.physics_ai.ListDatasetsRequest)
253
+ })
254
+ _sym_db.RegisterMessage(ListDatasetsRequest)
255
+
256
+ ListDatasetsResponse = _reflection.GeneratedProtocolMessageType('ListDatasetsResponse', (_message.Message,), {
257
+ 'DESCRIPTOR' : _LISTDATASETSRESPONSE,
258
+ '__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
259
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.physics_ai.ListDatasetsResponse)
260
+ })
261
+ _sym_db.RegisterMessage(ListDatasetsResponse)
262
+
247
263
  _PHYSICSAISERVICE = DESCRIPTOR.services_by_name['PhysicsAiService']
248
264
  if _descriptor._USE_C_DESCRIPTORS == False:
249
265
 
@@ -261,12 +277,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
261
277
  _PHYSICSAISERVICE.methods_by_name['SubmitTrainingJob']._serialized_options = b'\202\323\344\223\002!\"\034/v0/physics_ai/training/jobs:\001*'
262
278
  _PHYSICSAISERVICE.methods_by_name['CreateDataset']._options = None
263
279
  _PHYSICSAISERVICE.methods_by_name['CreateDataset']._serialized_options = b'\202\323\344\223\002\034\"\027/v0/physics_ai/datasets:\001*'
264
- _PHYSICSAILIFECYCLESTATE._serialized_start=4879
265
- _PHYSICSAILIFECYCLESTATE._serialized_end=5059
266
- _TRAININGDATASOURCETYPE._serialized_start=5062
267
- _TRAININGDATASOURCETYPE._serialized_end=5229
268
- _MODELINITIALIZATIONTYPE._serialized_start=5232
269
- _MODELINITIALIZATIONTYPE._serialized_end=5425
280
+ _PHYSICSAISERVICE.methods_by_name['ListDatasets']._options = None
281
+ _PHYSICSAISERVICE.methods_by_name['ListDatasets']._serialized_options = b'\202\323\344\223\002\031\022\027/v0/physics_ai/datasets'
282
+ _PHYSICSAILIFECYCLESTATE._serialized_start=5154
283
+ _PHYSICSAILIFECYCLESTATE._serialized_end=5334
284
+ _TRAININGDATASOURCETYPE._serialized_start=5337
285
+ _TRAININGDATASOURCETYPE._serialized_end=5504
286
+ _MODELINITIALIZATIONTYPE._serialized_start=5507
287
+ _MODELINITIALIZATIONTYPE._serialized_end=5700
270
288
  _PHYSICSAIARCHITECTUREVERSION._serialized_start=302
271
289
  _PHYSICSAIARCHITECTUREVERSION._serialized_end=475
272
290
  _PHYSICSAIARCHITECTURE._serialized_start=478
@@ -286,37 +304,41 @@ if _descriptor._USE_C_DESCRIPTORS == False:
286
304
  _SURFACEGROUP._serialized_start=1245
287
305
  _SURFACEGROUP._serialized_end=1291
288
306
  _GETSOLUTIONDATAPHYSICSAIREQUEST._serialized_start=1294
289
- _GETSOLUTIONDATAPHYSICSAIREQUEST._serialized_end=1862
290
- _GETSOLUTIONDATAPHYSICSAIREQUEST_INTERNALOPTIONSENTRY._serialized_start=1808
291
- _GETSOLUTIONDATAPHYSICSAIREQUEST_INTERNALOPTIONSENTRY._serialized_end=1862
292
- _GETSOLUTIONDATAPHYSICSAIRESPONSE._serialized_start=1864
293
- _GETSOLUTIONDATAPHYSICSAIRESPONSE._serialized_end=1962
294
- _TRAININGSOLUTION._serialized_start=1964
295
- _TRAININGSOLUTION._serialized_end=2023
296
- _PHYSICSAITRAININGJOB._serialized_start=2026
297
- _PHYSICSAITRAININGJOB._serialized_end=2712
298
- _SUBMITTRAININGJOBREQUEST._serialized_start=2715
299
- _SUBMITTRAININGJOBREQUEST._serialized_end=3106
300
- _SUBMITTRAININGJOBRESPONSE._serialized_start=3108
301
- _SUBMITTRAININGJOBRESPONSE._serialized_end=3227
302
- _CANCELTRAININGJOBREQUEST._serialized_start=3229
303
- _CANCELTRAININGJOBREQUEST._serialized_end=3280
304
- _CANCELTRAININGJOBRESPONSE._serialized_start=3282
305
- _CANCELTRAININGJOBRESPONSE._serialized_end=3309
306
- _PHYSICSAIDATASET._serialized_start=3312
307
- _PHYSICSAIDATASET._serialized_end=3752
308
- _PHYSICSAIDATASETCASEFILE._serialized_start=3754
309
- _PHYSICSAIDATASETCASEFILE._serialized_end=3813
310
- _PHYSICSAIDATASETCASEFILES._serialized_start=3815
311
- _PHYSICSAIDATASETCASEFILES._serialized_end=3931
312
- _PHYSICSAIDATASETCASE._serialized_start=3934
313
- _PHYSICSAIDATASETCASE._serialized_end=4197
314
- _CREATEPHYSICSAIDATASETCASEINPUT._serialized_start=4200
315
- _CREATEPHYSICSAIDATASETCASEINPUT._serialized_end=4457
316
- _CREATEDATASETREQUEST._serialized_start=4460
317
- _CREATEDATASETREQUEST._serialized_end=4768
318
- _CREATEDATASETRESPONSE._serialized_start=4770
319
- _CREATEDATASETRESPONSE._serialized_end=4876
320
- _PHYSICSAISERVICE._serialized_start=5428
321
- _PHYSICSAISERVICE._serialized_end=6532
307
+ _GETSOLUTIONDATAPHYSICSAIREQUEST._serialized_end=1911
308
+ _GETSOLUTIONDATAPHYSICSAIREQUEST_INTERNALOPTIONSENTRY._serialized_start=1857
309
+ _GETSOLUTIONDATAPHYSICSAIREQUEST_INTERNALOPTIONSENTRY._serialized_end=1911
310
+ _GETSOLUTIONDATAPHYSICSAIRESPONSE._serialized_start=1914
311
+ _GETSOLUTIONDATAPHYSICSAIRESPONSE._serialized_end=2144
312
+ _TRAININGSOLUTION._serialized_start=2146
313
+ _TRAININGSOLUTION._serialized_end=2205
314
+ _PHYSICSAITRAININGJOB._serialized_start=2208
315
+ _PHYSICSAITRAININGJOB._serialized_end=2894
316
+ _SUBMITTRAININGJOBREQUEST._serialized_start=2897
317
+ _SUBMITTRAININGJOBREQUEST._serialized_end=3288
318
+ _SUBMITTRAININGJOBRESPONSE._serialized_start=3290
319
+ _SUBMITTRAININGJOBRESPONSE._serialized_end=3409
320
+ _CANCELTRAININGJOBREQUEST._serialized_start=3411
321
+ _CANCELTRAININGJOBREQUEST._serialized_end=3462
322
+ _CANCELTRAININGJOBRESPONSE._serialized_start=3464
323
+ _CANCELTRAININGJOBRESPONSE._serialized_end=3491
324
+ _PHYSICSAIDATASET._serialized_start=3494
325
+ _PHYSICSAIDATASET._serialized_end=3896
326
+ _PHYSICSAIDATASETCASEFILE._serialized_start=3898
327
+ _PHYSICSAIDATASETCASEFILE._serialized_end=3957
328
+ _PHYSICSAIDATASETCASEFILES._serialized_start=3959
329
+ _PHYSICSAIDATASETCASEFILES._serialized_end=4075
330
+ _PHYSICSAIDATASETCASE._serialized_start=4078
331
+ _PHYSICSAIDATASETCASE._serialized_end=4341
332
+ _CREATEPHYSICSAIDATASETCASEINPUT._serialized_start=4344
333
+ _CREATEPHYSICSAIDATASETCASEINPUT._serialized_end=4601
334
+ _CREATEDATASETREQUEST._serialized_start=4604
335
+ _CREATEDATASETREQUEST._serialized_end=4912
336
+ _CREATEDATASETRESPONSE._serialized_start=4914
337
+ _CREATEDATASETRESPONSE._serialized_end=5020
338
+ _LISTDATASETSREQUEST._serialized_start=5022
339
+ _LISTDATASETSREQUEST._serialized_end=5043
340
+ _LISTDATASETSRESPONSE._serialized_start=5045
341
+ _LISTDATASETSRESPONSE._serialized_end=5151
342
+ _PHYSICSAISERVICE._serialized_start=5703
343
+ _PHYSICSAISERVICE._serialized_end=6996
322
344
  # @@protoc_insertion_point(module_scope)
@@ -304,7 +304,11 @@ class SurfaceGroup(google.protobuf.message.Message):
304
304
  global___SurfaceGroup = SurfaceGroup
305
305
 
306
306
  class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
307
- """Request message for download and process solutions for physics ai"""
307
+ """Request message for download and process solutions for physics ai.
308
+
309
+ Surfaces from exclude_tags are merged with exclude_surfaces to form the final
310
+ list of excluded surfaces.
311
+ """
308
312
 
309
313
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
310
314
 
@@ -332,11 +336,15 @@ class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
332
336
  SINGLE_PRECISION_FIELD_NUMBER: builtins.int
333
337
  INTERNAL_OPTIONS_FIELD_NUMBER: builtins.int
334
338
  EXPORT_SURFACE_GROUPS_FIELD_NUMBER: builtins.int
339
+ SKIP_TAR_CREATION_FIELD_NUMBER: builtins.int
340
+ EXCLUDE_TAGS_FIELD_NUMBER: builtins.int
335
341
  solution_id: builtins.str
336
342
  """Required. The globally unique identifier for the solution."""
337
343
  @property
338
344
  def exclude_surfaces(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
339
- """List of surfaces to exclude from surface solution during physics AI processing"""
345
+ """List of mesh boundary names to exclude from surface solution during physics AI processing.
346
+ See message-level comment for how this interacts with exclude_tags.
347
+ """
340
348
  fill_holes: builtins.float
341
349
  """Size threshold for filling holes in the surface mesh (0 or negative value means no filling)"""
342
350
  @property
@@ -354,7 +362,21 @@ class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
354
362
  """Internal options for physics AI processing only available for staff users."""
355
363
  @property
356
364
  def export_surface_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SurfaceGroup]:
357
- """List of surface groups to export as individual STL files"""
365
+ """List of surface groups to export as individual STL files
366
+ Excluded surfaces will not appear in surface groups.
367
+ """
368
+ skip_tar_creation: builtins.bool
369
+ """If true, skip tar.gz creation and only produce folder output with individual files.
370
+ Internal use only - for dataset export where tar.gz is not needed.
371
+ """
372
+ @property
373
+ def exclude_tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
374
+ """List of geometry tag names (e.g., "Farfield") to exclude from surface solution.
375
+ Tags are resolved to mesh boundary names server-side. Returns an error if
376
+ exclude_tags is used on a simulation without geometry tags. Individual tags
377
+ that are not found are skipped gracefully to support heterogeneous datasets.
378
+ See message-level comment for how this interacts with exclude_surfaces.
379
+ """
358
380
  def __init__(
359
381
  self,
360
382
  *,
@@ -367,8 +389,10 @@ class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
367
389
  single_precision: builtins.bool = ...,
368
390
  internal_options: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
369
391
  export_surface_groups: collections.abc.Iterable[global___SurfaceGroup] | None = ...,
392
+ skip_tar_creation: builtins.bool = ...,
393
+ exclude_tags: collections.abc.Iterable[builtins.str] | None = ...,
370
394
  ) -> None: ...
371
- def ClearField(self, field_name: typing_extensions.Literal["exclude_surfaces", b"exclude_surfaces", "export_surface_groups", b"export_surface_groups", "fill_holes", b"fill_holes", "internal_options", b"internal_options", "process_volume", b"process_volume", "single_precision", b"single_precision", "solution_id", b"solution_id", "surface_fields_to_keep", b"surface_fields_to_keep", "volume_fields_to_keep", b"volume_fields_to_keep"]) -> None: ...
395
+ def ClearField(self, field_name: typing_extensions.Literal["exclude_surfaces", b"exclude_surfaces", "exclude_tags", b"exclude_tags", "export_surface_groups", b"export_surface_groups", "fill_holes", b"fill_holes", "internal_options", b"internal_options", "process_volume", b"process_volume", "single_precision", b"single_precision", "skip_tar_creation", b"skip_tar_creation", "solution_id", b"solution_id", "surface_fields_to_keep", b"surface_fields_to_keep", "volume_fields_to_keep", b"volume_fields_to_keep"]) -> None: ...
372
396
 
373
397
  global___GetSolutionDataPhysicsAIRequest = GetSolutionDataPhysicsAIRequest
374
398
 
@@ -378,16 +402,35 @@ class GetSolutionDataPhysicsAIResponse(google.protobuf.message.Message):
378
402
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
379
403
 
380
404
  FILE_FIELD_NUMBER: builtins.int
405
+ PHYSICS_AI_FILES_FIELD_NUMBER: builtins.int
406
+ PHYSICS_AI_FOLDER_URL_FIELD_NUMBER: builtins.int
381
407
  @property
382
408
  def file(self) -> luminarycloud._proto.api.v0.luminarycloud.common.common_pb2.File:
383
409
  """The processed solution data. Either a signed URL or a file ID."""
410
+ @property
411
+ def physics_ai_files(self) -> global___PhysicsAiDatasetCaseFiles:
412
+ """TODO: Need to implement operations/operation IDs for long-running processes.
413
+ Users should be able to poll for progress and then request the files/their location
414
+ rather than having synchronous blocking calls for potentially long-running exports.
415
+
416
+ Physics AI processed files. Contains individual files (merged_surfaces.vtp,
417
+ merged_surfaces.stl, etc.) that were generated during processing.
418
+ Internal use only - for server-side file operations.
419
+ """
420
+ physics_ai_folder_url: builtins.str
421
+ """GCS folder URL containing the physics AI processed files (e.g., "gs://bucket/path/").
422
+ Internal use only - for server-side file operations. Use with physics_ai_files
423
+ to construct full file paths: folder_url + file.name + "." + file.file_type
424
+ """
384
425
  def __init__(
385
426
  self,
386
427
  *,
387
428
  file: luminarycloud._proto.api.v0.luminarycloud.common.common_pb2.File | None = ...,
429
+ physics_ai_files: global___PhysicsAiDatasetCaseFiles | None = ...,
430
+ physics_ai_folder_url: builtins.str = ...,
388
431
  ) -> None: ...
389
- def HasField(self, field_name: typing_extensions.Literal["file", b"file"]) -> builtins.bool: ...
390
- def ClearField(self, field_name: typing_extensions.Literal["file", b"file"]) -> None: ...
432
+ def HasField(self, field_name: typing_extensions.Literal["file", b"file", "physics_ai_files", b"physics_ai_files"]) -> builtins.bool: ...
433
+ def ClearField(self, field_name: typing_extensions.Literal["file", b"file", "physics_ai_files", b"physics_ai_files", "physics_ai_folder_url", b"physics_ai_folder_url"]) -> None: ...
391
434
 
392
435
  global___GetSolutionDataPhysicsAIResponse = GetSolutionDataPhysicsAIResponse
393
436
 
@@ -600,12 +643,11 @@ class PhysicsAiDataset(google.protobuf.message.Message):
600
643
  CREATION_TIME_FIELD_NUMBER: builtins.int
601
644
  UPDATE_TIME_FIELD_NUMBER: builtins.int
602
645
  LOCKED_AT_FIELD_NUMBER: builtins.int
603
- CASES_FIELD_NUMBER: builtins.int
604
646
  EXPORT_CONFIG_FIELD_NUMBER: builtins.int
605
647
  id: builtins.str
606
648
  """Unique identifier for the dataset."""
607
649
  created_by: builtins.str
608
- """User ID who created the dataset (empty for platform-curated datasets)."""
650
+ """User ID who created the dataset (unset for platform-curated datasets)."""
609
651
  name: builtins.str
610
652
  """Name of the dataset."""
611
653
  description: builtins.str
@@ -622,9 +664,6 @@ class PhysicsAiDataset(google.protobuf.message.Message):
622
664
  def locked_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
623
665
  """Dataset locked time (if locked)."""
624
666
  @property
625
- def cases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhysicsAiDatasetCase]:
626
- """Cases in this dataset."""
627
- @property
628
667
  def export_config(self) -> global___GetSolutionDataPhysicsAIRequest:
629
668
  """Export configuration for extracting solution data for cases. The field
630
669
  solution_id is ignored.
@@ -633,18 +672,21 @@ class PhysicsAiDataset(google.protobuf.message.Message):
633
672
  self,
634
673
  *,
635
674
  id: builtins.str = ...,
636
- created_by: builtins.str = ...,
675
+ created_by: builtins.str | None = ...,
637
676
  name: builtins.str = ...,
638
- description: builtins.str = ...,
677
+ description: builtins.str | None = ...,
639
678
  is_locked: builtins.bool = ...,
640
679
  creation_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
641
680
  update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
642
681
  locked_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
643
- cases: collections.abc.Iterable[global___PhysicsAiDatasetCase] | None = ...,
644
682
  export_config: global___GetSolutionDataPhysicsAIRequest | None = ...,
645
683
  ) -> None: ...
646
- def HasField(self, field_name: typing_extensions.Literal["creation_time", b"creation_time", "export_config", b"export_config", "locked_at", b"locked_at", "update_time", b"update_time"]) -> builtins.bool: ...
647
- def ClearField(self, field_name: typing_extensions.Literal["cases", b"cases", "created_by", b"created_by", "creation_time", b"creation_time", "description", b"description", "export_config", b"export_config", "id", b"id", "is_locked", b"is_locked", "locked_at", b"locked_at", "name", b"name", "update_time", b"update_time"]) -> None: ...
684
+ def HasField(self, field_name: typing_extensions.Literal["_created_by", b"_created_by", "_description", b"_description", "created_by", b"created_by", "creation_time", b"creation_time", "description", b"description", "export_config", b"export_config", "locked_at", b"locked_at", "update_time", b"update_time"]) -> builtins.bool: ...
685
+ def ClearField(self, field_name: typing_extensions.Literal["_created_by", b"_created_by", "_description", b"_description", "created_by", b"created_by", "creation_time", b"creation_time", "description", b"description", "export_config", b"export_config", "id", b"id", "is_locked", b"is_locked", "locked_at", b"locked_at", "name", b"name", "update_time", b"update_time"]) -> None: ...
686
+ @typing.overload
687
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_created_by", b"_created_by"]) -> typing_extensions.Literal["created_by"] | None: ...
688
+ @typing.overload
689
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ...
648
690
 
649
691
  global___PhysicsAiDataset = PhysicsAiDataset
650
692
 
@@ -821,3 +863,31 @@ class CreateDatasetResponse(google.protobuf.message.Message):
821
863
  def ClearField(self, field_name: typing_extensions.Literal["dataset", b"dataset"]) -> None: ...
822
864
 
823
865
  global___CreateDatasetResponse = CreateDatasetResponse
866
+
867
+ class ListDatasetsRequest(google.protobuf.message.Message):
868
+ """Request message for listing datasets for the current user"""
869
+
870
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
871
+
872
+ def __init__(
873
+ self,
874
+ ) -> None: ...
875
+
876
+ global___ListDatasetsRequest = ListDatasetsRequest
877
+
878
+ class ListDatasetsResponse(google.protobuf.message.Message):
879
+ """Response message for listing datasets"""
880
+
881
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
882
+
883
+ DATASETS_FIELD_NUMBER: builtins.int
884
+ @property
885
+ def datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhysicsAiDataset]: ...
886
+ def __init__(
887
+ self,
888
+ *,
889
+ datasets: collections.abc.Iterable[global___PhysicsAiDataset] | None = ...,
890
+ ) -> None: ...
891
+ def ClearField(self, field_name: typing_extensions.Literal["datasets", b"datasets"]) -> None: ...
892
+
893
+ global___ListDatasetsResponse = ListDatasetsResponse