luminarycloud 0.22.0__py3-none-any.whl → 0.22.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.
- luminarycloud/_client/authentication_plugin.py +49 -0
- luminarycloud/_client/client.py +38 -11
- luminarycloud/_client/http_client.py +1 -1
- luminarycloud/_client/retry_interceptor.py +64 -2
- luminarycloud/_helpers/__init__.py +9 -0
- luminarycloud/_helpers/_inference_jobs.py +227 -0
- luminarycloud/_helpers/_parse_iso_datetime.py +54 -0
- luminarycloud/_helpers/download.py +11 -0
- luminarycloud/_helpers/proto_decorator.py +38 -7
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +152 -132
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +66 -8
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +142 -39
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +300 -3
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2.py +255 -0
- luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2.pyi +466 -0
- luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2_grpc.py +242 -0
- luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2_grpc.pyi +95 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +29 -7
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +39 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.py +36 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.pyi +18 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.py +88 -65
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.pyi +42 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +163 -153
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +37 -3
- luminarycloud/_proto/base/base_pb2.py +7 -6
- luminarycloud/_proto/base/base_pb2.pyi +4 -0
- luminarycloud/_proto/client/simulation_pb2.py +358 -339
- luminarycloud/_proto/client/simulation_pb2.pyi +89 -3
- luminarycloud/_proto/physicsaiinferenceservice/physicsaiinferenceservice_pb2.py +35 -0
- luminarycloud/_proto/physicsaiinferenceservice/physicsaiinferenceservice_pb2.pyi +7 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +6 -3
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +68 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +24 -0
- luminarycloud/_wrapper.py +53 -7
- luminarycloud/enum/vis_enums.py +6 -0
- luminarycloud/feature_modification.py +25 -32
- luminarycloud/geometry.py +10 -6
- luminarycloud/geometry_version.py +4 -0
- luminarycloud/mesh.py +4 -0
- luminarycloud/meshing/mesh_generation_params.py +5 -6
- luminarycloud/meshing/sizing_strategy/sizing_strategies.py +1 -2
- luminarycloud/outputs/__init__.py +2 -0
- luminarycloud/outputs/output_definitions.py +3 -3
- luminarycloud/outputs/stopping_conditions.py +94 -0
- luminarycloud/params/enum/_enum_wrappers.py +16 -0
- luminarycloud/params/geometry/shapes.py +33 -33
- luminarycloud/params/simulation/adaptive_mesh_refinement/__init__.py +1 -0
- luminarycloud/params/simulation/adaptive_mesh_refinement/active_region_.py +83 -0
- luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +1 -1
- luminarycloud/params/simulation/adaptive_mesh_refinement_.py +8 -1
- luminarycloud/physics_ai/__init__.py +7 -0
- luminarycloud/physics_ai/inference.py +166 -199
- luminarycloud/physics_ai/models.py +22 -0
- luminarycloud/physics_ai/solution.py +4 -0
- luminarycloud/pipelines/api.py +143 -16
- luminarycloud/pipelines/core.py +1 -1
- luminarycloud/pipelines/stages.py +22 -9
- luminarycloud/project.py +61 -8
- luminarycloud/simulation.py +25 -0
- luminarycloud/types/__init__.py +2 -0
- luminarycloud/types/ids.py +2 -0
- luminarycloud/types/vector3.py +1 -2
- luminarycloud/vis/__init__.py +1 -0
- luminarycloud/vis/data_extraction.py +7 -7
- luminarycloud/vis/filters.py +97 -0
- luminarycloud/vis/interactive_report.py +163 -7
- luminarycloud/vis/report.py +113 -1
- luminarycloud/vis/visualization.py +3 -0
- luminarycloud/volume_selection.py +16 -8
- luminarycloud/workflow_utils.py +149 -0
- {luminarycloud-0.22.0.dist-info → luminarycloud-0.22.2.dist-info}/METADATA +1 -1
- {luminarycloud-0.22.0.dist-info → luminarycloud-0.22.2.dist-info}/RECORD +80 -76
- {luminarycloud-0.22.0.dist-info → luminarycloud-0.22.2.dist-info}/WHEEL +1 -1
- luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.py +0 -61
- luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.pyi +0 -85
- luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2_grpc.py +0 -67
- luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2_grpc.pyi +0 -26
- luminarycloud/_proto/inferenceservice/inferenceservice_pb2.py +0 -69
- luminarycloud/pipeline_util/dictable.py +0 -27
|
@@ -8,6 +8,7 @@ import google.protobuf.descriptor
|
|
|
8
8
|
import google.protobuf.internal.containers
|
|
9
9
|
import google.protobuf.internal.enum_type_wrapper
|
|
10
10
|
import google.protobuf.message
|
|
11
|
+
import google.protobuf.struct_pb2
|
|
11
12
|
import google.protobuf.timestamp_pb2
|
|
12
13
|
import luminarycloud._proto.api.v0.luminarycloud.common.common_pb2
|
|
13
14
|
import luminarycloud._proto.base.base_pb2
|
|
@@ -282,6 +283,26 @@ class ListPretrainedModelsResponse(google.protobuf.message.Message):
|
|
|
282
283
|
|
|
283
284
|
global___ListPretrainedModelsResponse = ListPretrainedModelsResponse
|
|
284
285
|
|
|
286
|
+
class SurfaceGroup(google.protobuf.message.Message):
|
|
287
|
+
"""Represents a named group of surfaces to export as a single STL file"""
|
|
288
|
+
|
|
289
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
290
|
+
|
|
291
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
292
|
+
SURFACES_FIELD_NUMBER: builtins.int
|
|
293
|
+
name: builtins.str
|
|
294
|
+
@property
|
|
295
|
+
def surfaces(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
|
296
|
+
def __init__(
|
|
297
|
+
self,
|
|
298
|
+
*,
|
|
299
|
+
name: builtins.str = ...,
|
|
300
|
+
surfaces: collections.abc.Iterable[builtins.str] | None = ...,
|
|
301
|
+
) -> None: ...
|
|
302
|
+
def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "surfaces", b"surfaces"]) -> None: ...
|
|
303
|
+
|
|
304
|
+
global___SurfaceGroup = SurfaceGroup
|
|
305
|
+
|
|
285
306
|
class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
|
|
286
307
|
"""Request message for download and process solutions for physics ai"""
|
|
287
308
|
|
|
@@ -310,6 +331,7 @@ class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
|
|
|
310
331
|
PROCESS_VOLUME_FIELD_NUMBER: builtins.int
|
|
311
332
|
SINGLE_PRECISION_FIELD_NUMBER: builtins.int
|
|
312
333
|
INTERNAL_OPTIONS_FIELD_NUMBER: builtins.int
|
|
334
|
+
EXPORT_SURFACE_GROUPS_FIELD_NUMBER: builtins.int
|
|
313
335
|
solution_id: builtins.str
|
|
314
336
|
"""Required. The globally unique identifier for the solution."""
|
|
315
337
|
@property
|
|
@@ -330,6 +352,9 @@ class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
|
|
|
330
352
|
@property
|
|
331
353
|
def internal_options(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
332
354
|
"""Internal options for physics AI processing only available for staff users."""
|
|
355
|
+
@property
|
|
356
|
+
def export_surface_groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SurfaceGroup]:
|
|
357
|
+
"""List of surface groups to export as individual STL files"""
|
|
333
358
|
def __init__(
|
|
334
359
|
self,
|
|
335
360
|
*,
|
|
@@ -341,8 +366,9 @@ class GetSolutionDataPhysicsAIRequest(google.protobuf.message.Message):
|
|
|
341
366
|
process_volume: builtins.bool = ...,
|
|
342
367
|
single_precision: builtins.bool = ...,
|
|
343
368
|
internal_options: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
369
|
+
export_surface_groups: collections.abc.Iterable[global___SurfaceGroup] | None = ...,
|
|
344
370
|
) -> None: ...
|
|
345
|
-
def ClearField(self, field_name: typing_extensions.Literal["exclude_surfaces", b"exclude_surfaces", "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: ...
|
|
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: ...
|
|
346
372
|
|
|
347
373
|
global___GetSolutionDataPhysicsAIRequest = GetSolutionDataPhysicsAIRequest
|
|
348
374
|
|
|
@@ -406,6 +432,7 @@ class PhysicsAiTrainingJob(google.protobuf.message.Message):
|
|
|
406
432
|
CREATION_TIME_FIELD_NUMBER: builtins.int
|
|
407
433
|
UPDATE_TIME_FIELD_NUMBER: builtins.int
|
|
408
434
|
COMPLETION_TIME_FIELD_NUMBER: builtins.int
|
|
435
|
+
DATASET_ID_FIELD_NUMBER: builtins.int
|
|
409
436
|
id: builtins.str
|
|
410
437
|
"""Unique identifier for the training job."""
|
|
411
438
|
architecture_version_id: builtins.str
|
|
@@ -440,6 +467,8 @@ class PhysicsAiTrainingJob(google.protobuf.message.Message):
|
|
|
440
467
|
@property
|
|
441
468
|
def completion_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
442
469
|
"""Job completion time, set upon job completion. (mutable)"""
|
|
470
|
+
dataset_id: builtins.str
|
|
471
|
+
"""Dataset ID used for training (if using dataset-based training)."""
|
|
443
472
|
def __init__(
|
|
444
473
|
self,
|
|
445
474
|
*,
|
|
@@ -458,9 +487,10 @@ class PhysicsAiTrainingJob(google.protobuf.message.Message):
|
|
|
458
487
|
creation_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
459
488
|
update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
460
489
|
completion_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
490
|
+
dataset_id: builtins.str = ...,
|
|
461
491
|
) -> None: ...
|
|
462
492
|
def HasField(self, field_name: typing_extensions.Literal["completion_time", b"completion_time", "creation_time", b"creation_time", "status", b"status", "update_time", b"update_time"]) -> builtins.bool: ...
|
|
463
|
-
def ClearField(self, field_name: typing_extensions.Literal["architecture_version_id", b"architecture_version_id", "base_model_version_id", b"base_model_version_id", "completion_time", b"completion_time", "creation_time", b"creation_time", "error_message", b"error_message", "external_dataset_uri", b"external_dataset_uri", "id", b"id", "initialization_type", b"initialization_type", "output_model_version_id", b"output_model_version_id", "status", b"status", "training_config", b"training_config", "training_data_source_type", b"training_data_source_type", "training_description", b"training_description", "update_time", b"update_time", "user_id", b"user_id"]) -> None: ...
|
|
493
|
+
def ClearField(self, field_name: typing_extensions.Literal["architecture_version_id", b"architecture_version_id", "base_model_version_id", b"base_model_version_id", "completion_time", b"completion_time", "creation_time", b"creation_time", "dataset_id", b"dataset_id", "error_message", b"error_message", "external_dataset_uri", b"external_dataset_uri", "id", b"id", "initialization_type", b"initialization_type", "output_model_version_id", b"output_model_version_id", "status", b"status", "training_config", b"training_config", "training_data_source_type", b"training_data_source_type", "training_description", b"training_description", "update_time", b"update_time", "user_id", b"user_id"]) -> None: ...
|
|
464
494
|
|
|
465
495
|
global___PhysicsAiTrainingJob = PhysicsAiTrainingJob
|
|
466
496
|
|
|
@@ -476,6 +506,7 @@ class SubmitTrainingJobRequest(google.protobuf.message.Message):
|
|
|
476
506
|
TRAINING_CONFIG_FIELD_NUMBER: builtins.int
|
|
477
507
|
INITIALIZATION_TYPE_FIELD_NUMBER: builtins.int
|
|
478
508
|
BASE_MODEL_VERSION_ID_FIELD_NUMBER: builtins.int
|
|
509
|
+
DATASET_ID_FIELD_NUMBER: builtins.int
|
|
479
510
|
architecture_version_id: builtins.str
|
|
480
511
|
"""Architecture version ID to train."""
|
|
481
512
|
training_description: builtins.str
|
|
@@ -491,6 +522,8 @@ class SubmitTrainingJobRequest(google.protobuf.message.Message):
|
|
|
491
522
|
"""Model initialization type."""
|
|
492
523
|
base_model_version_id: builtins.str
|
|
493
524
|
"""Base model version ID (if initializing from existing model)."""
|
|
525
|
+
dataset_id: builtins.str
|
|
526
|
+
"""Dataset ID to use for training (if using dataset-based training)."""
|
|
494
527
|
def __init__(
|
|
495
528
|
self,
|
|
496
529
|
*,
|
|
@@ -501,8 +534,9 @@ class SubmitTrainingJobRequest(google.protobuf.message.Message):
|
|
|
501
534
|
training_config: builtins.str = ...,
|
|
502
535
|
initialization_type: global___ModelInitializationType.ValueType = ...,
|
|
503
536
|
base_model_version_id: builtins.str = ...,
|
|
537
|
+
dataset_id: builtins.str = ...,
|
|
504
538
|
) -> None: ...
|
|
505
|
-
def ClearField(self, field_name: typing_extensions.Literal["architecture_version_id", b"architecture_version_id", "base_model_version_id", b"base_model_version_id", "external_dataset_uri", b"external_dataset_uri", "initialization_type", b"initialization_type", "training_config", b"training_config", "training_description", b"training_description", "training_solutions", b"training_solutions"]) -> None: ...
|
|
539
|
+
def ClearField(self, field_name: typing_extensions.Literal["architecture_version_id", b"architecture_version_id", "base_model_version_id", b"base_model_version_id", "dataset_id", b"dataset_id", "external_dataset_uri", b"external_dataset_uri", "initialization_type", b"initialization_type", "training_config", b"training_config", "training_description", b"training_description", "training_solutions", b"training_solutions"]) -> None: ...
|
|
506
540
|
|
|
507
541
|
global___SubmitTrainingJobRequest = SubmitTrainingJobRequest
|
|
508
542
|
|
|
@@ -524,3 +558,266 @@ class SubmitTrainingJobResponse(google.protobuf.message.Message):
|
|
|
524
558
|
def ClearField(self, field_name: typing_extensions.Literal["training_job", b"training_job"]) -> None: ...
|
|
525
559
|
|
|
526
560
|
global___SubmitTrainingJobResponse = SubmitTrainingJobResponse
|
|
561
|
+
|
|
562
|
+
class CancelTrainingJobRequest(google.protobuf.message.Message):
|
|
563
|
+
"""Request message for canceling a training job."""
|
|
564
|
+
|
|
565
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
566
|
+
|
|
567
|
+
TRAINING_JOB_ID_FIELD_NUMBER: builtins.int
|
|
568
|
+
training_job_id: builtins.str
|
|
569
|
+
"""Training job ID to cancel."""
|
|
570
|
+
def __init__(
|
|
571
|
+
self,
|
|
572
|
+
*,
|
|
573
|
+
training_job_id: builtins.str = ...,
|
|
574
|
+
) -> None: ...
|
|
575
|
+
def ClearField(self, field_name: typing_extensions.Literal["training_job_id", b"training_job_id"]) -> None: ...
|
|
576
|
+
|
|
577
|
+
global___CancelTrainingJobRequest = CancelTrainingJobRequest
|
|
578
|
+
|
|
579
|
+
class CancelTrainingJobResponse(google.protobuf.message.Message):
|
|
580
|
+
"""Response message for canceling a training job."""
|
|
581
|
+
|
|
582
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
583
|
+
|
|
584
|
+
def __init__(
|
|
585
|
+
self,
|
|
586
|
+
) -> None: ...
|
|
587
|
+
|
|
588
|
+
global___CancelTrainingJobResponse = CancelTrainingJobResponse
|
|
589
|
+
|
|
590
|
+
class PhysicsAiDataset(google.protobuf.message.Message):
|
|
591
|
+
"""A Physics AI dataset"""
|
|
592
|
+
|
|
593
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
594
|
+
|
|
595
|
+
ID_FIELD_NUMBER: builtins.int
|
|
596
|
+
CREATED_BY_FIELD_NUMBER: builtins.int
|
|
597
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
598
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
599
|
+
IS_LOCKED_FIELD_NUMBER: builtins.int
|
|
600
|
+
CREATION_TIME_FIELD_NUMBER: builtins.int
|
|
601
|
+
UPDATE_TIME_FIELD_NUMBER: builtins.int
|
|
602
|
+
LOCKED_AT_FIELD_NUMBER: builtins.int
|
|
603
|
+
CASES_FIELD_NUMBER: builtins.int
|
|
604
|
+
EXPORT_CONFIG_FIELD_NUMBER: builtins.int
|
|
605
|
+
id: builtins.str
|
|
606
|
+
"""Unique identifier for the dataset."""
|
|
607
|
+
created_by: builtins.str
|
|
608
|
+
"""User ID who created the dataset (empty for platform-curated datasets)."""
|
|
609
|
+
name: builtins.str
|
|
610
|
+
"""Name of the dataset."""
|
|
611
|
+
description: builtins.str
|
|
612
|
+
"""Description of the dataset."""
|
|
613
|
+
is_locked: builtins.bool
|
|
614
|
+
"""Whether the dataset is locked (immutable after first training)."""
|
|
615
|
+
@property
|
|
616
|
+
def creation_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
617
|
+
"""Dataset creation time."""
|
|
618
|
+
@property
|
|
619
|
+
def update_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
620
|
+
"""Dataset last update time."""
|
|
621
|
+
@property
|
|
622
|
+
def locked_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
623
|
+
"""Dataset locked time (if locked)."""
|
|
624
|
+
@property
|
|
625
|
+
def cases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhysicsAiDatasetCase]:
|
|
626
|
+
"""Cases in this dataset."""
|
|
627
|
+
@property
|
|
628
|
+
def export_config(self) -> global___GetSolutionDataPhysicsAIRequest:
|
|
629
|
+
"""Export configuration for extracting solution data for cases. The field
|
|
630
|
+
solution_id is ignored.
|
|
631
|
+
"""
|
|
632
|
+
def __init__(
|
|
633
|
+
self,
|
|
634
|
+
*,
|
|
635
|
+
id: builtins.str = ...,
|
|
636
|
+
created_by: builtins.str = ...,
|
|
637
|
+
name: builtins.str = ...,
|
|
638
|
+
description: builtins.str = ...,
|
|
639
|
+
is_locked: builtins.bool = ...,
|
|
640
|
+
creation_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
641
|
+
update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
642
|
+
locked_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
643
|
+
cases: collections.abc.Iterable[global___PhysicsAiDatasetCase] | None = ...,
|
|
644
|
+
export_config: global___GetSolutionDataPhysicsAIRequest | None = ...,
|
|
645
|
+
) -> 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: ...
|
|
648
|
+
|
|
649
|
+
global___PhysicsAiDataset = PhysicsAiDataset
|
|
650
|
+
|
|
651
|
+
class PhysicsAiDatasetCaseFile(google.protobuf.message.Message):
|
|
652
|
+
"""A file in a Physics AI dataset case"""
|
|
653
|
+
|
|
654
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
655
|
+
|
|
656
|
+
FILE_TYPE_FIELD_NUMBER: builtins.int
|
|
657
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
658
|
+
file_type: builtins.str
|
|
659
|
+
"""File type (e.g., "vtp", "stl", "vtu")."""
|
|
660
|
+
name: builtins.str
|
|
661
|
+
"""File name (e.g., "merged_surfaces")."""
|
|
662
|
+
def __init__(
|
|
663
|
+
self,
|
|
664
|
+
*,
|
|
665
|
+
file_type: builtins.str = ...,
|
|
666
|
+
name: builtins.str = ...,
|
|
667
|
+
) -> None: ...
|
|
668
|
+
def ClearField(self, field_name: typing_extensions.Literal["file_type", b"file_type", "name", b"name"]) -> None: ...
|
|
669
|
+
|
|
670
|
+
global___PhysicsAiDatasetCaseFile = PhysicsAiDatasetCaseFile
|
|
671
|
+
|
|
672
|
+
class PhysicsAiDatasetCaseFiles(google.protobuf.message.Message):
|
|
673
|
+
"""Wrapper message for storing repeated PhysicsAiDatasetCaseFile in JSONB."""
|
|
674
|
+
|
|
675
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
676
|
+
|
|
677
|
+
FILES_FIELD_NUMBER: builtins.int
|
|
678
|
+
@property
|
|
679
|
+
def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhysicsAiDatasetCaseFile]: ...
|
|
680
|
+
def __init__(
|
|
681
|
+
self,
|
|
682
|
+
*,
|
|
683
|
+
files: collections.abc.Iterable[global___PhysicsAiDatasetCaseFile] | None = ...,
|
|
684
|
+
) -> None: ...
|
|
685
|
+
def ClearField(self, field_name: typing_extensions.Literal["files", b"files"]) -> None: ...
|
|
686
|
+
|
|
687
|
+
global___PhysicsAiDatasetCaseFiles = PhysicsAiDatasetCaseFiles
|
|
688
|
+
|
|
689
|
+
class PhysicsAiDatasetCase(google.protobuf.message.Message):
|
|
690
|
+
"""A case in a Physics AI dataset"""
|
|
691
|
+
|
|
692
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
693
|
+
|
|
694
|
+
CASE_ID_FIELD_NUMBER: builtins.int
|
|
695
|
+
SOLUTION_ID_FIELD_NUMBER: builtins.int
|
|
696
|
+
SIMULATION_ID_FIELD_NUMBER: builtins.int
|
|
697
|
+
PARAMS_FIELD_NUMBER: builtins.int
|
|
698
|
+
FILES_FIELD_NUMBER: builtins.int
|
|
699
|
+
SOURCE_METADATA_FIELD_NUMBER: builtins.int
|
|
700
|
+
case_id: builtins.str
|
|
701
|
+
"""Unique identifier for this case within the dataset (server-generated)."""
|
|
702
|
+
solution_id: builtins.str
|
|
703
|
+
"""Solution ID if this case was created from a simulation solution."""
|
|
704
|
+
simulation_id: builtins.str
|
|
705
|
+
"""Simulation ID if this case was created from a simulation."""
|
|
706
|
+
@property
|
|
707
|
+
def params(self) -> google.protobuf.struct_pb2.Struct:
|
|
708
|
+
"""Parameters for this case as JSON string."""
|
|
709
|
+
@property
|
|
710
|
+
def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhysicsAiDatasetCaseFile]:
|
|
711
|
+
"""Files associated with this case."""
|
|
712
|
+
@property
|
|
713
|
+
def source_metadata(self) -> google.protobuf.struct_pb2.Struct:
|
|
714
|
+
"""Source metadata as JSON string."""
|
|
715
|
+
def __init__(
|
|
716
|
+
self,
|
|
717
|
+
*,
|
|
718
|
+
case_id: builtins.str = ...,
|
|
719
|
+
solution_id: builtins.str = ...,
|
|
720
|
+
simulation_id: builtins.str = ...,
|
|
721
|
+
params: google.protobuf.struct_pb2.Struct | None = ...,
|
|
722
|
+
files: collections.abc.Iterable[global___PhysicsAiDatasetCaseFile] | None = ...,
|
|
723
|
+
source_metadata: google.protobuf.struct_pb2.Struct | None = ...,
|
|
724
|
+
) -> None: ...
|
|
725
|
+
def HasField(self, field_name: typing_extensions.Literal["params", b"params", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
|
|
726
|
+
def ClearField(self, field_name: typing_extensions.Literal["case_id", b"case_id", "files", b"files", "params", b"params", "simulation_id", b"simulation_id", "solution_id", b"solution_id", "source_metadata", b"source_metadata"]) -> None: ...
|
|
727
|
+
|
|
728
|
+
global___PhysicsAiDatasetCase = PhysicsAiDatasetCase
|
|
729
|
+
|
|
730
|
+
class CreatePhysicsAiDatasetCaseInput(google.protobuf.message.Message):
|
|
731
|
+
"""Input for creating a case in a Physics AI dataset (case_id is server-generated)"""
|
|
732
|
+
|
|
733
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
734
|
+
|
|
735
|
+
SOLUTION_ID_FIELD_NUMBER: builtins.int
|
|
736
|
+
SIMULATION_ID_FIELD_NUMBER: builtins.int
|
|
737
|
+
PARAMS_FIELD_NUMBER: builtins.int
|
|
738
|
+
FILES_FIELD_NUMBER: builtins.int
|
|
739
|
+
SOURCE_METADATA_FIELD_NUMBER: builtins.int
|
|
740
|
+
solution_id: builtins.str
|
|
741
|
+
"""Solution ID if this case was created from a simulation solution."""
|
|
742
|
+
simulation_id: builtins.str
|
|
743
|
+
"""Simulation ID if this case was created from a simulation."""
|
|
744
|
+
@property
|
|
745
|
+
def params(self) -> google.protobuf.struct_pb2.Struct:
|
|
746
|
+
"""Parameters for this case as JSON string."""
|
|
747
|
+
@property
|
|
748
|
+
def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhysicsAiDatasetCaseFile]:
|
|
749
|
+
"""Files associated with this case."""
|
|
750
|
+
@property
|
|
751
|
+
def source_metadata(self) -> google.protobuf.struct_pb2.Struct:
|
|
752
|
+
"""Source metadata as JSON string."""
|
|
753
|
+
def __init__(
|
|
754
|
+
self,
|
|
755
|
+
*,
|
|
756
|
+
solution_id: builtins.str = ...,
|
|
757
|
+
simulation_id: builtins.str = ...,
|
|
758
|
+
params: google.protobuf.struct_pb2.Struct | None = ...,
|
|
759
|
+
files: collections.abc.Iterable[global___PhysicsAiDatasetCaseFile] | None = ...,
|
|
760
|
+
source_metadata: google.protobuf.struct_pb2.Struct | None = ...,
|
|
761
|
+
) -> None: ...
|
|
762
|
+
def HasField(self, field_name: typing_extensions.Literal["params", b"params", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
|
|
763
|
+
def ClearField(self, field_name: typing_extensions.Literal["files", b"files", "params", b"params", "simulation_id", b"simulation_id", "solution_id", b"solution_id", "source_metadata", b"source_metadata"]) -> None: ...
|
|
764
|
+
|
|
765
|
+
global___CreatePhysicsAiDatasetCaseInput = CreatePhysicsAiDatasetCaseInput
|
|
766
|
+
|
|
767
|
+
class CreateDatasetRequest(google.protobuf.message.Message):
|
|
768
|
+
"""Request message for creating a dataset"""
|
|
769
|
+
|
|
770
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
771
|
+
|
|
772
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
773
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
774
|
+
CASES_FIELD_NUMBER: builtins.int
|
|
775
|
+
PARAMETER_SCHEMA_FIELD_NUMBER: builtins.int
|
|
776
|
+
EXPORT_CONFIG_FIELD_NUMBER: builtins.int
|
|
777
|
+
name: builtins.str
|
|
778
|
+
"""Name of the dataset."""
|
|
779
|
+
description: builtins.str
|
|
780
|
+
"""Optional description of the dataset."""
|
|
781
|
+
@property
|
|
782
|
+
def cases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CreatePhysicsAiDatasetCaseInput]:
|
|
783
|
+
"""Cases to add to the dataset (case_id will be server-generated)."""
|
|
784
|
+
@property
|
|
785
|
+
def parameter_schema(self) -> google.protobuf.struct_pb2.Struct:
|
|
786
|
+
"""JSON schema defining allowed parameters for cases in this dataset."""
|
|
787
|
+
@property
|
|
788
|
+
def export_config(self) -> global___GetSolutionDataPhysicsAIRequest:
|
|
789
|
+
"""Export configuration for extracting solution data forthe cases. The
|
|
790
|
+
solution_id field is ignored.
|
|
791
|
+
"""
|
|
792
|
+
def __init__(
|
|
793
|
+
self,
|
|
794
|
+
*,
|
|
795
|
+
name: builtins.str = ...,
|
|
796
|
+
description: builtins.str = ...,
|
|
797
|
+
cases: collections.abc.Iterable[global___CreatePhysicsAiDatasetCaseInput] | None = ...,
|
|
798
|
+
parameter_schema: google.protobuf.struct_pb2.Struct | None = ...,
|
|
799
|
+
export_config: global___GetSolutionDataPhysicsAIRequest | None = ...,
|
|
800
|
+
) -> None: ...
|
|
801
|
+
def HasField(self, field_name: typing_extensions.Literal["export_config", b"export_config", "parameter_schema", b"parameter_schema"]) -> builtins.bool: ...
|
|
802
|
+
def ClearField(self, field_name: typing_extensions.Literal["cases", b"cases", "description", b"description", "export_config", b"export_config", "name", b"name", "parameter_schema", b"parameter_schema"]) -> None: ...
|
|
803
|
+
|
|
804
|
+
global___CreateDatasetRequest = CreateDatasetRequest
|
|
805
|
+
|
|
806
|
+
class CreateDatasetResponse(google.protobuf.message.Message):
|
|
807
|
+
"""Response message for creating a dataset"""
|
|
808
|
+
|
|
809
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
810
|
+
|
|
811
|
+
DATASET_FIELD_NUMBER: builtins.int
|
|
812
|
+
@property
|
|
813
|
+
def dataset(self) -> global___PhysicsAiDataset:
|
|
814
|
+
"""The created dataset."""
|
|
815
|
+
def __init__(
|
|
816
|
+
self,
|
|
817
|
+
*,
|
|
818
|
+
dataset: global___PhysicsAiDataset | None = ...,
|
|
819
|
+
) -> None: ...
|
|
820
|
+
def HasField(self, field_name: typing_extensions.Literal["dataset", b"dataset"]) -> builtins.bool: ...
|
|
821
|
+
def ClearField(self, field_name: typing_extensions.Literal["dataset", b"dataset"]) -> None: ...
|
|
822
|
+
|
|
823
|
+
global___CreateDatasetResponse = CreateDatasetResponse
|
|
@@ -35,6 +35,11 @@ class PhysicsAiServiceStub(object):
|
|
|
35
35
|
request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.SerializeToString,
|
|
36
36
|
response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.FromString,
|
|
37
37
|
)
|
|
38
|
+
self.CreateDataset = channel.unary_unary(
|
|
39
|
+
'/luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiService/CreateDataset',
|
|
40
|
+
request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CreateDatasetRequest.SerializeToString,
|
|
41
|
+
response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CreateDatasetResponse.FromString,
|
|
42
|
+
)
|
|
38
43
|
|
|
39
44
|
|
|
40
45
|
class PhysicsAiServiceServicer(object):
|
|
@@ -69,6 +74,13 @@ class PhysicsAiServiceServicer(object):
|
|
|
69
74
|
context.set_details('Method not implemented!')
|
|
70
75
|
raise NotImplementedError('Method not implemented!')
|
|
71
76
|
|
|
77
|
+
def CreateDataset(self, request, context):
|
|
78
|
+
"""Creates a new Physics AI dataset
|
|
79
|
+
"""
|
|
80
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
81
|
+
context.set_details('Method not implemented!')
|
|
82
|
+
raise NotImplementedError('Method not implemented!')
|
|
83
|
+
|
|
72
84
|
|
|
73
85
|
def add_PhysicsAiServiceServicer_to_server(servicer, server):
|
|
74
86
|
rpc_method_handlers = {
|
|
@@ -92,6 +104,11 @@ def add_PhysicsAiServiceServicer_to_server(servicer, server):
|
|
|
92
104
|
request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.FromString,
|
|
93
105
|
response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.SerializeToString,
|
|
94
106
|
),
|
|
107
|
+
'CreateDataset': grpc.unary_unary_rpc_method_handler(
|
|
108
|
+
servicer.CreateDataset,
|
|
109
|
+
request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CreateDatasetRequest.FromString,
|
|
110
|
+
response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CreateDatasetResponse.SerializeToString,
|
|
111
|
+
),
|
|
95
112
|
}
|
|
96
113
|
generic_handler = grpc.method_handlers_generic_handler(
|
|
97
114
|
'luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiService', rpc_method_handlers)
|
|
@@ -170,3 +187,20 @@ class PhysicsAiService(object):
|
|
|
170
187
|
proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.FromString,
|
|
171
188
|
options, channel_credentials,
|
|
172
189
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
190
|
+
|
|
191
|
+
@staticmethod
|
|
192
|
+
def CreateDataset(request,
|
|
193
|
+
target,
|
|
194
|
+
options=(),
|
|
195
|
+
channel_credentials=None,
|
|
196
|
+
call_credentials=None,
|
|
197
|
+
insecure=False,
|
|
198
|
+
compression=None,
|
|
199
|
+
wait_for_ready=None,
|
|
200
|
+
timeout=None,
|
|
201
|
+
metadata=None):
|
|
202
|
+
return grpc.experimental.unary_unary(request, target, '/luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiService/CreateDataset',
|
|
203
|
+
proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CreateDatasetRequest.SerializeToString,
|
|
204
|
+
proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CreateDatasetResponse.FromString,
|
|
205
|
+
options, channel_credentials,
|
|
206
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
@@ -30,6 +30,11 @@ class PhysicsAiServiceStub:
|
|
|
30
30
|
luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobResponse,
|
|
31
31
|
]
|
|
32
32
|
"""Submits a training job for a Physics AI architecture"""
|
|
33
|
+
CreateDataset: grpc.UnaryUnaryMultiCallable[
|
|
34
|
+
luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CreateDatasetRequest,
|
|
35
|
+
luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CreateDatasetResponse,
|
|
36
|
+
]
|
|
37
|
+
"""Creates a new Physics AI dataset"""
|
|
33
38
|
|
|
34
39
|
class PhysicsAiServiceServicer(metaclass=abc.ABCMeta):
|
|
35
40
|
"""Manages physics ai architectures."""
|
|
@@ -62,5 +67,12 @@ class PhysicsAiServiceServicer(metaclass=abc.ABCMeta):
|
|
|
62
67
|
context: grpc.ServicerContext,
|
|
63
68
|
) -> luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobResponse:
|
|
64
69
|
"""Submits a training job for a Physics AI architecture"""
|
|
70
|
+
@abc.abstractmethod
|
|
71
|
+
def CreateDataset(
|
|
72
|
+
self,
|
|
73
|
+
request: luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CreateDatasetRequest,
|
|
74
|
+
context: grpc.ServicerContext,
|
|
75
|
+
) -> luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CreateDatasetResponse:
|
|
76
|
+
"""Creates a new Physics AI dataset"""
|
|
65
77
|
|
|
66
78
|
def add_PhysicsAiServiceServicer_to_server(servicer: PhysicsAiServiceServicer, server: grpc.Server) -> None: ...
|