luminarycloud 0.22.2__py3-none-any.whl → 0.23.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- luminarycloud/__init__.py +9 -3
- luminarycloud/_client/client.py +1 -1
- luminarycloud/_client/retry_interceptor.py +13 -2
- luminarycloud/_helpers/_code_representation.py +1 -0
- luminarycloud/_helpers/_create_simulation.py +5 -1
- luminarycloud/_helpers/proto_decorator.py +46 -38
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +214 -137
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +152 -0
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +103 -0
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +40 -0
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +25 -3
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +30 -0
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +155 -59
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +252 -22
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +102 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +36 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +94 -71
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +46 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.py +35 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.pyi +16 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +25 -3
- luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +32 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +68 -21
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +119 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +33 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +10 -0
- luminarycloud/_proto/client/simulation_pb2.py +405 -346
- luminarycloud/_proto/client/simulation_pb2.pyi +175 -21
- luminarycloud/_proto/clusterconfig/clusterconfig_pb2.py +273 -0
- luminarycloud/_proto/clusterconfig/clusterconfig_pb2.pyi +808 -0
- luminarycloud/_proto/geometry/geometry_pb2.pyi +1 -1
- luminarycloud/_proto/lcstatus/details/geometry/geometry_pb2.py +256 -0
- luminarycloud/_proto/lcstatus/details/geometry/geometry_pb2.pyi +472 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +2 -2
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +102 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +36 -0
- luminarycloud/_proto/quantity/quantity_pb2.pyi +1 -1
- luminarycloud/enum/__init__.py +1 -0
- luminarycloud/enum/gpu_type.py +42 -7
- luminarycloud/enum/vis_enums.py +18 -0
- luminarycloud/geometry.py +81 -0
- luminarycloud/geometry_contacts.py +222 -0
- luminarycloud/meshing/mesh_generation_params.py +4 -4
- luminarycloud/meshing/sizing_strategy/__init__.py +0 -1
- luminarycloud/meshing/sizing_strategy/sizing_strategies.py +0 -20
- luminarycloud/params/geometry/shapes.py +137 -31
- luminarycloud/params/outputs/__init__.py +0 -2
- luminarycloud/params/outputs/output.py +17 -5
- luminarycloud/params/simulation/__init__.py +2 -0
- luminarycloud/params/simulation/adaptive_mesh_refinement/active_region_.py +1 -1
- luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +1 -1
- luminarycloud/params/simulation/adaptive_mesh_refinement_.py +1 -1
- luminarycloud/params/simulation/adjoint_.py +8 -5
- luminarycloud/params/simulation/basic/gravity/gravity_off_.py +1 -1
- luminarycloud/params/simulation/basic/gravity/gravity_on_.py +1 -1
- luminarycloud/params/simulation/basic/gravity_.py +1 -1
- luminarycloud/params/simulation/body_frame_.py +1 -1
- luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +1 -1
- luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +1 -1
- luminarycloud/params/simulation/entity_relationships_.py +1 -1
- luminarycloud/params/simulation/general_.py +1 -1
- luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +1 -1
- luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +1 -1
- luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +1 -1
- luminarycloud/params/simulation/material/fluid/material_model/__init__.py +2 -0
- luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +1 -1
- luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +1 -1
- luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +1 -1
- luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend/__init__.py +2 -0
- luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend/real_gas_coolprop_.py +43 -0
- luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend/real_gas_polynomial_.py +53 -0
- luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend_.py +29 -0
- luminarycloud/params/simulation/material/fluid/material_model_.py +1 -1
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +1 -1
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +1 -1
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +1 -1
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +1 -1
- luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +1 -1
- luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +1 -1
- luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +1 -1
- luminarycloud/params/simulation/material/fluid/viscosity_model_.py +1 -1
- luminarycloud/params/simulation/material/material_fluid_.py +78 -2
- luminarycloud/params/simulation/material/material_solid_.py +1 -1
- luminarycloud/params/simulation/material_entity_.py +1 -1
- luminarycloud/params/simulation/monitor_plane_.py +1 -1
- luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +1 -1
- luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +1 -1
- luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +1 -1
- luminarycloud/params/simulation/motion_data/frame_transforms_.py +1 -1
- luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +1 -1
- luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +1 -1
- luminarycloud/params/simulation/motion_data/motion_type_.py +1 -1
- luminarycloud/params/simulation/motion_data_.py +1 -1
- luminarycloud/params/simulation/multi_physics_coupling_options_.py +1 -1
- luminarycloud/params/simulation/nonlinear_control/__init__.py +1 -0
- luminarycloud/params/simulation/nonlinear_control/nonlinear_control_system_.py +48 -0
- luminarycloud/params/simulation/nonlinear_control_.py +61 -0
- luminarycloud/params/simulation/output_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type_.py +1 -1
- luminarycloud/params/simulation/particle_group_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/initialization/__init__.py +1 -0
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +14 -1
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_initialization_per_zone_.py +48 -0
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +14 -1
- luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_auto_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence_.py +1 -1
- luminarycloud/params/simulation/physics/fluid_.py +1 -1
- luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +1 -1
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +1 -1
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +1 -1
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +1 -1
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +1 -1
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +1 -1
- luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +1 -1
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +1 -1
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +1 -1
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +1 -1
- luminarycloud/params/simulation/physics/heat/heat_source_.py +1 -1
- luminarycloud/params/simulation/physics/heat/initialization/__init__.py +1 -0
- luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +1 -1
- luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values/__init__.py +1 -0
- luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values/heat_initialization_per_zone_.py +40 -0
- luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +14 -1
- luminarycloud/params/simulation/physics/heat/initialization_heat_.py +1 -1
- luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +1 -1
- luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +1 -1
- luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +1 -1
- luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +1 -1
- luminarycloud/params/simulation/physics/heat_.py +1 -1
- luminarycloud/params/simulation/physics/periodic_pair_.py +5 -1
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +1 -1
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +1 -1
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +1 -1
- luminarycloud/params/simulation/physics_.py +1 -1
- luminarycloud/params/simulation/simulation_param_.py +8 -1
- luminarycloud/params/simulation/sliding_interfaces_.py +1 -1
- luminarycloud/params/simulation/surface_name_.py +1 -1
- luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +1 -1
- luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +1 -1
- luminarycloud/params/simulation/time/compute_statistics_.py +1 -1
- luminarycloud/params/simulation/time/time_marching/time_explicit_.py +1 -1
- luminarycloud/params/simulation/time/time_marching/time_implicit_.py +1 -1
- luminarycloud/params/simulation/time/time_marching_.py +1 -1
- luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +1 -1
- luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +1 -1
- luminarycloud/params/simulation/time/time_step_ramp_.py +1 -1
- luminarycloud/params/simulation/time_.py +1 -1
- luminarycloud/params/simulation/volume_entity_.py +1 -1
- luminarycloud/physics_ai/__init__.py +17 -0
- luminarycloud/physics_ai/architectures.py +130 -18
- luminarycloud/physics_ai/datasets.py +301 -0
- luminarycloud/physics_ai/training_jobs.py +50 -4
- luminarycloud/pipelines/__init__.py +16 -4
- luminarycloud/pipelines/api.py +192 -17
- luminarycloud/pipelines/arguments.py +8 -3
- luminarycloud/pipelines/core.py +296 -45
- luminarycloud/pipelines/flowables.py +138 -0
- luminarycloud/pipelines/stages.py +34 -55
- luminarycloud/pipelines/user_code_validation.py +122 -0
- luminarycloud/project.py +0 -14
- luminarycloud/simulation.py +42 -11
- luminarycloud/simulation_param.py +0 -62
- luminarycloud/simulation_template.py +1 -11
- luminarycloud/types/adfloat.py +48 -4
- luminarycloud/types/matrix3.py +9 -9
- luminarycloud/types/vector3.py +52 -23
- luminarycloud/vis/__init__.py +3 -0
- luminarycloud/vis/visualization.py +88 -0
- luminarycloud/volume_selection.py +29 -17
- {luminarycloud-0.22.2.dist-info → luminarycloud-0.23.0.dist-info}/METADATA +1 -1
- {luminarycloud-0.22.2.dist-info → luminarycloud-0.23.0.dist-info}/RECORD +266 -249
- luminarycloud/params/outputs/residual_output.py +0 -24
- /luminarycloud/params/{simulation/_lib.py → _lib.py} +0 -0
- {luminarycloud-0.22.2.dist-info → luminarycloud-0.23.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,808 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
import builtins
|
|
6
|
+
import collections.abc
|
|
7
|
+
import google.protobuf.descriptor
|
|
8
|
+
import google.protobuf.duration_pb2
|
|
9
|
+
import google.protobuf.internal.containers
|
|
10
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
11
|
+
import google.protobuf.message
|
|
12
|
+
import sys
|
|
13
|
+
import typing
|
|
14
|
+
|
|
15
|
+
if sys.version_info >= (3, 10):
|
|
16
|
+
import typing as typing_extensions
|
|
17
|
+
else:
|
|
18
|
+
import typing_extensions
|
|
19
|
+
|
|
20
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
21
|
+
|
|
22
|
+
class _GPUType:
|
|
23
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
24
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
25
|
+
|
|
26
|
+
class _GPUTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GPUType.ValueType], builtins.type): # noqa: F821
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
28
|
+
UNSPECIFIED: _GPUType.ValueType # 0
|
|
29
|
+
CPU: _GPUType.ValueType # 1
|
|
30
|
+
T4: _GPUType.ValueType # 2
|
|
31
|
+
V100: _GPUType.ValueType # 3
|
|
32
|
+
A100: _GPUType.ValueType # 4
|
|
33
|
+
A100_80: _GPUType.ValueType # 5
|
|
34
|
+
H100: _GPUType.ValueType # 6
|
|
35
|
+
N_GPU_TYPE: _GPUType.ValueType # 7
|
|
36
|
+
"""This is a value we should do without"""
|
|
37
|
+
|
|
38
|
+
class GPUType(_GPUType, metaclass=_GPUTypeEnumTypeWrapper):
|
|
39
|
+
"""When you update this enum, also update gpuTypeNames in lib/proto.ts."""
|
|
40
|
+
|
|
41
|
+
UNSPECIFIED: GPUType.ValueType # 0
|
|
42
|
+
CPU: GPUType.ValueType # 1
|
|
43
|
+
T4: GPUType.ValueType # 2
|
|
44
|
+
V100: GPUType.ValueType # 3
|
|
45
|
+
A100: GPUType.ValueType # 4
|
|
46
|
+
A100_80: GPUType.ValueType # 5
|
|
47
|
+
H100: GPUType.ValueType # 6
|
|
48
|
+
N_GPU_TYPE: GPUType.ValueType # 7
|
|
49
|
+
"""This is a value we should do without"""
|
|
50
|
+
global___GPUType = GPUType
|
|
51
|
+
|
|
52
|
+
class _DayOfWeek:
|
|
53
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
54
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
55
|
+
|
|
56
|
+
class _DayOfWeekEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DayOfWeek.ValueType], builtins.type): # noqa: F821
|
|
57
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
58
|
+
UNKNOWN: _DayOfWeek.ValueType # 0
|
|
59
|
+
MON: _DayOfWeek.ValueType # 1
|
|
60
|
+
TUE: _DayOfWeek.ValueType # 2
|
|
61
|
+
WED: _DayOfWeek.ValueType # 3
|
|
62
|
+
THU: _DayOfWeek.ValueType # 4
|
|
63
|
+
FRI: _DayOfWeek.ValueType # 5
|
|
64
|
+
SAT: _DayOfWeek.ValueType # 6
|
|
65
|
+
SUN: _DayOfWeek.ValueType # 7
|
|
66
|
+
|
|
67
|
+
class DayOfWeek(_DayOfWeek, metaclass=_DayOfWeekEnumTypeWrapper): ...
|
|
68
|
+
|
|
69
|
+
UNKNOWN: DayOfWeek.ValueType # 0
|
|
70
|
+
MON: DayOfWeek.ValueType # 1
|
|
71
|
+
TUE: DayOfWeek.ValueType # 2
|
|
72
|
+
WED: DayOfWeek.ValueType # 3
|
|
73
|
+
THU: DayOfWeek.ValueType # 4
|
|
74
|
+
FRI: DayOfWeek.ValueType # 5
|
|
75
|
+
SAT: DayOfWeek.ValueType # 6
|
|
76
|
+
SUN: DayOfWeek.ValueType # 7
|
|
77
|
+
global___DayOfWeek = DayOfWeek
|
|
78
|
+
|
|
79
|
+
class _PreemptibleOverride:
|
|
80
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
81
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
82
|
+
|
|
83
|
+
class _PreemptibleOverrideEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PreemptibleOverride.ValueType], builtins.type): # noqa: F821
|
|
84
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
85
|
+
UNSPECIFIED_PREEMPTIBLE_OVERRIDE: _PreemptibleOverride.ValueType # 0
|
|
86
|
+
NEVER_PREEMPTIBLE: _PreemptibleOverride.ValueType # 1
|
|
87
|
+
"""Never use preemptible nodes."""
|
|
88
|
+
ALWAYS_PREEMPTIBLE: _PreemptibleOverride.ValueType # 2
|
|
89
|
+
"""Always use preemptible nodes."""
|
|
90
|
+
|
|
91
|
+
class PreemptibleOverride(_PreemptibleOverride, metaclass=_PreemptibleOverrideEnumTypeWrapper): ...
|
|
92
|
+
|
|
93
|
+
UNSPECIFIED_PREEMPTIBLE_OVERRIDE: PreemptibleOverride.ValueType # 0
|
|
94
|
+
NEVER_PREEMPTIBLE: PreemptibleOverride.ValueType # 1
|
|
95
|
+
"""Never use preemptible nodes."""
|
|
96
|
+
ALWAYS_PREEMPTIBLE: PreemptibleOverride.ValueType # 2
|
|
97
|
+
"""Always use preemptible nodes."""
|
|
98
|
+
global___PreemptibleOverride = PreemptibleOverride
|
|
99
|
+
|
|
100
|
+
class _ResourceUnit:
|
|
101
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
102
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
103
|
+
|
|
104
|
+
class _ResourceUnitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ResourceUnit.ValueType], builtins.type): # noqa: F821
|
|
105
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
106
|
+
RESOURCE_INVALID: _ResourceUnit.ValueType # 0
|
|
107
|
+
RESOURCE_CPU: _ResourceUnit.ValueType # 1
|
|
108
|
+
"""1 CPU, * 1 second"""
|
|
109
|
+
RESOURCE_T4: _ResourceUnit.ValueType # 2
|
|
110
|
+
"""1 T4 * 1 second"""
|
|
111
|
+
RESOURCE_V100: _ResourceUnit.ValueType # 3
|
|
112
|
+
"""1 V100 * 1 second"""
|
|
113
|
+
RESOURCE_A100: _ResourceUnit.ValueType # 4
|
|
114
|
+
"""1 A100 * 1 second"""
|
|
115
|
+
RESOURCE_GCS: _ResourceUnit.ValueType # 5
|
|
116
|
+
"""1 MB * 1 hour"""
|
|
117
|
+
RESOURCE_GCN: _ResourceUnit.ValueType # 6
|
|
118
|
+
"""1MiB"""
|
|
119
|
+
RESOURCE_A100_80: _ResourceUnit.ValueType # 7
|
|
120
|
+
"""1 A100-80GB * 1 second"""
|
|
121
|
+
RESOURCE_E2: _ResourceUnit.ValueType # 8
|
|
122
|
+
"""1 E2 * 1 second"""
|
|
123
|
+
RESOURCE_H100: _ResourceUnit.ValueType # 9
|
|
124
|
+
"""1 H100 * 1 second"""
|
|
125
|
+
N_RESOURCE_UNIT: _ResourceUnit.ValueType # 10
|
|
126
|
+
"""Not a usable value - used only for bounds on iteration."""
|
|
127
|
+
|
|
128
|
+
class ResourceUnit(_ResourceUnit, metaclass=_ResourceUnitEnumTypeWrapper):
|
|
129
|
+
"""ResourceUnit defines a billable resource. It must exactly match DB
|
|
130
|
+
ResourceUnit type definition. See db/000001.*.sql for their meanings.
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
RESOURCE_INVALID: ResourceUnit.ValueType # 0
|
|
134
|
+
RESOURCE_CPU: ResourceUnit.ValueType # 1
|
|
135
|
+
"""1 CPU, * 1 second"""
|
|
136
|
+
RESOURCE_T4: ResourceUnit.ValueType # 2
|
|
137
|
+
"""1 T4 * 1 second"""
|
|
138
|
+
RESOURCE_V100: ResourceUnit.ValueType # 3
|
|
139
|
+
"""1 V100 * 1 second"""
|
|
140
|
+
RESOURCE_A100: ResourceUnit.ValueType # 4
|
|
141
|
+
"""1 A100 * 1 second"""
|
|
142
|
+
RESOURCE_GCS: ResourceUnit.ValueType # 5
|
|
143
|
+
"""1 MB * 1 hour"""
|
|
144
|
+
RESOURCE_GCN: ResourceUnit.ValueType # 6
|
|
145
|
+
"""1MiB"""
|
|
146
|
+
RESOURCE_A100_80: ResourceUnit.ValueType # 7
|
|
147
|
+
"""1 A100-80GB * 1 second"""
|
|
148
|
+
RESOURCE_E2: ResourceUnit.ValueType # 8
|
|
149
|
+
"""1 E2 * 1 second"""
|
|
150
|
+
RESOURCE_H100: ResourceUnit.ValueType # 9
|
|
151
|
+
"""1 H100 * 1 second"""
|
|
152
|
+
N_RESOURCE_UNIT: ResourceUnit.ValueType # 10
|
|
153
|
+
"""Not a usable value - used only for bounds on iteration."""
|
|
154
|
+
global___ResourceUnit = ResourceUnit
|
|
155
|
+
|
|
156
|
+
class TimeOfDay(google.protobuf.message.Message):
|
|
157
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
158
|
+
|
|
159
|
+
HOUR_FIELD_NUMBER: builtins.int
|
|
160
|
+
MINUTE_FIELD_NUMBER: builtins.int
|
|
161
|
+
hour: builtins.int
|
|
162
|
+
"""Hour of day (0 to 23)"""
|
|
163
|
+
minute: builtins.int
|
|
164
|
+
"""Minutes of hour (0 to 59)"""
|
|
165
|
+
def __init__(
|
|
166
|
+
self,
|
|
167
|
+
*,
|
|
168
|
+
hour: builtins.int = ...,
|
|
169
|
+
minute: builtins.int = ...,
|
|
170
|
+
) -> None: ...
|
|
171
|
+
def ClearField(self, field_name: typing_extensions.Literal["hour", b"hour", "minute", b"minute"]) -> None: ...
|
|
172
|
+
|
|
173
|
+
global___TimeOfDay = TimeOfDay
|
|
174
|
+
|
|
175
|
+
class PeakUsageWindow(google.protobuf.message.Message):
|
|
176
|
+
"""Simple way to denote the time window when nodes should be kept warm:
|
|
177
|
+
(1) which days of the week
|
|
178
|
+
(2) what time-window during those days
|
|
179
|
+
In particular, 9-5 on week days would be specified as
|
|
180
|
+
peak_usage_days='MON,TUE,WED,THU,FRI'
|
|
181
|
+
peak_usage_start_time='09:00'
|
|
182
|
+
peak_usage_duration='8h'
|
|
183
|
+
Note that
|
|
184
|
+
(1) this start time is interpreted as "Pacific Time", and
|
|
185
|
+
(2) we make the simplifying assumption that it doesn't span multiple days.
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
189
|
+
|
|
190
|
+
PEAK_USAGE_DAYS_FIELD_NUMBER: builtins.int
|
|
191
|
+
PEAK_USAGE_START_TIME_PST_FIELD_NUMBER: builtins.int
|
|
192
|
+
PEAK_USAGE_DURATION_FIELD_NUMBER: builtins.int
|
|
193
|
+
@property
|
|
194
|
+
def peak_usage_days(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___DayOfWeek.ValueType]:
|
|
195
|
+
"""Days of the week when the peak usage window starts."""
|
|
196
|
+
@property
|
|
197
|
+
def peak_usage_start_time_pst(self) -> global___TimeOfDay:
|
|
198
|
+
"""Start time of the peak usage window, in PST."""
|
|
199
|
+
@property
|
|
200
|
+
def peak_usage_duration(self) -> google.protobuf.duration_pb2.Duration:
|
|
201
|
+
"""Duration of the peak usage window."""
|
|
202
|
+
def __init__(
|
|
203
|
+
self,
|
|
204
|
+
*,
|
|
205
|
+
peak_usage_days: collections.abc.Iterable[global___DayOfWeek.ValueType] | None = ...,
|
|
206
|
+
peak_usage_start_time_pst: global___TimeOfDay | None = ...,
|
|
207
|
+
peak_usage_duration: google.protobuf.duration_pb2.Duration | None = ...,
|
|
208
|
+
) -> None: ...
|
|
209
|
+
def HasField(self, field_name: typing_extensions.Literal["peak_usage_duration", b"peak_usage_duration", "peak_usage_start_time_pst", b"peak_usage_start_time_pst"]) -> builtins.bool: ...
|
|
210
|
+
def ClearField(self, field_name: typing_extensions.Literal["peak_usage_days", b"peak_usage_days", "peak_usage_duration", b"peak_usage_duration", "peak_usage_start_time_pst", b"peak_usage_start_time_pst"]) -> None: ...
|
|
211
|
+
|
|
212
|
+
global___PeakUsageWindow = PeakUsageWindow
|
|
213
|
+
|
|
214
|
+
class NodePool(google.protobuf.message.Message):
|
|
215
|
+
"""Summary of a GKE nodepool."""
|
|
216
|
+
|
|
217
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
218
|
+
|
|
219
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
220
|
+
MACHINE_TYPE_FIELD_NUMBER: builtins.int
|
|
221
|
+
ZONE_FIELD_NUMBER: builtins.int
|
|
222
|
+
GPU_TYPE_FIELD_NUMBER: builtins.int
|
|
223
|
+
N_GPU_PER_NODE_FIELD_NUMBER: builtins.int
|
|
224
|
+
N_CPU_PER_NODE_FIELD_NUMBER: builtins.int
|
|
225
|
+
MEMORY_GB_PER_NODE_FIELD_NUMBER: builtins.int
|
|
226
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
227
|
+
MAX_NODES_PER_JOB_FIELD_NUMBER: builtins.int
|
|
228
|
+
JOB_SCHEDULER_FIELD_NUMBER: builtins.int
|
|
229
|
+
RESERVATION_FIELD_NUMBER: builtins.int
|
|
230
|
+
N_KEEP_ALIVE_FIELD_NUMBER: builtins.int
|
|
231
|
+
ALLOCATION_PRIORITY_FIELD_NUMBER: builtins.int
|
|
232
|
+
MAX_ALIVE_NODES_FIELD_NUMBER: builtins.int
|
|
233
|
+
NO_BULK_INSERT_FIELD_NUMBER: builtins.int
|
|
234
|
+
NO_SMALL_JOBS_FIELD_NUMBER: builtins.int
|
|
235
|
+
PEAK_USAGE_WINDOW_FIELD_NUMBER: builtins.int
|
|
236
|
+
ALLOW_PEAK_USAGE_FIELD_NUMBER: builtins.int
|
|
237
|
+
UNUSED_FIELD_NUMBER: builtins.int
|
|
238
|
+
PREEMPTIBLE_OVERRIDE_FIELD_NUMBER: builtins.int
|
|
239
|
+
KUEUE_LOCAL_QUEUE_FIELD_NUMBER: builtins.int
|
|
240
|
+
KUEUE_LOCAL_QUEUE_PREEMPTION_FIELD_NUMBER: builtins.int
|
|
241
|
+
name: builtins.str
|
|
242
|
+
"""The GKE node pool name, e.g., "worker-t4". Must be a valid DNS name."""
|
|
243
|
+
machine_type: builtins.str
|
|
244
|
+
"""GCE machine type. E.g., "n1-standard-2" """
|
|
245
|
+
zone: builtins.str
|
|
246
|
+
"""The GCP zone the nodes run in. e.g., "us-west1-b"
|
|
247
|
+
TODO(saito) make it repeated?
|
|
248
|
+
"""
|
|
249
|
+
gpu_type: global___GPUType.ValueType
|
|
250
|
+
"""GPU type of the machines in the pool.
|
|
251
|
+
INVARIANT: gpu_type != UNSPECIFIED
|
|
252
|
+
"""
|
|
253
|
+
n_gpu_per_node: builtins.int
|
|
254
|
+
"""Number of GPUs per machine.
|
|
255
|
+
INVARIANT: =0 if gpu_type=CPU, else >0.
|
|
256
|
+
"""
|
|
257
|
+
n_cpu_per_node: builtins.int
|
|
258
|
+
"""Number of CPUs per machine.
|
|
259
|
+
INVARIANT: >=1
|
|
260
|
+
"""
|
|
261
|
+
memory_gb_per_node: builtins.float
|
|
262
|
+
"""Memory size per machine, in GiB."""
|
|
263
|
+
description: builtins.str
|
|
264
|
+
"""Tooltip to be shown in the cloud-settings UI.
|
|
265
|
+
|
|
266
|
+
REQUIRES: Within a ClusterConfig, name and description must map one to one.
|
|
267
|
+
"""
|
|
268
|
+
max_nodes_per_job: builtins.int
|
|
269
|
+
"""Maximum number of nodes that one job can allocate."""
|
|
270
|
+
job_scheduler: builtins.str
|
|
271
|
+
"""The value is either "external" or "jm-nodemanager". If "jm-nodemanager",
|
|
272
|
+
the pool is managed by the nodemanager. If "external", the pool is managed
|
|
273
|
+
by kubernetes.
|
|
274
|
+
"""
|
|
275
|
+
reservation: builtins.str
|
|
276
|
+
"""GCP reservation to use for this node pool, if any.
|
|
277
|
+
If reservation != "", the node pool will only try to allocate nodes from the reservation.
|
|
278
|
+
Example: "projects/luminarycloud-prod/reservations/luminarycloud-2022-03"
|
|
279
|
+
Valid iff job_scheduler=="jm-nodemanager"
|
|
280
|
+
"""
|
|
281
|
+
n_keep_alive: builtins.int
|
|
282
|
+
"""Number of idle nodes in the pool to keep alive at all times. This means that, if jobs
|
|
283
|
+
come in and consume the idle nodes, we will attempt to pre-boot more nodes to handle
|
|
284
|
+
any more jobs that come in.
|
|
285
|
+
"""
|
|
286
|
+
allocation_priority: builtins.int
|
|
287
|
+
"""nodepool priority used to prefer certain nodepools for allocating new nodes for a job
|
|
288
|
+
when existing nodes are not available or are not sufficient to run a job.
|
|
289
|
+
Higher priority nodepools take precedence when multiple nodepools satisfy the job criteria.
|
|
290
|
+
In case of similar priority, we give preference to pools requiring fewer nodes or higher capacity nodes.
|
|
291
|
+
"""
|
|
292
|
+
max_alive_nodes: builtins.int
|
|
293
|
+
"""Maximum number of alive nodes in the pool. If not found or empty, no limit
|
|
294
|
+
will be enforced.
|
|
295
|
+
"""
|
|
296
|
+
no_bulk_insert: builtins.bool
|
|
297
|
+
"""If set to true, do not use BulkInsert GCP operations to create instances in this node pool.
|
|
298
|
+
See LC-11033 and LC-11161.
|
|
299
|
+
"""
|
|
300
|
+
no_small_jobs: builtins.bool
|
|
301
|
+
"""If set to true, do not schedule smaller jobs(< node size in cpus/gpus) on this node pool."""
|
|
302
|
+
@property
|
|
303
|
+
def peak_usage_window(self) -> global___PeakUsageWindow:
|
|
304
|
+
"""If specified, `n_keep_alive` above will only be applied during the specified
|
|
305
|
+
interval. This will also be leveraged to allow sharing with other environments
|
|
306
|
+
off-peak.
|
|
307
|
+
"""
|
|
308
|
+
allow_peak_usage: builtins.bool
|
|
309
|
+
"""If specified, and true, will allow using this nodepool during peak-usage hours."""
|
|
310
|
+
unused: builtins.bool
|
|
311
|
+
preemptible_override: global___PreemptibleOverride.ValueType
|
|
312
|
+
"""If specified, and true, will override the "preemptibility" of nodes in this environment
|
|
313
|
+
- Never: This is necessary for sharing a nodepool that uses reserved nodes, across multiple
|
|
314
|
+
environments.
|
|
315
|
+
- Always: This is necessary for sharing nodepool that uses nodes that we can't get on-demand, but would still want to "burst into"
|
|
316
|
+
"""
|
|
317
|
+
kueue_local_queue: builtins.str
|
|
318
|
+
"""Kueue local queue for the given namespace that this nodepool is supposed to
|
|
319
|
+
be used.
|
|
320
|
+
"""
|
|
321
|
+
kueue_local_queue_preemption: builtins.str
|
|
322
|
+
"""Kueue local queue for the given namespace that this nodepool is supposed to
|
|
323
|
+
be used for preemption. Use with care when setting this value in
|
|
324
|
+
production.
|
|
325
|
+
"""
|
|
326
|
+
def __init__(
|
|
327
|
+
self,
|
|
328
|
+
*,
|
|
329
|
+
name: builtins.str = ...,
|
|
330
|
+
machine_type: builtins.str = ...,
|
|
331
|
+
zone: builtins.str = ...,
|
|
332
|
+
gpu_type: global___GPUType.ValueType = ...,
|
|
333
|
+
n_gpu_per_node: builtins.int = ...,
|
|
334
|
+
n_cpu_per_node: builtins.int = ...,
|
|
335
|
+
memory_gb_per_node: builtins.float = ...,
|
|
336
|
+
description: builtins.str = ...,
|
|
337
|
+
max_nodes_per_job: builtins.int = ...,
|
|
338
|
+
job_scheduler: builtins.str = ...,
|
|
339
|
+
reservation: builtins.str = ...,
|
|
340
|
+
n_keep_alive: builtins.int = ...,
|
|
341
|
+
allocation_priority: builtins.int = ...,
|
|
342
|
+
max_alive_nodes: builtins.int = ...,
|
|
343
|
+
no_bulk_insert: builtins.bool = ...,
|
|
344
|
+
no_small_jobs: builtins.bool = ...,
|
|
345
|
+
peak_usage_window: global___PeakUsageWindow | None = ...,
|
|
346
|
+
allow_peak_usage: builtins.bool = ...,
|
|
347
|
+
unused: builtins.bool = ...,
|
|
348
|
+
preemptible_override: global___PreemptibleOverride.ValueType = ...,
|
|
349
|
+
kueue_local_queue: builtins.str = ...,
|
|
350
|
+
kueue_local_queue_preemption: builtins.str = ...,
|
|
351
|
+
) -> None: ...
|
|
352
|
+
def HasField(self, field_name: typing_extensions.Literal["peak_usage_window", b"peak_usage_window"]) -> builtins.bool: ...
|
|
353
|
+
def ClearField(self, field_name: typing_extensions.Literal["allocation_priority", b"allocation_priority", "allow_peak_usage", b"allow_peak_usage", "description", b"description", "gpu_type", b"gpu_type", "job_scheduler", b"job_scheduler", "kueue_local_queue", b"kueue_local_queue", "kueue_local_queue_preemption", b"kueue_local_queue_preemption", "machine_type", b"machine_type", "max_alive_nodes", b"max_alive_nodes", "max_nodes_per_job", b"max_nodes_per_job", "memory_gb_per_node", b"memory_gb_per_node", "n_cpu_per_node", b"n_cpu_per_node", "n_gpu_per_node", b"n_gpu_per_node", "n_keep_alive", b"n_keep_alive", "name", b"name", "no_bulk_insert", b"no_bulk_insert", "no_small_jobs", b"no_small_jobs", "peak_usage_window", b"peak_usage_window", "preemptible_override", b"preemptible_override", "reservation", b"reservation", "unused", b"unused", "zone", b"zone"]) -> None: ...
|
|
354
|
+
|
|
355
|
+
global___NodePool = NodePool
|
|
356
|
+
|
|
357
|
+
class ClusterConfig(google.protobuf.message.Message):
|
|
358
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
359
|
+
|
|
360
|
+
NODE_POOLS_FIELD_NUMBER: builtins.int
|
|
361
|
+
RESERVATIONS_FIELD_NUMBER: builtins.int
|
|
362
|
+
NODEMANAGER_K8S_CONFIG_FIELD_NUMBER: builtins.int
|
|
363
|
+
@property
|
|
364
|
+
def node_pools(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodePool]:
|
|
365
|
+
"""List of GKE nodepools in the Kubernetes cluster. Plural name."""
|
|
366
|
+
@property
|
|
367
|
+
def reservations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodeReservation]:
|
|
368
|
+
"""Set of nodes to reserve permanently. Optional. Plural name."""
|
|
369
|
+
@property
|
|
370
|
+
def nodemanager_k8s_config(self) -> global___NodemanagerK8sConfig:
|
|
371
|
+
"""Nodemanager configuration to run jobs on the common dataplane cluster."""
|
|
372
|
+
def __init__(
|
|
373
|
+
self,
|
|
374
|
+
*,
|
|
375
|
+
node_pools: collections.abc.Iterable[global___NodePool] | None = ...,
|
|
376
|
+
reservations: collections.abc.Iterable[global___NodeReservation] | None = ...,
|
|
377
|
+
nodemanager_k8s_config: global___NodemanagerK8sConfig | None = ...,
|
|
378
|
+
) -> None: ...
|
|
379
|
+
def HasField(self, field_name: typing_extensions.Literal["nodemanager_k8s_config", b"nodemanager_k8s_config"]) -> builtins.bool: ...
|
|
380
|
+
def ClearField(self, field_name: typing_extensions.Literal["node_pools", b"node_pools", "nodemanager_k8s_config", b"nodemanager_k8s_config", "reservations", b"reservations"]) -> None: ...
|
|
381
|
+
|
|
382
|
+
global___ClusterConfig = ClusterConfig
|
|
383
|
+
|
|
384
|
+
class NodeReservation(google.protobuf.message.Message):
|
|
385
|
+
"""Request to allocate one node."""
|
|
386
|
+
|
|
387
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
388
|
+
|
|
389
|
+
N_PU_FIELD_NUMBER: builtins.int
|
|
390
|
+
GPU_TYPE_FIELD_NUMBER: builtins.int
|
|
391
|
+
EXPIRY_FIELD_NUMBER: builtins.int
|
|
392
|
+
n_pu: builtins.int
|
|
393
|
+
"""Number of GPUs or CPUs needed on the node."""
|
|
394
|
+
gpu_type: global___GPUType.ValueType
|
|
395
|
+
"""The type of node to allocate. It must be_pool.gpu_type for one of the
|
|
396
|
+
NodePools in ClusterConfig
|
|
397
|
+
"""
|
|
398
|
+
expiry: builtins.int
|
|
399
|
+
"""The expiry time for the node reservation, in seconds since 1970-1-1"""
|
|
400
|
+
def __init__(
|
|
401
|
+
self,
|
|
402
|
+
*,
|
|
403
|
+
n_pu: builtins.int = ...,
|
|
404
|
+
gpu_type: global___GPUType.ValueType = ...,
|
|
405
|
+
expiry: builtins.int = ...,
|
|
406
|
+
) -> None: ...
|
|
407
|
+
def ClearField(self, field_name: typing_extensions.Literal["expiry", b"expiry", "gpu_type", b"gpu_type", "n_pu", b"n_pu"]) -> None: ...
|
|
408
|
+
|
|
409
|
+
global___NodeReservation = NodeReservation
|
|
410
|
+
|
|
411
|
+
class NodeReservationState(google.protobuf.message.Message):
|
|
412
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
413
|
+
|
|
414
|
+
REQUEST_FIELD_NUMBER: builtins.int
|
|
415
|
+
NODE_POOL_FIELD_NUMBER: builtins.int
|
|
416
|
+
@property
|
|
417
|
+
def request(self) -> global___NodeReservation:
|
|
418
|
+
"""Original request by the user"""
|
|
419
|
+
node_pool: builtins.str
|
|
420
|
+
"""Assigned node pool. "" if unassigned."""
|
|
421
|
+
def __init__(
|
|
422
|
+
self,
|
|
423
|
+
*,
|
|
424
|
+
request: global___NodeReservation | None = ...,
|
|
425
|
+
node_pool: builtins.str = ...,
|
|
426
|
+
) -> None: ...
|
|
427
|
+
def HasField(self, field_name: typing_extensions.Literal["request", b"request"]) -> builtins.bool: ...
|
|
428
|
+
def ClearField(self, field_name: typing_extensions.Literal["node_pool", b"node_pool", "request", b"request"]) -> None: ...
|
|
429
|
+
|
|
430
|
+
global___NodeReservationState = NodeReservationState
|
|
431
|
+
|
|
432
|
+
class UserReservation(google.protobuf.message.Message):
|
|
433
|
+
"""A container used for seeing existing node reservations"""
|
|
434
|
+
|
|
435
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
436
|
+
|
|
437
|
+
USER_FIELD_NUMBER: builtins.int
|
|
438
|
+
RESERVATION_FIELD_NUMBER: builtins.int
|
|
439
|
+
user: builtins.str
|
|
440
|
+
"""The user who requested the reservation"""
|
|
441
|
+
@property
|
|
442
|
+
def reservation(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodeReservationState]:
|
|
443
|
+
"""List of requests. Each request allocates one node. If you want to allocate
|
|
444
|
+
multiple nodes of the same type, repeat the reservation.
|
|
445
|
+
"""
|
|
446
|
+
def __init__(
|
|
447
|
+
self,
|
|
448
|
+
*,
|
|
449
|
+
user: builtins.str = ...,
|
|
450
|
+
reservation: collections.abc.Iterable[global___NodeReservationState] | None = ...,
|
|
451
|
+
) -> None: ...
|
|
452
|
+
def ClearField(self, field_name: typing_extensions.Literal["reservation", b"reservation", "user", b"user"]) -> None: ...
|
|
453
|
+
|
|
454
|
+
global___UserReservation = UserReservation
|
|
455
|
+
|
|
456
|
+
class GeometryServiceClusterConfig(google.protobuf.message.Message):
|
|
457
|
+
"""Used to configure the warmed-up jobs and their sizing for the geometry
|
|
458
|
+
service.
|
|
459
|
+
"""
|
|
460
|
+
|
|
461
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
462
|
+
|
|
463
|
+
class HesaConfig(google.protobuf.message.Message):
|
|
464
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
465
|
+
|
|
466
|
+
NAMESPACE_FIELD_NUMBER: builtins.int
|
|
467
|
+
REGION_FIELD_NUMBER: builtins.int
|
|
468
|
+
CLUSTER_NAME_FIELD_NUMBER: builtins.int
|
|
469
|
+
PROJECT_FIELD_NUMBER: builtins.int
|
|
470
|
+
SERVICE_ACCOUNT_FIELD_NUMBER: builtins.int
|
|
471
|
+
KUEUE_QUEUE_FIELD_NUMBER: builtins.int
|
|
472
|
+
namespace: builtins.str
|
|
473
|
+
region: builtins.str
|
|
474
|
+
cluster_name: builtins.str
|
|
475
|
+
project: builtins.str
|
|
476
|
+
service_account: builtins.str
|
|
477
|
+
kueue_queue: builtins.str
|
|
478
|
+
def __init__(
|
|
479
|
+
self,
|
|
480
|
+
*,
|
|
481
|
+
namespace: builtins.str = ...,
|
|
482
|
+
region: builtins.str = ...,
|
|
483
|
+
cluster_name: builtins.str = ...,
|
|
484
|
+
project: builtins.str = ...,
|
|
485
|
+
service_account: builtins.str = ...,
|
|
486
|
+
kueue_queue: builtins.str = ...,
|
|
487
|
+
) -> None: ...
|
|
488
|
+
def ClearField(self, field_name: typing_extensions.Literal["cluster_name", b"cluster_name", "kueue_queue", b"kueue_queue", "namespace", b"namespace", "project", b"project", "region", b"region", "service_account", b"service_account"]) -> None: ...
|
|
489
|
+
|
|
490
|
+
PEAK_WARMED_UP_JOBS_FIELD_NUMBER: builtins.int
|
|
491
|
+
NON_PEAK_WARMED_UP_JOBS_FIELD_NUMBER: builtins.int
|
|
492
|
+
CPU_REQUEST_FIELD_NUMBER: builtins.int
|
|
493
|
+
MEM_GIB_REQUEST_FIELD_NUMBER: builtins.int
|
|
494
|
+
PEAK_USAGE_WINDOW_FIELD_NUMBER: builtins.int
|
|
495
|
+
HESA_CONFIG_FIELD_NUMBER: builtins.int
|
|
496
|
+
peak_warmed_up_jobs: builtins.int
|
|
497
|
+
"""Number of peak-warmed-up jobs."""
|
|
498
|
+
non_peak_warmed_up_jobs: builtins.int
|
|
499
|
+
"""Number of non-peak-warmed-up jobs."""
|
|
500
|
+
cpu_request: builtins.float
|
|
501
|
+
"""The k8s requests for the peak-warmed-up jobs. requests === limits."""
|
|
502
|
+
mem_gib_request: builtins.float
|
|
503
|
+
@property
|
|
504
|
+
def peak_usage_window(self) -> global___PeakUsageWindow:
|
|
505
|
+
"""Peak usage configuration."""
|
|
506
|
+
@property
|
|
507
|
+
def hesa_config(self) -> global___GeometryServiceClusterConfig.HesaConfig: ...
|
|
508
|
+
def __init__(
|
|
509
|
+
self,
|
|
510
|
+
*,
|
|
511
|
+
peak_warmed_up_jobs: builtins.int = ...,
|
|
512
|
+
non_peak_warmed_up_jobs: builtins.int = ...,
|
|
513
|
+
cpu_request: builtins.float = ...,
|
|
514
|
+
mem_gib_request: builtins.float = ...,
|
|
515
|
+
peak_usage_window: global___PeakUsageWindow | None = ...,
|
|
516
|
+
hesa_config: global___GeometryServiceClusterConfig.HesaConfig | None = ...,
|
|
517
|
+
) -> None: ...
|
|
518
|
+
def HasField(self, field_name: typing_extensions.Literal["hesa_config", b"hesa_config", "peak_usage_window", b"peak_usage_window"]) -> builtins.bool: ...
|
|
519
|
+
def ClearField(self, field_name: typing_extensions.Literal["cpu_request", b"cpu_request", "hesa_config", b"hesa_config", "mem_gib_request", b"mem_gib_request", "non_peak_warmed_up_jobs", b"non_peak_warmed_up_jobs", "peak_usage_window", b"peak_usage_window", "peak_warmed_up_jobs", b"peak_warmed_up_jobs"]) -> None: ...
|
|
520
|
+
|
|
521
|
+
global___GeometryServiceClusterConfig = GeometryServiceClusterConfig
|
|
522
|
+
|
|
523
|
+
class InferenceServiceSpec(google.protobuf.message.Message):
|
|
524
|
+
"""Configuration for a single KServe InferenceService"""
|
|
525
|
+
|
|
526
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
527
|
+
|
|
528
|
+
class ResourceRequirements(google.protobuf.message.Message):
|
|
529
|
+
"""k8s resource requests."""
|
|
530
|
+
|
|
531
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
532
|
+
|
|
533
|
+
CPU_REQUEST_FIELD_NUMBER: builtins.int
|
|
534
|
+
MEMORY_GIB_REQUEST_FIELD_NUMBER: builtins.int
|
|
535
|
+
GPU_REQUEST_FIELD_NUMBER: builtins.int
|
|
536
|
+
CPU_LIMIT_FIELD_NUMBER: builtins.int
|
|
537
|
+
MEMORY_GIB_LIMIT_FIELD_NUMBER: builtins.int
|
|
538
|
+
GPU_LIMIT_FIELD_NUMBER: builtins.int
|
|
539
|
+
cpu_request: builtins.float
|
|
540
|
+
memory_gib_request: builtins.float
|
|
541
|
+
gpu_request: builtins.int
|
|
542
|
+
cpu_limit: builtins.float
|
|
543
|
+
memory_gib_limit: builtins.float
|
|
544
|
+
gpu_limit: builtins.int
|
|
545
|
+
def __init__(
|
|
546
|
+
self,
|
|
547
|
+
*,
|
|
548
|
+
cpu_request: builtins.float = ...,
|
|
549
|
+
memory_gib_request: builtins.float = ...,
|
|
550
|
+
gpu_request: builtins.int = ...,
|
|
551
|
+
cpu_limit: builtins.float = ...,
|
|
552
|
+
memory_gib_limit: builtins.float = ...,
|
|
553
|
+
gpu_limit: builtins.int = ...,
|
|
554
|
+
) -> None: ...
|
|
555
|
+
def ClearField(self, field_name: typing_extensions.Literal["cpu_limit", b"cpu_limit", "cpu_request", b"cpu_request", "gpu_limit", b"gpu_limit", "gpu_request", b"gpu_request", "memory_gib_limit", b"memory_gib_limit", "memory_gib_request", b"memory_gib_request"]) -> None: ...
|
|
556
|
+
|
|
557
|
+
class AutoscalingConfig(google.protobuf.message.Message):
|
|
558
|
+
"""Autoscaling configuration"""
|
|
559
|
+
|
|
560
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
561
|
+
|
|
562
|
+
TARGET_CONCURRENCY_FIELD_NUMBER: builtins.int
|
|
563
|
+
SCALE_DOWN_DELAY_SECONDS_FIELD_NUMBER: builtins.int
|
|
564
|
+
MIN_REPLICAS_FIELD_NUMBER: builtins.int
|
|
565
|
+
MAX_REPLICAS_FIELD_NUMBER: builtins.int
|
|
566
|
+
CONTAINER_CONCURRENCY_FIELD_NUMBER: builtins.int
|
|
567
|
+
target_concurrency: builtins.int
|
|
568
|
+
scale_down_delay_seconds: builtins.int
|
|
569
|
+
min_replicas: builtins.int
|
|
570
|
+
max_replicas: builtins.int
|
|
571
|
+
container_concurrency: builtins.int
|
|
572
|
+
def __init__(
|
|
573
|
+
self,
|
|
574
|
+
*,
|
|
575
|
+
target_concurrency: builtins.int = ...,
|
|
576
|
+
scale_down_delay_seconds: builtins.int = ...,
|
|
577
|
+
min_replicas: builtins.int = ...,
|
|
578
|
+
max_replicas: builtins.int = ...,
|
|
579
|
+
container_concurrency: builtins.int = ...,
|
|
580
|
+
) -> None: ...
|
|
581
|
+
def ClearField(self, field_name: typing_extensions.Literal["container_concurrency", b"container_concurrency", "max_replicas", b"max_replicas", "min_replicas", b"min_replicas", "scale_down_delay_seconds", b"scale_down_delay_seconds", "target_concurrency", b"target_concurrency"]) -> None: ...
|
|
582
|
+
|
|
583
|
+
class NodeSelectorEntry(google.protobuf.message.Message):
|
|
584
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
585
|
+
|
|
586
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
587
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
588
|
+
key: builtins.str
|
|
589
|
+
value: builtins.str
|
|
590
|
+
def __init__(
|
|
591
|
+
self,
|
|
592
|
+
*,
|
|
593
|
+
key: builtins.str = ...,
|
|
594
|
+
value: builtins.str = ...,
|
|
595
|
+
) -> None: ...
|
|
596
|
+
def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
597
|
+
|
|
598
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
599
|
+
IMAGE_FIELD_NUMBER: builtins.int
|
|
600
|
+
RESOURCES_FIELD_NUMBER: builtins.int
|
|
601
|
+
AUTOSCALING_FIELD_NUMBER: builtins.int
|
|
602
|
+
NODE_SELECTOR_FIELD_NUMBER: builtins.int
|
|
603
|
+
COMMAND_FIELD_NUMBER: builtins.int
|
|
604
|
+
name: builtins.str
|
|
605
|
+
"""Name of the kserve InferenceService."""
|
|
606
|
+
image: builtins.str
|
|
607
|
+
"""Docker image for the inference service."""
|
|
608
|
+
@property
|
|
609
|
+
def resources(self) -> global___InferenceServiceSpec.ResourceRequirements: ...
|
|
610
|
+
@property
|
|
611
|
+
def autoscaling(self) -> global___InferenceServiceSpec.AutoscalingConfig: ...
|
|
612
|
+
@property
|
|
613
|
+
def node_selector(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
|
|
614
|
+
@property
|
|
615
|
+
def command(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
|
616
|
+
def __init__(
|
|
617
|
+
self,
|
|
618
|
+
*,
|
|
619
|
+
name: builtins.str = ...,
|
|
620
|
+
image: builtins.str = ...,
|
|
621
|
+
resources: global___InferenceServiceSpec.ResourceRequirements | None = ...,
|
|
622
|
+
autoscaling: global___InferenceServiceSpec.AutoscalingConfig | None = ...,
|
|
623
|
+
node_selector: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
624
|
+
command: collections.abc.Iterable[builtins.str] | None = ...,
|
|
625
|
+
) -> None: ...
|
|
626
|
+
def HasField(self, field_name: typing_extensions.Literal["autoscaling", b"autoscaling", "resources", b"resources"]) -> builtins.bool: ...
|
|
627
|
+
def ClearField(self, field_name: typing_extensions.Literal["autoscaling", b"autoscaling", "command", b"command", "image", b"image", "name", b"name", "node_selector", b"node_selector", "resources", b"resources"]) -> None: ...
|
|
628
|
+
|
|
629
|
+
global___InferenceServiceSpec = InferenceServiceSpec
|
|
630
|
+
|
|
631
|
+
class InferenceServiceClusterConfig(google.protobuf.message.Message):
|
|
632
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
633
|
+
|
|
634
|
+
class HesaConfig(google.protobuf.message.Message):
|
|
635
|
+
"""Used to create the k8s client that will be used to connect to the cluster
|
|
636
|
+
where the services are deployed.
|
|
637
|
+
"""
|
|
638
|
+
|
|
639
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
640
|
+
|
|
641
|
+
NAMESPACE_FIELD_NUMBER: builtins.int
|
|
642
|
+
REGION_FIELD_NUMBER: builtins.int
|
|
643
|
+
CLUSTER_NAME_FIELD_NUMBER: builtins.int
|
|
644
|
+
PROJECT_FIELD_NUMBER: builtins.int
|
|
645
|
+
SERVICE_ACCOUNT_FIELD_NUMBER: builtins.int
|
|
646
|
+
namespace: builtins.str
|
|
647
|
+
region: builtins.str
|
|
648
|
+
cluster_name: builtins.str
|
|
649
|
+
project: builtins.str
|
|
650
|
+
service_account: builtins.str
|
|
651
|
+
def __init__(
|
|
652
|
+
self,
|
|
653
|
+
*,
|
|
654
|
+
namespace: builtins.str = ...,
|
|
655
|
+
region: builtins.str = ...,
|
|
656
|
+
cluster_name: builtins.str = ...,
|
|
657
|
+
project: builtins.str = ...,
|
|
658
|
+
service_account: builtins.str = ...,
|
|
659
|
+
) -> None: ...
|
|
660
|
+
def ClearField(self, field_name: typing_extensions.Literal["cluster_name", b"cluster_name", "namespace", b"namespace", "project", b"project", "region", b"region", "service_account", b"service_account"]) -> None: ...
|
|
661
|
+
|
|
662
|
+
HESA_CONFIG_FIELD_NUMBER: builtins.int
|
|
663
|
+
DEFAULT_CONFIG_FIELD_NUMBER: builtins.int
|
|
664
|
+
KSERVE_NAMESPACE_FIELD_NUMBER: builtins.int
|
|
665
|
+
KSERVE_INFERENCE_SERVICES_FIELD_NUMBER: builtins.int
|
|
666
|
+
USE_PER_ENV_INFERENCE_SERVICE_FIELD_NUMBER: builtins.int
|
|
667
|
+
@property
|
|
668
|
+
def hesa_config(self) -> global___InferenceServiceClusterConfig.HesaConfig: ...
|
|
669
|
+
@property
|
|
670
|
+
def default_config(self) -> global___InferenceServiceSpec:
|
|
671
|
+
"""Default configuration applied to all inference services that will be
|
|
672
|
+
created by this service.
|
|
673
|
+
"""
|
|
674
|
+
kserve_namespace: builtins.str
|
|
675
|
+
"""Global kserve InferenceService endpoints not controlled by this service.
|
|
676
|
+
These services are deployed by separate teams but are still reachable
|
|
677
|
+
by the inference service.
|
|
678
|
+
"""
|
|
679
|
+
@property
|
|
680
|
+
def kserve_inference_services(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
|
681
|
+
use_per_env_inference_service: builtins.bool
|
|
682
|
+
"""Whether to use a per-environment InferenceService instead of using the
|
|
683
|
+
global one. If false, the service will not create and control ISVCs and
|
|
684
|
+
instead it will reach out to kserve_inference_services.
|
|
685
|
+
"""
|
|
686
|
+
def __init__(
|
|
687
|
+
self,
|
|
688
|
+
*,
|
|
689
|
+
hesa_config: global___InferenceServiceClusterConfig.HesaConfig | None = ...,
|
|
690
|
+
default_config: global___InferenceServiceSpec | None = ...,
|
|
691
|
+
kserve_namespace: builtins.str = ...,
|
|
692
|
+
kserve_inference_services: collections.abc.Iterable[builtins.str] | None = ...,
|
|
693
|
+
use_per_env_inference_service: builtins.bool = ...,
|
|
694
|
+
) -> None: ...
|
|
695
|
+
def HasField(self, field_name: typing_extensions.Literal["default_config", b"default_config", "hesa_config", b"hesa_config"]) -> builtins.bool: ...
|
|
696
|
+
def ClearField(self, field_name: typing_extensions.Literal["default_config", b"default_config", "hesa_config", b"hesa_config", "kserve_inference_services", b"kserve_inference_services", "kserve_namespace", b"kserve_namespace", "use_per_env_inference_service", b"use_per_env_inference_service"]) -> None: ...
|
|
697
|
+
|
|
698
|
+
global___InferenceServiceClusterConfig = InferenceServiceClusterConfig
|
|
699
|
+
|
|
700
|
+
class NodemanagerK8sConfig(google.protobuf.message.Message):
|
|
701
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
702
|
+
|
|
703
|
+
class HesaConfig(google.protobuf.message.Message):
|
|
704
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
705
|
+
|
|
706
|
+
NAMESPACE_FIELD_NUMBER: builtins.int
|
|
707
|
+
REGION_FIELD_NUMBER: builtins.int
|
|
708
|
+
CLUSTER_NAME_FIELD_NUMBER: builtins.int
|
|
709
|
+
PROJECT_FIELD_NUMBER: builtins.int
|
|
710
|
+
SERVICE_ACCOUNT_FIELD_NUMBER: builtins.int
|
|
711
|
+
namespace: builtins.str
|
|
712
|
+
region: builtins.str
|
|
713
|
+
cluster_name: builtins.str
|
|
714
|
+
project: builtins.str
|
|
715
|
+
service_account: builtins.str
|
|
716
|
+
def __init__(
|
|
717
|
+
self,
|
|
718
|
+
*,
|
|
719
|
+
namespace: builtins.str = ...,
|
|
720
|
+
region: builtins.str = ...,
|
|
721
|
+
cluster_name: builtins.str = ...,
|
|
722
|
+
project: builtins.str = ...,
|
|
723
|
+
service_account: builtins.str = ...,
|
|
724
|
+
) -> None: ...
|
|
725
|
+
def ClearField(self, field_name: typing_extensions.Literal["cluster_name", b"cluster_name", "namespace", b"namespace", "project", b"project", "region", b"region", "service_account", b"service_account"]) -> None: ...
|
|
726
|
+
|
|
727
|
+
class HesaNodePool(google.protobuf.message.Message):
|
|
728
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
729
|
+
|
|
730
|
+
NODE_POOL_FIELD_NUMBER: builtins.int
|
|
731
|
+
WORKLOAD_PRIORITY_CLASS_FIELD_NUMBER: builtins.int
|
|
732
|
+
WORKLOAD_PRIORITY_CLASS_BATCH_FIELD_NUMBER: builtins.int
|
|
733
|
+
WORKLOAD_PRIORITY_CLASS_TRIAL_ACCOUNT_FIELD_NUMBER: builtins.int
|
|
734
|
+
WORKLOAD_PRIORITY_CLASS_TRIAL_ACCOUNT_BATCH_FIELD_NUMBER: builtins.int
|
|
735
|
+
WORKLOAD_PRIORITY_CLASS_PREEMPTION_FIELD_NUMBER: builtins.int
|
|
736
|
+
SUPPORTS_TAS_FIELD_NUMBER: builtins.int
|
|
737
|
+
@property
|
|
738
|
+
def node_pool(self) -> global___NodePool: ...
|
|
739
|
+
workload_priority_class: builtins.str
|
|
740
|
+
"""Default workload priority class ala Kueue."""
|
|
741
|
+
workload_priority_class_batch: builtins.str
|
|
742
|
+
"""Default workload priority class for batch jobs."""
|
|
743
|
+
workload_priority_class_trial_account: builtins.str
|
|
744
|
+
"""Default workload priority class for trial account jobs."""
|
|
745
|
+
workload_priority_class_trial_account_batch: builtins.str
|
|
746
|
+
"""Default workload priority class for trial account batch jobs."""
|
|
747
|
+
workload_priority_class_preemption: builtins.str
|
|
748
|
+
"""Priority class that can be preempted. Use with care. Ignore if empty."""
|
|
749
|
+
supports_tas: builtins.bool
|
|
750
|
+
"""Whether the node pool supports kueue's TAS. Autoscaling node pools do not
|
|
751
|
+
support TAS.
|
|
752
|
+
"""
|
|
753
|
+
def __init__(
|
|
754
|
+
self,
|
|
755
|
+
*,
|
|
756
|
+
node_pool: global___NodePool | None = ...,
|
|
757
|
+
workload_priority_class: builtins.str = ...,
|
|
758
|
+
workload_priority_class_batch: builtins.str = ...,
|
|
759
|
+
workload_priority_class_trial_account: builtins.str = ...,
|
|
760
|
+
workload_priority_class_trial_account_batch: builtins.str = ...,
|
|
761
|
+
workload_priority_class_preemption: builtins.str = ...,
|
|
762
|
+
supports_tas: builtins.bool = ...,
|
|
763
|
+
) -> None: ...
|
|
764
|
+
def HasField(self, field_name: typing_extensions.Literal["node_pool", b"node_pool"]) -> builtins.bool: ...
|
|
765
|
+
def ClearField(self, field_name: typing_extensions.Literal["node_pool", b"node_pool", "supports_tas", b"supports_tas", "workload_priority_class", b"workload_priority_class", "workload_priority_class_batch", b"workload_priority_class_batch", "workload_priority_class_preemption", b"workload_priority_class_preemption", "workload_priority_class_trial_account", b"workload_priority_class_trial_account", "workload_priority_class_trial_account_batch", b"workload_priority_class_trial_account_batch"]) -> None: ...
|
|
766
|
+
|
|
767
|
+
class ArgoConfig(google.protobuf.message.Message):
|
|
768
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
769
|
+
|
|
770
|
+
SERVICE_ACCOUNT_FIELD_NUMBER: builtins.int
|
|
771
|
+
TOLERATION_KEY_FIELD_NUMBER: builtins.int
|
|
772
|
+
service_account: builtins.str
|
|
773
|
+
"""Service account to launch Argo Wfs. It should have enough permissions to
|
|
774
|
+
create resources in the namespace.
|
|
775
|
+
"""
|
|
776
|
+
toleration_key: builtins.str
|
|
777
|
+
"""Tolerations to be used for the Argo Wfs pods scheduling/assignment to
|
|
778
|
+
the nodes. We assume that this key is to be used with the Exists
|
|
779
|
+
operator and the NO_SCHEDULE effect.
|
|
780
|
+
"""
|
|
781
|
+
def __init__(
|
|
782
|
+
self,
|
|
783
|
+
*,
|
|
784
|
+
service_account: builtins.str = ...,
|
|
785
|
+
toleration_key: builtins.str = ...,
|
|
786
|
+
) -> None: ...
|
|
787
|
+
def ClearField(self, field_name: typing_extensions.Literal["service_account", b"service_account", "toleration_key", b"toleration_key"]) -> None: ...
|
|
788
|
+
|
|
789
|
+
HESA_CONFIG_FIELD_NUMBER: builtins.int
|
|
790
|
+
HESA_NODE_POOLS_FIELD_NUMBER: builtins.int
|
|
791
|
+
ARGO_CONFIG_FIELD_NUMBER: builtins.int
|
|
792
|
+
@property
|
|
793
|
+
def hesa_config(self) -> global___NodemanagerK8sConfig.HesaConfig: ...
|
|
794
|
+
@property
|
|
795
|
+
def hesa_node_pools(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodemanagerK8sConfig.HesaNodePool]: ...
|
|
796
|
+
@property
|
|
797
|
+
def argo_config(self) -> global___NodemanagerK8sConfig.ArgoConfig: ...
|
|
798
|
+
def __init__(
|
|
799
|
+
self,
|
|
800
|
+
*,
|
|
801
|
+
hesa_config: global___NodemanagerK8sConfig.HesaConfig | None = ...,
|
|
802
|
+
hesa_node_pools: collections.abc.Iterable[global___NodemanagerK8sConfig.HesaNodePool] | None = ...,
|
|
803
|
+
argo_config: global___NodemanagerK8sConfig.ArgoConfig | None = ...,
|
|
804
|
+
) -> None: ...
|
|
805
|
+
def HasField(self, field_name: typing_extensions.Literal["argo_config", b"argo_config", "hesa_config", b"hesa_config"]) -> builtins.bool: ...
|
|
806
|
+
def ClearField(self, field_name: typing_extensions.Literal["argo_config", b"argo_config", "hesa_config", b"hesa_config", "hesa_node_pools", b"hesa_node_pools"]) -> None: ...
|
|
807
|
+
|
|
808
|
+
global___NodemanagerK8sConfig = NodemanagerK8sConfig
|