luminarycloud 0.22.0__tar.gz → 0.22.1__tar.gz

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 (543) hide show
  1. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/PKG-INFO +1 -1
  2. luminarycloud-0.22.1/luminarycloud/_client/authentication_plugin.py +89 -0
  3. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/client.py +33 -8
  4. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/http_client.py +1 -1
  5. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/retry_interceptor.py +64 -2
  6. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/download.py +11 -0
  7. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +132 -132
  8. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +36 -8
  9. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +53 -23
  10. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +54 -1
  11. luminarycloud-0.22.1/luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2.py +195 -0
  12. luminarycloud-0.22.1/luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2.pyi +361 -0
  13. luminarycloud-0.22.1/luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2_grpc.py +172 -0
  14. luminarycloud-0.22.1/luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2_grpc.pyi +66 -0
  15. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.py +88 -65
  16. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.pyi +42 -0
  17. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.py +34 -0
  18. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.pyi +12 -0
  19. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/base/base_pb2.py +7 -6
  20. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/base/base_pb2.pyi +4 -0
  21. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/client/simulation_pb2.py +3 -3
  22. luminarycloud-0.22.1/luminarycloud/_proto/physicsaiinferenceservice/physicsaiinferenceservice_pb2.py +30 -0
  23. luminarycloud-0.22.1/luminarycloud/_proto/physicsaiinferenceservice/physicsaiinferenceservice_pb2.pyi +7 -0
  24. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +2 -2
  25. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +34 -0
  26. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +12 -0
  27. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/vis_enums.py +6 -0
  28. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/geometry.py +4 -0
  29. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/geometry_version.py +4 -0
  30. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/mesh.py +4 -0
  31. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/mesh_generation_params.py +5 -6
  32. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/sizing_strategy/sizing_strategies.py +1 -2
  33. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/physics_ai/solution.py +4 -0
  34. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipelines/api.py +99 -8
  35. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipelines/core.py +1 -1
  36. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipelines/stages.py +22 -9
  37. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/project.py +5 -6
  38. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/types/vector3.py +1 -2
  39. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/data_extraction.py +7 -7
  40. luminarycloud-0.22.1/luminarycloud/vis/interactive_report.py +266 -0
  41. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/report.py +113 -1
  42. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/volume_selection.py +10 -2
  43. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/pyproject.toml +1 -1
  44. luminarycloud-0.22.0/luminarycloud/_client/authentication_plugin.py +0 -40
  45. luminarycloud-0.22.0/luminarycloud/pipeline_util/dictable.py +0 -27
  46. luminarycloud-0.22.0/luminarycloud/vis/interactive_report.py +0 -110
  47. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/DESCRIPTION.md +0 -0
  48. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/MANIFEST.in +0 -0
  49. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/__init__.py +0 -0
  50. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/__init__.py +0 -0
  51. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/auth.py +0 -0
  52. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/callback_listener.py +0 -0
  53. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/config.py +0 -0
  54. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/credentials_store.py +0 -0
  55. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/exceptions.py +0 -0
  56. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_auth/util.py +0 -0
  57. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/__init__.py +0 -0
  58. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/config.py +0 -0
  59. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/logging_interceptor.py +0 -0
  60. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/rpc_error.py +0 -0
  61. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_client/tracing.py +0 -0
  62. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_feature_flag.py +0 -0
  63. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/__init__.py +0 -0
  64. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_code_representation.py +0 -0
  65. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_create_geometry.py +0 -0
  66. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_create_simulation.py +0 -0
  67. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_entity_identifier.py +0 -0
  68. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_get_project_id.py +0 -0
  69. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_simulation_params_from_json.py +0 -0
  70. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_timestamp_to_datetime.py +0 -0
  71. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_upload_mesh.py +0 -0
  72. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_upload_table.py +0 -0
  73. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_wait_for_mesh.py +0 -0
  74. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/_wait_for_simulation.py +0 -0
  75. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/cond.py +0 -0
  76. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/defaults.py +0 -0
  77. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/file_chunk_stream.py +0 -0
  78. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/named_variables.py +0 -0
  79. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/pagination.py +0 -0
  80. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/proto_decorator.py +0 -0
  81. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/upload.py +0 -0
  82. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/util.py +0 -0
  83. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/warnings/__init__.py +0 -0
  84. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_helpers/warnings/deprecated.py +0 -0
  85. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_patch.py +0 -0
  86. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/common/common_pb2.py +0 -0
  87. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/common/common_pb2.pyi +0 -0
  88. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2.py +0 -0
  89. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2.pyi +0 -0
  90. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2_grpc.py +0 -0
  91. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2_grpc.pyi +0 -0
  92. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +0 -0
  93. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +0 -0
  94. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.py +0 -0
  95. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.pyi +0 -0
  96. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2_grpc.py +0 -0
  97. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2_grpc.pyi +0 -0
  98. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +0 -0
  99. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +0 -0
  100. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2_grpc.py +0 -0
  101. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2_grpc.pyi +0 -0
  102. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +0 -0
  103. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +0 -0
  104. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +0 -0
  105. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +0 -0
  106. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_definition/output_definition_pb2.py +0 -0
  107. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_definition/output_definition_pb2.pyi +0 -0
  108. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_definition/output_definition_pb2_grpc.py +0 -0
  109. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_definition/output_definition_pb2_grpc.pyi +0 -0
  110. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_node/output_node_pb2.py +0 -0
  111. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_node/output_node_pb2.pyi +0 -0
  112. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_node/output_node_pb2_grpc.py +0 -0
  113. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/output_node/output_node_pb2_grpc.pyi +0 -0
  114. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +0 -0
  115. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +0 -0
  116. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2.py +0 -0
  117. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2.pyi +0 -0
  118. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2_grpc.py +0 -0
  119. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2_grpc.pyi +0 -0
  120. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project_ui_state/project_ui_state_pb2.py +0 -0
  121. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project_ui_state/project_ui_state_pb2.pyi +0 -0
  122. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project_ui_state/project_ui_state_pb2_grpc.py +0 -0
  123. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/project_ui_state/project_ui_state_pb2_grpc.pyi +0 -0
  124. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +0 -0
  125. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +0 -0
  126. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.py +0 -0
  127. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.pyi +0 -0
  128. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +0 -0
  129. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +0 -0
  130. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.py +0 -0
  131. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.pyi +0 -0
  132. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.py +0 -0
  133. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.pyi +0 -0
  134. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.py +0 -0
  135. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.pyi +0 -0
  136. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/stopping_condition/stopping_condition_pb2.py +0 -0
  137. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/stopping_condition/stopping_condition_pb2.pyi +0 -0
  138. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/stopping_condition/stopping_condition_pb2_grpc.py +0 -0
  139. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/stopping_condition/stopping_condition_pb2_grpc.pyi +0 -0
  140. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/upload/upload_pb2.py +0 -0
  141. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/upload/upload_pb2.pyi +0 -0
  142. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/upload/upload_pb2_grpc.py +0 -0
  143. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/upload/upload_pb2_grpc.pyi +0 -0
  144. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +0 -0
  145. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +0 -0
  146. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +0 -0
  147. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +0 -0
  148. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/assistant/assistant_pb2.py +0 -0
  149. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/assistant/assistant_pb2.pyi +0 -0
  150. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/assistant/assistant_pb2_grpc.py +0 -0
  151. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/assistant/assistant_pb2_grpc.pyi +0 -0
  152. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cad/boolean_pb2.py +0 -0
  153. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cad/boolean_pb2.pyi +0 -0
  154. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cad/shape_pb2.py +0 -0
  155. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cad/shape_pb2.pyi +0 -0
  156. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cad/transformation_pb2.py +0 -0
  157. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cad/transformation_pb2.pyi +0 -0
  158. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cadmetadata/cadmetadata_pb2.py +0 -0
  159. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/cadmetadata/cadmetadata_pb2.pyi +0 -0
  160. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/client/entity_pb2.py +0 -0
  161. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/client/entity_pb2.pyi +0 -0
  162. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/client/simulation_pb2.pyi +0 -0
  163. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/condition/condition_pb2.py +0 -0
  164. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/condition/condition_pb2.pyi +0 -0
  165. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/entitygroup/entitygroup_pb2.py +0 -0
  166. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/entitygroup/entitygroup_pb2.pyi +0 -0
  167. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/file/file_pb2.py +0 -0
  168. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/file/file_pb2.pyi +0 -0
  169. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/frontend/output/output_pb2.py +0 -0
  170. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/frontend/output/output_pb2.pyi +0 -0
  171. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/global_solution_pb2.py +0 -0
  172. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/global_solution_pb2.pyi +0 -0
  173. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/param_pb2.py +0 -0
  174. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/param_pb2.pyi +0 -0
  175. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/particles_pb2.py +0 -0
  176. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/particles_pb2.pyi +0 -0
  177. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/solver_results_pb2.py +0 -0
  178. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/solver_results_pb2.pyi +0 -0
  179. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/vof_initialization_pb2.py +0 -0
  180. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/fvm/vof_initialization_pb2.pyi +0 -0
  181. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/geometry/geometry_pb2.py +0 -0
  182. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/geometry/geometry_pb2.pyi +0 -0
  183. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/hexmesh/hexmesh_pb2.py +0 -0
  184. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +0 -0
  185. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/inferenceservice/inferenceservice_pb2.py +0 -0
  186. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/inferenceservice/inferenceservice_pb2.pyi +0 -0
  187. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcmesh_pb2.py +0 -0
  188. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcmesh_pb2.pyi +0 -0
  189. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcmeshcheckpoint_pb2.py +0 -0
  190. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcmeshcheckpoint_pb2.pyi +0 -0
  191. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcn_pb2.py +0 -0
  192. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcn_pb2.pyi +0 -0
  193. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcsoln_pb2.py +0 -0
  194. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcsoln_pb2.pyi +0 -0
  195. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcvis_pb2.py +0 -0
  196. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcn/lcvis_pb2.pyi +0 -0
  197. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcstatus/codes_pb2.py +0 -0
  198. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcstatus/codes_pb2.pyi +0 -0
  199. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcstatus/lcstatus_pb2.py +0 -0
  200. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcstatus/lcstatus_pb2.pyi +0 -0
  201. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcstatus/levels_pb2.py +0 -0
  202. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/lcstatus/levels_pb2.pyi +0 -0
  203. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/named_variable_set/named_variable_set_pb2.py +0 -0
  204. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/named_variable_set/named_variable_set_pb2.pyi +0 -0
  205. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/namedvariableset/namedvariableset_pb2.py +0 -0
  206. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/namedvariableset/namedvariableset_pb2.pyi +0 -0
  207. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/options/options_pb2.py +0 -0
  208. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/options/options_pb2.pyi +0 -0
  209. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/output/output_pb2.py +0 -0
  210. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/output/output_pb2.pyi +0 -0
  211. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/output/reference_values_pb2.py +0 -0
  212. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/output/reference_values_pb2.pyi +0 -0
  213. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/parametricworker/parametricworker_pb2.py +0 -0
  214. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/parametricworker/parametricworker_pb2.pyi +0 -0
  215. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/parametricworker/parametricworker_pb2_grpc.py +0 -0
  216. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/parametricworker/parametricworker_pb2_grpc.pyi +0 -0
  217. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.pyi +0 -0
  218. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/quantity/quantity_options_pb2.py +0 -0
  219. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/quantity/quantity_options_pb2.pyi +0 -0
  220. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/quantity/quantity_pb2.py +0 -0
  221. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/quantity/quantity_pb2.pyi +0 -0
  222. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/ratelimit/ratelimit_pb2.py +0 -0
  223. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/ratelimit/ratelimit_pb2.pyi +0 -0
  224. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/ratelimit/ratelimit_pb2_grpc.py +0 -0
  225. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/ratelimit/ratelimit_pb2_grpc.pyi +0 -0
  226. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/table/table_pb2.py +0 -0
  227. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/table/table_pb2.pyi +0 -0
  228. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/upload/upload_pb2.py +0 -0
  229. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_proto/upload/upload_pb2.pyi +0 -0
  230. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_version.py +0 -0
  231. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/_wrapper.py +0 -0
  232. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/__init__.py +0 -0
  233. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/averaging_type.py +0 -0
  234. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/calculation_type.py +0 -0
  235. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/force_direction_type.py +0 -0
  236. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/geometry_status.py +0 -0
  237. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/gpu_type.py +0 -0
  238. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/mesh_status.py +0 -0
  239. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/mesh_type.py +0 -0
  240. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/moment_convention_type.py +0 -0
  241. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/output_definition_includes.py +0 -0
  242. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/output_node_includes.py +0 -0
  243. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/physics_ai_lifecycle_state.py +0 -0
  244. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/quantity_type.py +0 -0
  245. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/reference_values_type.py +0 -0
  246. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/residual_normalization.py +0 -0
  247. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/residual_type.py +0 -0
  248. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/simulation_status.py +0 -0
  249. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/space_averaging_type.py +0 -0
  250. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/tables.py +0 -0
  251. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/vector3_component.py +0 -0
  252. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/enum/volume_reduction_type.py +0 -0
  253. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/exceptions.py +0 -0
  254. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/feature_modification.py +0 -0
  255. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/__init__.py +0 -0
  256. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/mesh_adaptation_params.py +0 -0
  257. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/metadata/__init__.py +0 -0
  258. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/metadata/mesh_metadata.py +0 -0
  259. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/meshing/sizing_strategy/__init__.py +0 -0
  260. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/named_variable_set.py +0 -0
  261. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/outputs/__init__.py +0 -0
  262. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/outputs/output_definitions.py +0 -0
  263. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/outputs/stopping_conditions.py +0 -0
  264. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/__init__.py +0 -0
  265. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/enum/__init__.py +0 -0
  266. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/enum/_enum_wrappers.py +0 -0
  267. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/enum/residual_output.py +0 -0
  268. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/geometry/__init__.py +0 -0
  269. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/geometry/geometry.py +0 -0
  270. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/geometry/shapes.py +0 -0
  271. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/outputs/__init__.py +0 -0
  272. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/outputs/output.py +0 -0
  273. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/outputs/residual_output.py +0 -0
  274. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/__init__.py +0 -0
  275. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/_lib.py +0 -0
  276. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/adaptive_mesh_refinement/__init__.py +0 -0
  277. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +0 -0
  278. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/adaptive_mesh_refinement_.py +0 -0
  279. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/adjoint_.py +0 -0
  280. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/basic/__init__.py +0 -0
  281. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/basic/gravity/__init__.py +0 -0
  282. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/basic/gravity/gravity_off_.py +0 -0
  283. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/basic/gravity/gravity_on_.py +0 -0
  284. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/basic/gravity_.py +0 -0
  285. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/body_frame_.py +0 -0
  286. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/entity_relationships/__init__.py +0 -0
  287. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +0 -0
  288. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +0 -0
  289. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/entity_relationships_.py +0 -0
  290. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/general_.py +0 -0
  291. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/__init__.py +0 -0
  292. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/__init__.py +0 -0
  293. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/boussinesq_approximation/__init__.py +0 -0
  294. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +0 -0
  295. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +0 -0
  296. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +0 -0
  297. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/material_model/__init__.py +0 -0
  298. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +0 -0
  299. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +0 -0
  300. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +0 -0
  301. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/material_model_.py +0 -0
  302. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/__init__.py +0 -0
  303. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +0 -0
  304. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +0 -0
  305. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +0 -0
  306. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +0 -0
  307. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/viscosity_model/__init__.py +0 -0
  308. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +0 -0
  309. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +0 -0
  310. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +0 -0
  311. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/fluid/viscosity_model_.py +0 -0
  312. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/material_fluid_.py +0 -0
  313. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material/material_solid_.py +0 -0
  314. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/material_entity_.py +0 -0
  315. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/monitor_plane_.py +0 -0
  316. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/__init__.py +0 -0
  317. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/frame_transforms/__init__.py +0 -0
  318. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +0 -0
  319. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +0 -0
  320. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +0 -0
  321. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/frame_transforms_.py +0 -0
  322. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/motion_type/__init__.py +0 -0
  323. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +0 -0
  324. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +0 -0
  325. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data/motion_type_.py +0 -0
  326. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/motion_data_.py +0 -0
  327. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/multi_physics_coupling_options_.py +0 -0
  328. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/output_.py +0 -0
  329. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/__init__.py +0 -0
  330. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/__init__.py +0 -0
  331. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/__init__.py +0 -0
  332. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/__init__.py +0 -0
  333. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +0 -0
  334. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +0 -0
  335. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +0 -0
  336. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +0 -0
  337. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +0 -0
  338. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +0 -0
  339. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +0 -0
  340. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group/particle_group_type_.py +0 -0
  341. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/particle_group_.py +0 -0
  342. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/__init__.py +0 -0
  343. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/__init__.py +0 -0
  344. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +0 -0
  345. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +0 -0
  346. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/__init__.py +0 -0
  347. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +0 -0
  348. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/__init__.py +0 -0
  349. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +0 -0
  350. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +0 -0
  351. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +0 -0
  352. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +0 -0
  353. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +0 -0
  354. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +0 -0
  355. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +0 -0
  356. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/__init__.py +0 -0
  357. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/__init__.py +0 -0
  358. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +0 -0
  359. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +0 -0
  360. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +0 -0
  361. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +0 -0
  362. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +0 -0
  363. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +0 -0
  364. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +0 -0
  365. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +0 -0
  366. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/__init__.py +0 -0
  367. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/__init__.py +0 -0
  368. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +0 -0
  369. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +0 -0
  370. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/__init__.py +0 -0
  371. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +0 -0
  372. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +0 -0
  373. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +0 -0
  374. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +0 -0
  375. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +0 -0
  376. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +0 -0
  377. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +0 -0
  378. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/initialization/__init__.py +0 -0
  379. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +0 -0
  380. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +0 -0
  381. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +0 -0
  382. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +0 -0
  383. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +0 -0
  384. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/__init__.py +0 -0
  385. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +0 -0
  386. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/__init__.py +0 -0
  387. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/__init__.py +0 -0
  388. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +0 -0
  389. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +0 -0
  390. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +0 -0
  391. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +0 -0
  392. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +0 -0
  393. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/__init__.py +0 -0
  394. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +0 -0
  395. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +0 -0
  396. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +0 -0
  397. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/__init__.py +0 -0
  398. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +0 -0
  399. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +0 -0
  400. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +0 -0
  401. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +0 -0
  402. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +0 -0
  403. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +0 -0
  404. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/__init__.py +0 -0
  405. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/__init__.py +0 -0
  406. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +0 -0
  407. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/__init__.py +0 -0
  408. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/__init__.py +0 -0
  409. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_auto_.py +0 -0
  410. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +0 -0
  411. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +0 -0
  412. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +0 -0
  413. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +0 -0
  414. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +0 -0
  415. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/__init__.py +0 -0
  416. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +0 -0
  417. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +0 -0
  418. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +0 -0
  419. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +0 -0
  420. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/__init__.py +0 -0
  421. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/__init__.py +0 -0
  422. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +0 -0
  423. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +0 -0
  424. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +0 -0
  425. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +0 -0
  426. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +0 -0
  427. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/__init__.py +0 -0
  428. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +0 -0
  429. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +0 -0
  430. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +0 -0
  431. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +0 -0
  432. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/__init__.py +0 -0
  433. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/__init__.py +0 -0
  434. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +0 -0
  435. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +0 -0
  436. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +0 -0
  437. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +0 -0
  438. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/__init__.py +0 -0
  439. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/__init__.py +0 -0
  440. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +0 -0
  441. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +0 -0
  442. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +0 -0
  443. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +0 -0
  444. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/__init__.py +0 -0
  445. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/__init__.py +0 -0
  446. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +0 -0
  447. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +0 -0
  448. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +0 -0
  449. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +0 -0
  450. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/__init__.py +0 -0
  451. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +0 -0
  452. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +0 -0
  453. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +0 -0
  454. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +0 -0
  455. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +0 -0
  456. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +0 -0
  457. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid/turbulence_.py +0 -0
  458. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/fluid_.py +0 -0
  459. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/__init__.py +0 -0
  460. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +0 -0
  461. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions/__init__.py +0 -0
  462. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +0 -0
  463. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +0 -0
  464. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +0 -0
  465. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +0 -0
  466. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +0 -0
  467. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +0 -0
  468. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/heat_source/__init__.py +0 -0
  469. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/__init__.py +0 -0
  470. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +0 -0
  471. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +0 -0
  472. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +0 -0
  473. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/heat_source_.py +0 -0
  474. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/initialization/__init__.py +0 -0
  475. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +0 -0
  476. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +0 -0
  477. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/initialization_heat_.py +0 -0
  478. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/solution_controls/__init__.py +0 -0
  479. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/__init__.py +0 -0
  480. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +0 -0
  481. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +0 -0
  482. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +0 -0
  483. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +0 -0
  484. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/heat_.py +0 -0
  485. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/periodic_pair_.py +0 -0
  486. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/solution_controls/__init__.py +0 -0
  487. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/__init__.py +0 -0
  488. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +0 -0
  489. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +0 -0
  490. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +0 -0
  491. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/physics_.py +0 -0
  492. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/simulation_param_.py +0 -0
  493. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/sliding_interfaces_.py +0 -0
  494. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/surface_name_.py +0 -0
  495. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/__init__.py +0 -0
  496. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/compute_statistics/__init__.py +0 -0
  497. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +0 -0
  498. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +0 -0
  499. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/compute_statistics_.py +0 -0
  500. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_marching/__init__.py +0 -0
  501. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_marching/time_explicit_.py +0 -0
  502. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_marching/time_implicit_.py +0 -0
  503. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_marching_.py +0 -0
  504. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_step_ramp/__init__.py +0 -0
  505. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +0 -0
  506. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +0 -0
  507. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time/time_step_ramp_.py +0 -0
  508. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/time_.py +0 -0
  509. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/params/simulation/volume_entity_.py +0 -0
  510. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/physics_ai/__init__.py +0 -0
  511. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/physics_ai/architectures.py +0 -0
  512. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/physics_ai/inference.py +0 -0
  513. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/physics_ai/models.py +0 -0
  514. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/physics_ai/training_jobs.py +0 -0
  515. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipeline_util/yaml.py +0 -0
  516. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipelines/__init__.py +0 -0
  517. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipelines/arguments.py +0 -0
  518. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/pipelines/parameters.py +0 -0
  519. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/reference_values.py +0 -0
  520. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/simulation.py +0 -0
  521. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/simulation_param.py +0 -0
  522. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/simulation_queue.py +0 -0
  523. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/simulation_template.py +0 -0
  524. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/solution.py +0 -0
  525. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/tables.py +0 -0
  526. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/tag.py +0 -0
  527. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/thirdparty/__init__.py +0 -0
  528. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/thirdparty/onshape.py +0 -0
  529. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/types/__init__.py +0 -0
  530. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/types/adfloat.py +0 -0
  531. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/types/ids.py +0 -0
  532. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/types/matrix3.py +0 -0
  533. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/__init__.py +0 -0
  534. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/display.py +0 -0
  535. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/filters.py +0 -0
  536. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/interactive_inference.py +0 -0
  537. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/interactive_scene.py +0 -0
  538. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/primitives.py +0 -0
  539. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/vis_util.py +0 -0
  540. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/luminarycloud/vis/visualization.py +0 -0
  541. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/requirements-dev.txt +0 -0
  542. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/requirements.txt +0 -0
  543. {luminarycloud-0.22.0 → luminarycloud-0.22.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: luminarycloud
3
- Version: 0.22.0
3
+ Version: 0.22.1
4
4
  Summary: Luminary Cloud SDK
5
5
  Project-URL: Homepage, https://www.luminarycloud.com/
6
6
  Project-URL: Documentation, https://app.luminarycloud.com/docs/api/
@@ -0,0 +1,89 @@
1
+ # Copyright 2023 Luminary Cloud, Inc. All Rights Reserved.
2
+
3
+ import grpc
4
+
5
+ from .._auth import Auth0Client
6
+
7
+
8
+ class AuthenticationPlugin(grpc.AuthMetadataPlugin):
9
+ """
10
+ Adds authentication headers for each outgoing RPC.
11
+
12
+ Supports two authentication methods:
13
+ 1. Bearer token authentication using Auth0
14
+ 2. API key authentication using x-api-key header
15
+
16
+ The __call__ function is invoked for every outgoing call. If using Bearer token
17
+ and the token has expired or doesn't exist, the Auth0 client tries to acquire
18
+ a new one.
19
+ """
20
+
21
+ def __init__(self, auth0_client: Auth0Client, api_key: str | None = None):
22
+ super(AuthenticationPlugin, self).__init__()
23
+ self.auth0_client = auth0_client
24
+ self.api_key = api_key
25
+
26
+ def __call__(
27
+ self,
28
+ context: grpc.AuthMetadataContext,
29
+ # Takes the list of headers to add as tuples
30
+ callback: grpc.AuthMetadataPluginCallback,
31
+ ) -> None:
32
+ try:
33
+ if self.api_key and isinstance(self.api_key, str):
34
+ metadata = [("x-api-key", self.api_key)]
35
+ else:
36
+ access_token = self.auth0_client.fetch_access_token()
37
+ metadata = [("authorization", "Bearer " + access_token)]
38
+ callback(metadata, None)
39
+ except Exception as err:
40
+ callback(None, err)
41
+
42
+
43
+ class AuthInterceptor(
44
+ grpc.UnaryUnaryClientInterceptor,
45
+ grpc.UnaryStreamClientInterceptor,
46
+ grpc.StreamUnaryClientInterceptor,
47
+ grpc.StreamStreamClientInterceptor,
48
+ ):
49
+ """
50
+ I need this as a workaround for container-to-host connections because I need to create a channel
51
+ that uses CallCredentials but doesn't use any ChannelCredentials. I.e. I need to authenticate
52
+ the requests, but I need the connection to be unencrypted. This is because the grpc server on
53
+ the native host isn't using SSL, so I can't use grpc.ssl_channel_credentials(), but it's also
54
+ not reachable on a loopback interface, so I can't use grpc.local_channel_credentials() either.
55
+ So I need to use a grpc.insecure_channel(), but you can't use CallCredentials with an insecure
56
+ channel. So the workaround is to use an interceptor instead of CallCredentials.
57
+
58
+ Also, I don't care about auth0, so I'm only supporting an API key.
59
+ """
60
+
61
+ def __init__(self, api_key: str):
62
+ self._api_key = api_key
63
+
64
+ def _augment(self, metadata):
65
+ return metadata + [("x-api-key", self._api_key)]
66
+
67
+ def intercept_unary_unary(self, continuation, client_call_details, request):
68
+ new_details = client_call_details._replace(
69
+ metadata=self._augment(client_call_details.metadata or [])
70
+ )
71
+ return continuation(new_details, request)
72
+
73
+ def intercept_unary_stream(self, continuation, client_call_details, request):
74
+ new_details = client_call_details._replace(
75
+ metadata=self._augment(client_call_details.metadata or [])
76
+ )
77
+ return continuation(new_details, request)
78
+
79
+ def intercept_stream_unary(self, continuation, client_call_details, request_iter):
80
+ new_details = client_call_details._replace(
81
+ metadata=self._augment(client_call_details.metadata or [])
82
+ )
83
+ return continuation(new_details, request_iter)
84
+
85
+ def intercept_stream_stream(self, continuation, client_call_details, request_iter):
86
+ new_details = client_call_details._replace(
87
+ metadata=self._augment(client_call_details.metadata or [])
88
+ )
89
+ return continuation(new_details, request_iter)
@@ -47,7 +47,7 @@ from .._proto.api.v0.luminarycloud.vis.vis_pb2_grpc import VisAPIServiceStub
47
47
  from .._proto.api.v0.luminarycloud.feature_flag.feature_flag_pb2_grpc import (
48
48
  FeatureFlagServiceStub,
49
49
  )
50
- from .authentication_plugin import AuthenticationPlugin
50
+ from .authentication_plugin import AuthenticationPlugin, AuthInterceptor
51
51
  from .config import LC_DOMAIN, LC_API_KEY
52
52
  from .logging_interceptor import LoggingInterceptor
53
53
  from .retry_interceptor import RetryInterceptor
@@ -93,11 +93,20 @@ class Client(
93
93
  The URL of the HTTP REST server. If not provided, it will default to the `target`.
94
94
  localhost : bool
95
95
  True if the API server is running locally.
96
+ insecure_grpc_channel : bool
97
+ True to use an unencrypted gRPC channel, even though requests are authenticated. There's no
98
+ legitimate reason to do this outside of a local development situation where the SDK is
99
+ running from a container and connecting to an API server that is running on the host.
96
100
  grpc_channel_options : Optional[Iterable[tuple[str, str]]]
97
101
  A list of gRPC channel args. The full list is available here:
98
102
  https://github.com/grpc/grpc/blob/v1.46.x/include/grpc/impl/codegen/grpc_types.h
99
103
  api_key : Optional[str]
100
104
  The API key to use for authentication.
105
+ log_retries : bool
106
+ True to log each retriable error response. There are some errors the API server may return
107
+ that are known to be transient, and the client will always retry requests when it gets one
108
+ of them. By default, the client retries silently. Set this to True to log the error
109
+ responses (at INFO level) for the retriable errors.
101
110
  **kwargs : dict, optional
102
111
  Additional arguments are passed to Auth0Client. See _auth/auth.py.
103
112
 
@@ -116,9 +125,11 @@ class Client(
116
125
  target: str = LC_DOMAIN,
117
126
  http_target: str | None = None,
118
127
  localhost: bool = False,
128
+ insecure_grpc_channel: bool = False,
119
129
  grpc_channel_options: Optional[Iterable[tuple[str, Union[str, int]]]] = None,
120
130
  channel_credentials: Optional[grpc.ChannelCredentials] = None,
121
131
  api_key: Optional[str] = LC_API_KEY,
132
+ log_retries: bool = False,
122
133
  **kwargs: Any,
123
134
  ):
124
135
  self._target = target
@@ -139,7 +150,12 @@ class Client(
139
150
  if grpc_channel_options:
140
151
  grpc_channel_options_with_keep_alive.extend(grpc_channel_options)
141
152
  self._channel = self._create_channel(
142
- localhost, grpc_channel_options_with_keep_alive, channel_credentials, api_key
153
+ localhost,
154
+ insecure_grpc_channel,
155
+ grpc_channel_options_with_keep_alive,
156
+ channel_credentials,
157
+ api_key,
158
+ log_retries,
143
159
  )
144
160
  self._context_tokens: list[Token] = []
145
161
  self.__register_rpcs()
@@ -193,9 +209,11 @@ class Client(
193
209
  def _create_channel(
194
210
  self,
195
211
  localhost: bool = False,
212
+ insecure: bool = False,
196
213
  grpc_channel_options: Optional[Iterable[tuple[str, Union[str, int]]]] = None,
197
214
  channel_credentials: Optional[grpc.ChannelCredentials] = None,
198
215
  api_key: Optional[str] = None,
216
+ log_retries: bool = False,
199
217
  ) -> grpc.Channel:
200
218
  if channel_credentials is None:
201
219
  if localhost:
@@ -217,15 +235,22 @@ class Client(
217
235
  call_creds = grpc.metadata_call_credentials(auth_plugin)
218
236
  composite_creds = grpc.composite_channel_credentials(channel_credentials, call_creds)
219
237
  options = grpc_channel_options and list(grpc_channel_options)
220
- channel = grpc.secure_channel(
221
- self._target,
222
- composite_creds,
223
- options=options,
224
- )
238
+ if insecure:
239
+ channel = grpc.insecure_channel(self._target, options=options)
240
+ channel = grpc.intercept_channel(
241
+ channel,
242
+ AuthInterceptor(api_key),
243
+ )
244
+ else:
245
+ channel = grpc.secure_channel(
246
+ self._target,
247
+ composite_creds,
248
+ options=options,
249
+ )
225
250
  intercepted_channel = grpc.intercept_channel(
226
251
  channel,
227
252
  LoggingInterceptor(),
228
- RetryInterceptor(),
253
+ RetryInterceptor(log_retries),
229
254
  )
230
255
  return add_instrumentation(
231
256
  intercepted_channel,
@@ -32,7 +32,7 @@ class HttpClient:
32
32
  api_key: str | None = None,
33
33
  auth0_client: Auth0Client | None = None,
34
34
  *,
35
- timeout: int = 10,
35
+ timeout: int | None = 300,
36
36
  retries: int = 3,
37
37
  backoff_factor: float = 0.3,
38
38
  retriable_status_codes: tuple = (500, 502, 503, 504, 429),
@@ -2,19 +2,68 @@
2
2
  from collections.abc import Callable
3
3
  from time import sleep
4
4
  from typing import Any
5
+ import logging
5
6
 
6
7
  import grpc
7
8
  from grpc import (
8
9
  ClientCallDetails,
9
10
  UnaryUnaryClientInterceptor,
10
11
  )
12
+ from grpc_status.rpc_status import GRPC_DETAILS_METADATA_KEY
11
13
 
12
14
  from luminarycloud.exceptions import AuthenticationError
15
+ from luminarycloud._proto.base import base_pb2
16
+
17
+
18
+ def _is_rate_limited(call: grpc.Call) -> bool:
19
+ """
20
+ Check if a gRPC call failed due to rate limiting.
21
+
22
+ Rate limit errors are identified with the SUBCODE_RATE_LIMITED subcode and UNAVAILABLE status.
23
+
24
+ Args:
25
+ call: The gRPC call to check
26
+
27
+ Returns:
28
+ True if the error is a rate limit error, False otherwise
29
+ """
30
+ if call.code() != grpc.StatusCode.UNAVAILABLE:
31
+ return False
32
+
33
+ try:
34
+ # Get the trailing metadata which contains error details
35
+ # Metadata is a sequence of tuples (key, value)
36
+ for key, value in call.trailing_metadata() or []:
37
+ if key != GRPC_DETAILS_METADATA_KEY or not isinstance(value, bytes):
38
+ continue
39
+
40
+ status = base_pb2.Status()
41
+ status.ParseFromString(value)
42
+ for any_detail in status.details:
43
+ if any_detail.Is(base_pb2.StatusPayload.DESCRIPTOR):
44
+ payload = base_pb2.StatusPayload()
45
+ any_detail.Unpack(payload)
46
+ if payload.subcode == base_pb2.SUBCODE_RATE_LIMITED:
47
+ return True
48
+ except Exception:
49
+ pass
50
+ return False
51
+
52
+
53
+ logger = logging.getLogger(__name__)
13
54
 
14
55
 
15
56
  class RetryInterceptor(UnaryUnaryClientInterceptor):
57
+ def __init__(self, log_retries: bool = False):
58
+ self.log_retries = log_retries
59
+ super().__init__()
60
+
16
61
  """
17
- A retry interceptor that retries on status code RESOURCE_EXHAUSTED (i.e. rate-limited).
62
+ A retry interceptor that retries on rate limit errors and other retryable errors.
63
+
64
+ This interceptor handles:
65
+ 1. Rate limit errors (UNAVAILABLE with SUBCODE_RATE_LIMITED) - always retried
66
+ 2. [grpc.StatusCode.RESOURCE_EXHAUSTED, grpc.StatusCode.UNAVAILABLE] - retried
18
67
 
19
68
  This is required because, while the retry policy for the gRPC client is configurable via
20
69
  https://github.com/grpc/grpc-proto/blob/master/grpc/service_config/service_config.proto,
@@ -43,7 +92,10 @@ class RetryInterceptor(UnaryUnaryClientInterceptor):
43
92
  n_max_retries = 20
44
93
  max_retry_seconds = 20
45
94
  backoffs = [min(i * 2, max_retry_seconds) for i in range(1, n_max_retries)]
46
- for backoff in backoffs: # in seconds
95
+ backoff_index = 0
96
+ while True:
97
+ if backoff_index >= len(backoffs):
98
+ break
47
99
  call = continuation(client_call_details, request)
48
100
  if call.code() not in retryable_codes:
49
101
  break
@@ -54,7 +106,17 @@ class RetryInterceptor(UnaryUnaryClientInterceptor):
54
106
  details = call.details() or ""
55
107
  if "InteractiveAuthException" in details:
56
108
  break
109
+ backoff = backoffs[backoff_index]
110
+ if self.log_retries:
111
+ logger.info(
112
+ f"Retrying {client_call_details.method} in {backoff} seconds (last response: {call.code()}, {call.details()})"
113
+ )
57
114
  sleep(backoff)
115
+ # Keep retrying rate-limited calls while increasing the backoff up to the max.
116
+ backoff_index += 1
117
+ if _is_rate_limited(call):
118
+ backoff_index = max(min(backoff_index, len(backoffs) - 2), 0)
119
+
58
120
  try:
59
121
  call.result()
60
122
  except grpc.RpcError as e:
@@ -17,6 +17,7 @@ from .._proto.api.v0.luminarycloud.solution.solution_pb2 import (
17
17
  )
18
18
  from .._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2 import (
19
19
  GetSolutionDataPhysicsAIRequest,
20
+ SurfaceGroup,
20
21
  )
21
22
  from .._client import Client
22
23
  from ..enum.quantity_type import QuantityType
@@ -140,6 +141,7 @@ def download_solution_physics_ai(
140
141
  process_volume: bool = False,
141
142
  single_precision: bool = False,
142
143
  internal_options: Optional[Dict[str, str]] = None,
144
+ export_surface_groups: Optional[Dict[str, List[str]]] = None,
143
145
  ) -> Optional[FileChunkStream]:
144
146
  """
145
147
  Returns the download as a file-like object, or None if destination_url is provided.
@@ -165,6 +167,9 @@ def download_solution_physics_ai(
165
167
  Whether to process volume meshes during physics AI processing.
166
168
  single_precision: bool
167
169
  If True, the solution will be downloaded in single precision.
170
+ export_surface_groups: Optional[Dict[str, List[str]]]
171
+ Dictionary mapping group names to lists of surface names.
172
+ Each group will be exported as an individual STL file.
168
173
 
169
174
  Examples
170
175
  --------
@@ -173,6 +178,11 @@ def download_solution_physics_ai(
173
178
  ... fp.write(dl.read())
174
179
  """
175
180
 
181
+ surface_groups_pb = []
182
+ if export_surface_groups:
183
+ for group_name, surfaces in export_surface_groups.items():
184
+ surface_groups_pb.append(SurfaceGroup(name=group_name, surfaces=surfaces))
185
+
176
186
  request = GetSolutionDataPhysicsAIRequest(
177
187
  solution_id=solution_id,
178
188
  exclude_surfaces=exclude_surfaces or [],
@@ -186,6 +196,7 @@ def download_solution_physics_ai(
186
196
  process_volume=process_volume,
187
197
  single_precision=single_precision,
188
198
  internal_options=internal_options or {},
199
+ export_surface_groups=surface_groups_pb,
189
200
  )
190
201
  response = client.GetSolutionDataPhysicsAI(request)
191
202