qwak-core 0.4.378__py3-none-any.whl → 0.5.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. _qwak_proto/qwak/administration/account/v1/account_pb2.py +20 -18
  2. _qwak_proto/qwak/administration/account/v1/account_pb2.pyi +21 -2
  3. _qwak_proto/qwak/admiral/secret/v0/secret_pb2.py +16 -14
  4. _qwak_proto/qwak/admiral/secret/v0/secret_pb2.pyi +21 -2
  5. _qwak_proto/qwak/builds/build_values_pb2.py +24 -18
  6. _qwak_proto/qwak/builds/build_values_pb2.pyi +21 -1
  7. _qwak_proto/qwak/execution/v1/streaming_aggregation_pb2.py +18 -11
  8. _qwak_proto/qwak/execution/v1/streaming_aggregation_pb2.pyi +71 -1
  9. _qwak_proto/qwak/feature_store/features/feature_set_pb2.py +4 -4
  10. _qwak_proto/qwak/feature_store/features/feature_set_pb2.pyi +4 -0
  11. _qwak_proto/qwak/feature_store/features/feature_set_types_pb2.py +60 -58
  12. _qwak_proto/qwak/feature_store/features/feature_set_types_pb2.pyi +7 -2
  13. _qwak_proto/qwak/kube_deployment_captain/batch_job_pb2.py +40 -40
  14. _qwak_proto/qwak/kube_deployment_captain/batch_job_pb2.pyi +7 -1
  15. _qwak_proto/qwak/projects/projects_pb2.py +17 -15
  16. _qwak_proto/qwak/secret_service/secret_service_pb2.pyi +1 -1
  17. qwak/__init__.py +1 -1
  18. qwak/exceptions/__init__.py +1 -0
  19. qwak/exceptions/qwak_grpc_address_exception.py +9 -0
  20. qwak/inner/const.py +2 -6
  21. qwak/inner/di_configuration/__init__.py +1 -67
  22. qwak/inner/di_configuration/dependency_wiring.py +98 -0
  23. qwak/inner/tool/grpc/grpc_tools.py +123 -3
  24. qwak/llmops/generation/chat/openai/types/chat/chat_completion.py +24 -6
  25. qwak/llmops/generation/chat/openai/types/chat/chat_completion_chunk.py +44 -8
  26. qwak/llmops/generation/chat/openai/types/chat/chat_completion_message.py +6 -3
  27. {qwak_core-0.4.378.dist-info → qwak_core-0.5.4.dist-info}/METADATA +4 -6
  28. {qwak_core-0.4.378.dist-info → qwak_core-0.5.4.dist-info}/RECORD +29 -27
  29. {qwak_core-0.4.378.dist-info → qwak_core-0.5.4.dist-info}/WHEEL +0 -0
@@ -21,7 +21,7 @@ from _qwak_proto.qwak.feature_store.features import real_time_feature_extractor_
21
21
  from _qwak_proto.qwak.feature_store.sinks import sink_pb2 as qwak_dot_feature__store_dot_sinks_dot_sink__pb2
22
22
 
23
23
 
24
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3qwak/feature_store/features/feature_set_types.proto\x12\x1bqwak.feature.store.features\x1a\x1fgoogle/protobuf/timestamp.proto\x1a&qwak/feature_store/sources/batch.proto\x1a*qwak/feature_store/sources/streaming.proto\x1a+qwak/feature_store/features/execution.proto\x1a-qwak/feature_store/features/aggregation.proto\x1a,qwak/feature_store/features/monitoring.proto\x1a=qwak/feature_store/features/real_time_feature_extractor.proto\x1a#qwak/feature_store/sinks/sink.proto\"\x9f\x04\n\x0e\x46\x65\x61tureSetType\x12I\n\x11\x62\x61tch_feature_set\x18\x05 \x01(\x0b\x32,.qwak.feature.store.features.BatchFeatureSetH\x00\x12Q\n\x16on_the_fly_feature_set\x18\x06 \x01(\x0b\x32/.qwak.feature.store.features.OnTheFlyFeatureSetH\x00\x12Q\n\x15streaming_feature_set\x18\x07 \x01(\x0b\x32\x30.qwak.feature.store.features.StreamingFeatureSetH\x00\x12V\n\x18streaming_feature_set_v1\x18\x08 \x01(\x0b\x32\x32.qwak.feature.store.features.StreamingFeatureSetV1H\x00\x12N\n\x14\x62\x61tch_feature_set_v1\x18\t \x01(\x0b\x32..qwak.feature.store.features.BatchFeatureSetV1H\x00\x12h\n!streaming_aggregation_feature_set\x18\n \x01(\x0b\x32;.qwak.feature.store.features.StreamingAggregationFeatureSetH\x00\x42\n\n\x08set_type\"\x9d\x03\n\x0f\x42\x61tchFeatureSet\x12\x19\n\x11scheduling_policy\x18\x01 \x01(\t\x12\x41\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.qwak.feature.store.sources.BatchSourceB\x02\x18\x01\x12\x37\n\x08\x62\x61\x63kfill\x18\x03 \x01(\x0b\x32%.qwak.feature.store.features.Backfill\x12\x37\n\x08\x66unction\x18\x04 \x01(\x0b\x32%.qwak.feature.store.features.Function\x12U\n\x19\x66\x65\x61ture_set_batch_sources\x18\x05 \x03(\x0b\x32\x32.qwak.feature.store.features.FeatureSetBatchSource\x12\x63\n\x19monitoring_configurations\x18\x06 \x01(\x0b\x32@.qwak.feature.store.features.monitoring.MonitoringConfigurations\"\xd8\x05\n\x11\x42\x61tchFeatureSetV1\x12\x19\n\x11scheduling_policy\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61\x63kfill\x18\x02 \x01(\x0b\x32%.qwak.feature.store.features.Backfill\x12;\n\x08\x66unction\x18\x03 \x01(\x0b\x32%.qwak.feature.store.features.FunctionB\x02\x18\x01\x12U\n\x19\x66\x65\x61ture_set_batch_sources\x18\x04 \x03(\x0b\x32\x32.qwak.feature.store.features.FeatureSetBatchSource\x12L\n\x0e\x65xecution_spec\x18\x05 \x01(\x0b\x32\x34.qwak.feature.store.features.execution.ExecutionSpec\x12\x14\n\x0coffline_sink\x18\x06 \x01(\x08\x12\x13\n\x0bonline_sink\x18\x07 \x01(\x08\x12\x63\n\x19monitoring_configurations\x18\x08 \x01(\x0b\x32@.qwak.feature.store.features.monitoring.MonitoringConfigurations\x12\x1d\n\x15timestamp_column_name\x18\t \x01(\t\x12\x43\n\x0etransformation\x18\n \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12&\n\x1eqwak_internal_protocol_version\x18\x0b \x01(\x05\x12\\\n\x1breal_time_feature_extractor\x18\x0c \x01(\x0b\x32\x35.qwak.feature.store.features.RealTimeFeatureExtractorH\x00\x42\x13\n\x11\x66\x65\x61ture_extractor\"\x9d\x01\n\x15\x46\x65\x61tureSetBatchSource\x12<\n\x0b\x64\x61ta_source\x18\x01 \x01(\x0b\x32\'.qwak.feature.store.sources.BatchSource\x12\x46\n\x0bread_policy\x18\x02 \x01(\x0b\x32\x31.qwak.feature.store.features.DataSourceReadPolicy\"X\n\x13StreamingFeatureSet\x12\x41\n\x0c\x64\x61ta_sources\x18\x01 \x03(\x0b\x32+.qwak.feature.store.sources.StreamingSource\"\xc3\x03\n\x15StreamingFeatureSetV1\x12\x41\n\x0c\x64\x61ta_sources\x18\x01 \x03(\x0b\x32+.qwak.feature.store.sources.StreamingSource\x12\x43\n\x0etransformation\x18\x02 \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12U\n\x0e\x65xecution_spec\x18\x03 \x01(\x0b\x32=.qwak.feature.store.features.execution.StreamingExecutionSpec\x12\x1d\n\x15timestamp_column_name\x18\x04 \x01(\t\x12\x1f\n\x17online_trigger_interval\x18\x05 \x01(\x05\x12!\n\x19offline_scheduling_policy\x18\x06 \x01(\t\x12&\n\x1eqwak_internal_protocol_version\x18\x07 \x01(\x05\x12@\n\x0f\x61uxiliary_sinks\x18\x08 \x03(\x0b\x32\'.qwak.feature.store.sinks.StreamingSink\"\x97\x04\n\x1eStreamingAggregationFeatureSet\x12\x41\n\x0c\x64\x61ta_sources\x18\x01 \x03(\x0b\x32+.qwak.feature.store.sources.StreamingSource\x12\x43\n\x0etransformation\x18\x02 \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12U\n\x0e\x65xecution_spec\x18\x03 \x01(\x0b\x32=.qwak.feature.store.features.execution.StreamingExecutionSpec\x12\x1d\n\x15timestamp_column_name\x18\x04 \x01(\t\x12\x1f\n\x17online_trigger_interval\x18\x05 \x01(\x05\x12$\n\x1c\x63ompaction_scheduling_policy\x18\x06 \x01(\t\x12\x46\n\x10\x61ggregation_spec\x18\x07 \x01(\x0b\x32,.qwak.feature.store.features.AggregationSpec\x12@\n\rbackfill_spec\x18\x08 \x01(\x0b\x32).qwak.feature.store.features.BackfillSpec\x12&\n\x1eqwak_internal_protocol_version\x18\t \x01(\x05\"\xc3\x01\n\x1b\x42\x61\x63kfillBatchDataSourceSpec\x12<\n\x0b\x64\x61ta_source\x18\x01 \x01(\x0b\x32\'.qwak.feature.store.sources.BatchSource\x12\x33\n\x0fstart_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rend_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"|\n\x16\x42\x61\x63kfillDataSourceSpec\x12Z\n\x16\x62\x61tch_data_source_spec\x18\x01 \x01(\x0b\x32\x38.qwak.feature.store.features.BackfillBatchDataSourceSpecH\x00\x42\x06\n\x04type\"\xe1\x02\n\x0c\x42\x61\x63kfillSpec\x12T\n\x0e\x65xecution_spec\x18\x01 \x01(\x0b\x32<.qwak.feature.store.features.execution.BackfillExecutionSpec\x12\x33\n\x0fstart_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rend_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x0etransformation\x18\x04 \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12N\n\x11\x64\x61ta_source_specs\x18\x05 \x03(\x0b\x32\x33.qwak.feature.store.features.BackfillDataSourceSpec\"\x9f\x01\n\x0f\x41ggregationSpec\x12O\n\x0c\x61ggregations\x18\x01 \x03(\x0b\x32\x39.qwak.feature.store.features.aggregation.AggregationField\x12\x15\n\rslide_seconds\x18\x02 \x01(\x05\x12$\n\x1c\x61llowed_late_arrival_seconds\x18\x03 \x01(\x05\"\xdd\x03\n\x0eTransformation\x12L\n\x12udf_transformation\x18\x01 \x01(\x0b\x32..qwak.feature.store.features.UdfTransformationH\x00\x12L\n\x12sql_transformation\x18\x02 \x01(\x0b\x32..qwak.feature.store.features.SqlTransformationH\x00\x12V\n\x15koalas_transformation\x18\x03 \x01(\x0b\x32\x31.qwak.feature.store.features.KoalasTransformationB\x02\x18\x01H\x00\x12T\n\x16pyspark_transformation\x18\x05 \x01(\x0b\x32\x32.qwak.feature.store.features.PySparkTransformationH\x00\x12\x62\n\x1epandas_on_spark_transformation\x18\x06 \x01(\x0b\x32\x38.qwak.feature.store.features.PandasOnSparkTransformationH\x00\x12\x15\n\rartifact_path\x18\x04 \x01(\tB\x06\n\x04type\"*\n\x11UdfTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\"8\n\x11SqlTransformation\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12\x16\n\x0e\x66unction_names\x18\x02 \x03(\t\"\x83\x01\n\x14KoalasTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x41\n\x06qwargs\x18\x02 \x01(\x0b\x32/.qwak.feature.store.features.TransformArgumentsH\x00:\x02\x18\x01\x42\r\n\x0b\x61rgs_option\"\x80\x01\n\x15PySparkTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x41\n\x06qwargs\x18\x02 \x01(\x0b\x32/.qwak.feature.store.features.TransformArgumentsH\x00\x42\r\n\x0b\x61rgs_option\"\x86\x01\n\x1bPandasOnSparkTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x41\n\x06qwargs\x18\x02 \x01(\x0b\x32/.qwak.feature.store.features.TransformArgumentsH\x00\x42\r\n\x0b\x61rgs_option\"\x90\x01\n\x12TransformArguments\x12K\n\x06qwargs\x18\x01 \x03(\x0b\x32;.qwak.feature.store.features.TransformArguments.QwargsEntry\x1a-\n\x0bQwargsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"f\n\x12OnTheFlyFeatureSet\x12:\n\x08\x66unction\x18\x01 \x01(\x0b\x32(.qwak.feature.store.features.UdfFunction\x12\x14\n\x0crequirements\x18\x02 \x01(\x0c\"\x96\x01\n\x08\x46unction\x12@\n\x0csql_function\x18\x01 \x01(\x0b\x32(.qwak.feature.store.features.SqlFunctionH\x00\x12@\n\x0cudf_function\x18\x02 \x01(\x0b\x32(.qwak.feature.store.features.UdfFunctionH\x00\x42\x06\n\x04type\"\xb5\x01\n\x08\x42\x61\x63kfill\x12.\n\nstart_date\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\rfillup_method\x18\x02 \x01(\x0e\x32\x32.qwak.feature.store.features.Backfill.FillUpMethod\".\n\x0c\x46illUpMethod\x12\x10\n\x0c\x41S_SCHEDULED\x10\x00\x12\x0c\n\x08SNAPSHOT\x10\x01\"\x1a\n\x0bSqlFunction\x12\x0b\n\x03sql\x18\x01 \x01(\t\"\x1b\n\x0bUdfFunction\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x0c\"\t\n\x07NewOnly\"\xa0\x01\n\tTimeFrame\x12\x0f\n\x07minutes\x18\x01 \x01(\x05\x12\x37\n\x07vanilla\x18\x02 \x01(\x0b\x32$.qwak.feature.store.features.VanillaH\x00\x12?\n\x0b\x61ggregation\x18\x03 \x01(\x0b\x32(.qwak.feature.store.features.AggregationH\x00\x42\x08\n\x06\x66lavor\"k\n\x0b\x41ggregation\x12T\n\x16\x61ggregation_population\x18\x01 \x01(\x0b\x32\x32.qwak.feature.store.features.AggregationPopulationH\x00\x42\x06\n\x04type\"\x17\n\x15\x41ggregationPopulation\"\x1c\n\x1aPopulationTimeframeNewOnly\"j\n\x13PopulationTimeframe\x12K\n\x08new_only\x18\x01 \x01(\x0b\x32\x37.qwak.feature.store.features.PopulationTimeframeNewOnlyH\x00\x42\x06\n\x04type\"\t\n\x07Vanilla\"\x9f\x01\n\x08\x46ullRead\x12\x37\n\x07\x64\x65\x66\x61ult\x18\x01 \x01(\x0b\x32$.qwak.feature.store.features.VanillaH\x00\x12P\n\x14population_timeframe\x18\x02 \x01(\x0b\x32\x30.qwak.feature.store.features.PopulationTimeframeH\x00\x42\x08\n\x06\x66lavor\"\xd2\x01\n\x14\x44\x61taSourceReadPolicy\x12\x38\n\x08new_only\x18\x01 \x01(\x0b\x32$.qwak.feature.store.features.NewOnlyH\x00\x12<\n\ntime_frame\x18\x02 \x01(\x0b\x32&.qwak.feature.store.features.TimeFrameH\x00\x12:\n\tfull_read\x18\x03 \x01(\x0b\x32%.qwak.feature.store.features.FullReadH\x00\x42\x06\n\x04type*}\n\x12\x46\x65\x61tureSetTypeView\x12!\n\x1d\x46\x45\x41TURE_SET_TYPE_VIEW_INVALID\x10\x00\x12\x1f\n\x1b\x46\x45\x41TURE_SET_TYPE_VIEW_BATCH\x10\x01\x12#\n\x1f\x46\x45\x41TURE_SET_TYPE_VIEW_STREAMING\x10\x02\x42[\n&com.qwak.ai.feature.store.features.apiP\x01Z/qwak/featurestore/features;featurestorefeaturesb\x06proto3')
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3qwak/feature_store/features/feature_set_types.proto\x12\x1bqwak.feature.store.features\x1a\x1fgoogle/protobuf/timestamp.proto\x1a&qwak/feature_store/sources/batch.proto\x1a*qwak/feature_store/sources/streaming.proto\x1a+qwak/feature_store/features/execution.proto\x1a-qwak/feature_store/features/aggregation.proto\x1a,qwak/feature_store/features/monitoring.proto\x1a=qwak/feature_store/features/real_time_feature_extractor.proto\x1a#qwak/feature_store/sinks/sink.proto\"\x9f\x04\n\x0e\x46\x65\x61tureSetType\x12I\n\x11\x62\x61tch_feature_set\x18\x05 \x01(\x0b\x32,.qwak.feature.store.features.BatchFeatureSetH\x00\x12Q\n\x16on_the_fly_feature_set\x18\x06 \x01(\x0b\x32/.qwak.feature.store.features.OnTheFlyFeatureSetH\x00\x12Q\n\x15streaming_feature_set\x18\x07 \x01(\x0b\x32\x30.qwak.feature.store.features.StreamingFeatureSetH\x00\x12V\n\x18streaming_feature_set_v1\x18\x08 \x01(\x0b\x32\x32.qwak.feature.store.features.StreamingFeatureSetV1H\x00\x12N\n\x14\x62\x61tch_feature_set_v1\x18\t \x01(\x0b\x32..qwak.feature.store.features.BatchFeatureSetV1H\x00\x12h\n!streaming_aggregation_feature_set\x18\n \x01(\x0b\x32;.qwak.feature.store.features.StreamingAggregationFeatureSetH\x00\x42\n\n\x08set_type\"\x9d\x03\n\x0f\x42\x61tchFeatureSet\x12\x19\n\x11scheduling_policy\x18\x01 \x01(\t\x12\x41\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.qwak.feature.store.sources.BatchSourceB\x02\x18\x01\x12\x37\n\x08\x62\x61\x63kfill\x18\x03 \x01(\x0b\x32%.qwak.feature.store.features.Backfill\x12\x37\n\x08\x66unction\x18\x04 \x01(\x0b\x32%.qwak.feature.store.features.Function\x12U\n\x19\x66\x65\x61ture_set_batch_sources\x18\x05 \x03(\x0b\x32\x32.qwak.feature.store.features.FeatureSetBatchSource\x12\x63\n\x19monitoring_configurations\x18\x06 \x01(\x0b\x32@.qwak.feature.store.features.monitoring.MonitoringConfigurations\"\xd8\x05\n\x11\x42\x61tchFeatureSetV1\x12\x19\n\x11scheduling_policy\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61\x63kfill\x18\x02 \x01(\x0b\x32%.qwak.feature.store.features.Backfill\x12;\n\x08\x66unction\x18\x03 \x01(\x0b\x32%.qwak.feature.store.features.FunctionB\x02\x18\x01\x12U\n\x19\x66\x65\x61ture_set_batch_sources\x18\x04 \x03(\x0b\x32\x32.qwak.feature.store.features.FeatureSetBatchSource\x12L\n\x0e\x65xecution_spec\x18\x05 \x01(\x0b\x32\x34.qwak.feature.store.features.execution.ExecutionSpec\x12\x14\n\x0coffline_sink\x18\x06 \x01(\x08\x12\x13\n\x0bonline_sink\x18\x07 \x01(\x08\x12\x63\n\x19monitoring_configurations\x18\x08 \x01(\x0b\x32@.qwak.feature.store.features.monitoring.MonitoringConfigurations\x12\x1d\n\x15timestamp_column_name\x18\t \x01(\t\x12\x43\n\x0etransformation\x18\n \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12&\n\x1eqwak_internal_protocol_version\x18\x0b \x01(\x05\x12\\\n\x1breal_time_feature_extractor\x18\x0c \x01(\x0b\x32\x35.qwak.feature.store.features.RealTimeFeatureExtractorH\x00\x42\x13\n\x11\x66\x65\x61ture_extractor\"\x9d\x01\n\x15\x46\x65\x61tureSetBatchSource\x12<\n\x0b\x64\x61ta_source\x18\x01 \x01(\x0b\x32\'.qwak.feature.store.sources.BatchSource\x12\x46\n\x0bread_policy\x18\x02 \x01(\x0b\x32\x31.qwak.feature.store.features.DataSourceReadPolicy\"X\n\x13StreamingFeatureSet\x12\x41\n\x0c\x64\x61ta_sources\x18\x01 \x03(\x0b\x32+.qwak.feature.store.sources.StreamingSource\"\xc3\x03\n\x15StreamingFeatureSetV1\x12\x41\n\x0c\x64\x61ta_sources\x18\x01 \x03(\x0b\x32+.qwak.feature.store.sources.StreamingSource\x12\x43\n\x0etransformation\x18\x02 \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12U\n\x0e\x65xecution_spec\x18\x03 \x01(\x0b\x32=.qwak.feature.store.features.execution.StreamingExecutionSpec\x12\x1d\n\x15timestamp_column_name\x18\x04 \x01(\t\x12\x1f\n\x17online_trigger_interval\x18\x05 \x01(\x05\x12!\n\x19offline_scheduling_policy\x18\x06 \x01(\t\x12&\n\x1eqwak_internal_protocol_version\x18\x07 \x01(\x05\x12@\n\x0f\x61uxiliary_sinks\x18\x08 \x03(\x0b\x32\'.qwak.feature.store.sinks.StreamingSink\"\xd7\x04\n\x1eStreamingAggregationFeatureSet\x12\x41\n\x0c\x64\x61ta_sources\x18\x01 \x03(\x0b\x32+.qwak.feature.store.sources.StreamingSource\x12\x43\n\x0etransformation\x18\x02 \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12U\n\x0e\x65xecution_spec\x18\x03 \x01(\x0b\x32=.qwak.feature.store.features.execution.StreamingExecutionSpec\x12\x1d\n\x15timestamp_column_name\x18\x04 \x01(\t\x12\x1f\n\x17online_trigger_interval\x18\x05 \x01(\x05\x12$\n\x1c\x63ompaction_scheduling_policy\x18\x06 \x01(\t\x12\x46\n\x10\x61ggregation_spec\x18\x07 \x01(\x0b\x32,.qwak.feature.store.features.AggregationSpec\x12\x44\n\rbackfill_spec\x18\x08 \x01(\x0b\x32).qwak.feature.store.features.BackfillSpecB\x02\x18\x01\x12&\n\x1eqwak_internal_protocol_version\x18\t \x01(\x05\x12:\n\x16\x62\x61\x63kfill_max_timestamp\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc3\x01\n\x1b\x42\x61\x63kfillBatchDataSourceSpec\x12<\n\x0b\x64\x61ta_source\x18\x01 \x01(\x0b\x32\'.qwak.feature.store.sources.BatchSource\x12\x33\n\x0fstart_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rend_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"|\n\x16\x42\x61\x63kfillDataSourceSpec\x12Z\n\x16\x62\x61tch_data_source_spec\x18\x01 \x01(\x0b\x32\x38.qwak.feature.store.features.BackfillBatchDataSourceSpecH\x00\x42\x06\n\x04type\"\xe1\x02\n\x0c\x42\x61\x63kfillSpec\x12T\n\x0e\x65xecution_spec\x18\x01 \x01(\x0b\x32<.qwak.feature.store.features.execution.BackfillExecutionSpec\x12\x33\n\x0fstart_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rend_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x0etransformation\x18\x04 \x01(\x0b\x32+.qwak.feature.store.features.Transformation\x12N\n\x11\x64\x61ta_source_specs\x18\x05 \x03(\x0b\x32\x33.qwak.feature.store.features.BackfillDataSourceSpec\"\x9f\x01\n\x0f\x41ggregationSpec\x12O\n\x0c\x61ggregations\x18\x01 \x03(\x0b\x32\x39.qwak.feature.store.features.aggregation.AggregationField\x12\x15\n\rslide_seconds\x18\x02 \x01(\x05\x12$\n\x1c\x61llowed_late_arrival_seconds\x18\x03 \x01(\x05\"\xdd\x03\n\x0eTransformation\x12L\n\x12udf_transformation\x18\x01 \x01(\x0b\x32..qwak.feature.store.features.UdfTransformationH\x00\x12L\n\x12sql_transformation\x18\x02 \x01(\x0b\x32..qwak.feature.store.features.SqlTransformationH\x00\x12V\n\x15koalas_transformation\x18\x03 \x01(\x0b\x32\x31.qwak.feature.store.features.KoalasTransformationB\x02\x18\x01H\x00\x12T\n\x16pyspark_transformation\x18\x05 \x01(\x0b\x32\x32.qwak.feature.store.features.PySparkTransformationH\x00\x12\x62\n\x1epandas_on_spark_transformation\x18\x06 \x01(\x0b\x32\x38.qwak.feature.store.features.PandasOnSparkTransformationH\x00\x12\x15\n\rartifact_path\x18\x04 \x01(\tB\x06\n\x04type\"*\n\x11UdfTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\"8\n\x11SqlTransformation\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12\x16\n\x0e\x66unction_names\x18\x02 \x03(\t\"\x83\x01\n\x14KoalasTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x41\n\x06qwargs\x18\x02 \x01(\x0b\x32/.qwak.feature.store.features.TransformArgumentsH\x00:\x02\x18\x01\x42\r\n\x0b\x61rgs_option\"\x80\x01\n\x15PySparkTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x41\n\x06qwargs\x18\x02 \x01(\x0b\x32/.qwak.feature.store.features.TransformArgumentsH\x00\x42\r\n\x0b\x61rgs_option\"\x86\x01\n\x1bPandasOnSparkTransformation\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x41\n\x06qwargs\x18\x02 \x01(\x0b\x32/.qwak.feature.store.features.TransformArgumentsH\x00\x42\r\n\x0b\x61rgs_option\"\x90\x01\n\x12TransformArguments\x12K\n\x06qwargs\x18\x01 \x03(\x0b\x32;.qwak.feature.store.features.TransformArguments.QwargsEntry\x1a-\n\x0bQwargsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"f\n\x12OnTheFlyFeatureSet\x12:\n\x08\x66unction\x18\x01 \x01(\x0b\x32(.qwak.feature.store.features.UdfFunction\x12\x14\n\x0crequirements\x18\x02 \x01(\x0c\"\x96\x01\n\x08\x46unction\x12@\n\x0csql_function\x18\x01 \x01(\x0b\x32(.qwak.feature.store.features.SqlFunctionH\x00\x12@\n\x0cudf_function\x18\x02 \x01(\x0b\x32(.qwak.feature.store.features.UdfFunctionH\x00\x42\x06\n\x04type\"\xb5\x01\n\x08\x42\x61\x63kfill\x12.\n\nstart_date\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\rfillup_method\x18\x02 \x01(\x0e\x32\x32.qwak.feature.store.features.Backfill.FillUpMethod\".\n\x0c\x46illUpMethod\x12\x10\n\x0c\x41S_SCHEDULED\x10\x00\x12\x0c\n\x08SNAPSHOT\x10\x01\"\x1a\n\x0bSqlFunction\x12\x0b\n\x03sql\x18\x01 \x01(\t\"\x1b\n\x0bUdfFunction\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x0c\"\t\n\x07NewOnly\"\xa0\x01\n\tTimeFrame\x12\x0f\n\x07minutes\x18\x01 \x01(\x05\x12\x37\n\x07vanilla\x18\x02 \x01(\x0b\x32$.qwak.feature.store.features.VanillaH\x00\x12?\n\x0b\x61ggregation\x18\x03 \x01(\x0b\x32(.qwak.feature.store.features.AggregationH\x00\x42\x08\n\x06\x66lavor\"k\n\x0b\x41ggregation\x12T\n\x16\x61ggregation_population\x18\x01 \x01(\x0b\x32\x32.qwak.feature.store.features.AggregationPopulationH\x00\x42\x06\n\x04type\"\x17\n\x15\x41ggregationPopulation\"\x1c\n\x1aPopulationTimeframeNewOnly\"j\n\x13PopulationTimeframe\x12K\n\x08new_only\x18\x01 \x01(\x0b\x32\x37.qwak.feature.store.features.PopulationTimeframeNewOnlyH\x00\x42\x06\n\x04type\"\t\n\x07Vanilla\"\x9f\x01\n\x08\x46ullRead\x12\x37\n\x07\x64\x65\x66\x61ult\x18\x01 \x01(\x0b\x32$.qwak.feature.store.features.VanillaH\x00\x12P\n\x14population_timeframe\x18\x02 \x01(\x0b\x32\x30.qwak.feature.store.features.PopulationTimeframeH\x00\x42\x08\n\x06\x66lavor\"\xd2\x01\n\x14\x44\x61taSourceReadPolicy\x12\x38\n\x08new_only\x18\x01 \x01(\x0b\x32$.qwak.feature.store.features.NewOnlyH\x00\x12<\n\ntime_frame\x18\x02 \x01(\x0b\x32&.qwak.feature.store.features.TimeFrameH\x00\x12:\n\tfull_read\x18\x03 \x01(\x0b\x32%.qwak.feature.store.features.FullReadH\x00\x42\x06\n\x04type*}\n\x12\x46\x65\x61tureSetTypeView\x12!\n\x1d\x46\x45\x41TURE_SET_TYPE_VIEW_INVALID\x10\x00\x12\x1f\n\x1b\x46\x45\x41TURE_SET_TYPE_VIEW_BATCH\x10\x01\x12#\n\x1f\x46\x45\x41TURE_SET_TYPE_VIEW_STREAMING\x10\x02\x42[\n&com.qwak.ai.feature.store.features.apiP\x01Z/qwak/featurestore/features;featurestorefeaturesb\x06proto3')
25
25
 
26
26
  _globals = globals()
27
27
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -34,14 +34,16 @@ if _descriptor._USE_C_DESCRIPTORS == False:
34
34
  _BATCHFEATURESET.fields_by_name['data_sources']._serialized_options = b'\030\001'
35
35
  _BATCHFEATURESETV1.fields_by_name['function']._options = None
36
36
  _BATCHFEATURESETV1.fields_by_name['function']._serialized_options = b'\030\001'
37
+ _STREAMINGAGGREGATIONFEATURESET.fields_by_name['backfill_spec']._options = None
38
+ _STREAMINGAGGREGATIONFEATURESET.fields_by_name['backfill_spec']._serialized_options = b'\030\001'
37
39
  _TRANSFORMATION.fields_by_name['koalas_transformation']._options = None
38
40
  _TRANSFORMATION.fields_by_name['koalas_transformation']._serialized_options = b'\030\001'
39
41
  _KOALASTRANSFORMATION._options = None
40
42
  _KOALASTRANSFORMATION._serialized_options = b'\030\001'
41
43
  _TRANSFORMARGUMENTS_QWARGSENTRY._options = None
42
44
  _TRANSFORMARGUMENTS_QWARGSENTRY._serialized_options = b'8\001'
43
- _globals['_FEATURESETTYPEVIEW']._serialized_start=6677
44
- _globals['_FEATURESETTYPEVIEW']._serialized_end=6802
45
+ _globals['_FEATURESETTYPEVIEW']._serialized_start=6741
46
+ _globals['_FEATURESETTYPEVIEW']._serialized_end=6866
45
47
  _globals['_FEATURESETTYPE']._serialized_start=440
46
48
  _globals['_FEATURESETTYPE']._serialized_end=983
47
49
  _globals['_BATCHFEATURESET']._serialized_start=986
@@ -55,59 +57,59 @@ if _descriptor._USE_C_DESCRIPTORS == False:
55
57
  _globals['_STREAMINGFEATURESETV1']._serialized_start=2383
56
58
  _globals['_STREAMINGFEATURESETV1']._serialized_end=2834
57
59
  _globals['_STREAMINGAGGREGATIONFEATURESET']._serialized_start=2837
58
- _globals['_STREAMINGAGGREGATIONFEATURESET']._serialized_end=3372
59
- _globals['_BACKFILLBATCHDATASOURCESPEC']._serialized_start=3375
60
- _globals['_BACKFILLBATCHDATASOURCESPEC']._serialized_end=3570
61
- _globals['_BACKFILLDATASOURCESPEC']._serialized_start=3572
62
- _globals['_BACKFILLDATASOURCESPEC']._serialized_end=3696
63
- _globals['_BACKFILLSPEC']._serialized_start=3699
64
- _globals['_BACKFILLSPEC']._serialized_end=4052
65
- _globals['_AGGREGATIONSPEC']._serialized_start=4055
66
- _globals['_AGGREGATIONSPEC']._serialized_end=4214
67
- _globals['_TRANSFORMATION']._serialized_start=4217
68
- _globals['_TRANSFORMATION']._serialized_end=4694
69
- _globals['_UDFTRANSFORMATION']._serialized_start=4696
70
- _globals['_UDFTRANSFORMATION']._serialized_end=4738
71
- _globals['_SQLTRANSFORMATION']._serialized_start=4740
72
- _globals['_SQLTRANSFORMATION']._serialized_end=4796
73
- _globals['_KOALASTRANSFORMATION']._serialized_start=4799
74
- _globals['_KOALASTRANSFORMATION']._serialized_end=4930
75
- _globals['_PYSPARKTRANSFORMATION']._serialized_start=4933
76
- _globals['_PYSPARKTRANSFORMATION']._serialized_end=5061
77
- _globals['_PANDASONSPARKTRANSFORMATION']._serialized_start=5064
78
- _globals['_PANDASONSPARKTRANSFORMATION']._serialized_end=5198
79
- _globals['_TRANSFORMARGUMENTS']._serialized_start=5201
80
- _globals['_TRANSFORMARGUMENTS']._serialized_end=5345
81
- _globals['_TRANSFORMARGUMENTS_QWARGSENTRY']._serialized_start=5300
82
- _globals['_TRANSFORMARGUMENTS_QWARGSENTRY']._serialized_end=5345
83
- _globals['_ONTHEFLYFEATURESET']._serialized_start=5347
84
- _globals['_ONTHEFLYFEATURESET']._serialized_end=5449
85
- _globals['_FUNCTION']._serialized_start=5452
86
- _globals['_FUNCTION']._serialized_end=5602
87
- _globals['_BACKFILL']._serialized_start=5605
88
- _globals['_BACKFILL']._serialized_end=5786
89
- _globals['_BACKFILL_FILLUPMETHOD']._serialized_start=5740
90
- _globals['_BACKFILL_FILLUPMETHOD']._serialized_end=5786
91
- _globals['_SQLFUNCTION']._serialized_start=5788
92
- _globals['_SQLFUNCTION']._serialized_end=5814
93
- _globals['_UDFFUNCTION']._serialized_start=5816
94
- _globals['_UDFFUNCTION']._serialized_end=5843
95
- _globals['_NEWONLY']._serialized_start=5845
96
- _globals['_NEWONLY']._serialized_end=5854
97
- _globals['_TIMEFRAME']._serialized_start=5857
98
- _globals['_TIMEFRAME']._serialized_end=6017
99
- _globals['_AGGREGATION']._serialized_start=6019
100
- _globals['_AGGREGATION']._serialized_end=6126
101
- _globals['_AGGREGATIONPOPULATION']._serialized_start=6128
102
- _globals['_AGGREGATIONPOPULATION']._serialized_end=6151
103
- _globals['_POPULATIONTIMEFRAMENEWONLY']._serialized_start=6153
104
- _globals['_POPULATIONTIMEFRAMENEWONLY']._serialized_end=6181
105
- _globals['_POPULATIONTIMEFRAME']._serialized_start=6183
106
- _globals['_POPULATIONTIMEFRAME']._serialized_end=6289
107
- _globals['_VANILLA']._serialized_start=6291
108
- _globals['_VANILLA']._serialized_end=6300
109
- _globals['_FULLREAD']._serialized_start=6303
110
- _globals['_FULLREAD']._serialized_end=6462
111
- _globals['_DATASOURCEREADPOLICY']._serialized_start=6465
112
- _globals['_DATASOURCEREADPOLICY']._serialized_end=6675
60
+ _globals['_STREAMINGAGGREGATIONFEATURESET']._serialized_end=3436
61
+ _globals['_BACKFILLBATCHDATASOURCESPEC']._serialized_start=3439
62
+ _globals['_BACKFILLBATCHDATASOURCESPEC']._serialized_end=3634
63
+ _globals['_BACKFILLDATASOURCESPEC']._serialized_start=3636
64
+ _globals['_BACKFILLDATASOURCESPEC']._serialized_end=3760
65
+ _globals['_BACKFILLSPEC']._serialized_start=3763
66
+ _globals['_BACKFILLSPEC']._serialized_end=4116
67
+ _globals['_AGGREGATIONSPEC']._serialized_start=4119
68
+ _globals['_AGGREGATIONSPEC']._serialized_end=4278
69
+ _globals['_TRANSFORMATION']._serialized_start=4281
70
+ _globals['_TRANSFORMATION']._serialized_end=4758
71
+ _globals['_UDFTRANSFORMATION']._serialized_start=4760
72
+ _globals['_UDFTRANSFORMATION']._serialized_end=4802
73
+ _globals['_SQLTRANSFORMATION']._serialized_start=4804
74
+ _globals['_SQLTRANSFORMATION']._serialized_end=4860
75
+ _globals['_KOALASTRANSFORMATION']._serialized_start=4863
76
+ _globals['_KOALASTRANSFORMATION']._serialized_end=4994
77
+ _globals['_PYSPARKTRANSFORMATION']._serialized_start=4997
78
+ _globals['_PYSPARKTRANSFORMATION']._serialized_end=5125
79
+ _globals['_PANDASONSPARKTRANSFORMATION']._serialized_start=5128
80
+ _globals['_PANDASONSPARKTRANSFORMATION']._serialized_end=5262
81
+ _globals['_TRANSFORMARGUMENTS']._serialized_start=5265
82
+ _globals['_TRANSFORMARGUMENTS']._serialized_end=5409
83
+ _globals['_TRANSFORMARGUMENTS_QWARGSENTRY']._serialized_start=5364
84
+ _globals['_TRANSFORMARGUMENTS_QWARGSENTRY']._serialized_end=5409
85
+ _globals['_ONTHEFLYFEATURESET']._serialized_start=5411
86
+ _globals['_ONTHEFLYFEATURESET']._serialized_end=5513
87
+ _globals['_FUNCTION']._serialized_start=5516
88
+ _globals['_FUNCTION']._serialized_end=5666
89
+ _globals['_BACKFILL']._serialized_start=5669
90
+ _globals['_BACKFILL']._serialized_end=5850
91
+ _globals['_BACKFILL_FILLUPMETHOD']._serialized_start=5804
92
+ _globals['_BACKFILL_FILLUPMETHOD']._serialized_end=5850
93
+ _globals['_SQLFUNCTION']._serialized_start=5852
94
+ _globals['_SQLFUNCTION']._serialized_end=5878
95
+ _globals['_UDFFUNCTION']._serialized_start=5880
96
+ _globals['_UDFFUNCTION']._serialized_end=5907
97
+ _globals['_NEWONLY']._serialized_start=5909
98
+ _globals['_NEWONLY']._serialized_end=5918
99
+ _globals['_TIMEFRAME']._serialized_start=5921
100
+ _globals['_TIMEFRAME']._serialized_end=6081
101
+ _globals['_AGGREGATION']._serialized_start=6083
102
+ _globals['_AGGREGATION']._serialized_end=6190
103
+ _globals['_AGGREGATIONPOPULATION']._serialized_start=6192
104
+ _globals['_AGGREGATIONPOPULATION']._serialized_end=6215
105
+ _globals['_POPULATIONTIMEFRAMENEWONLY']._serialized_start=6217
106
+ _globals['_POPULATIONTIMEFRAMENEWONLY']._serialized_end=6245
107
+ _globals['_POPULATIONTIMEFRAME']._serialized_start=6247
108
+ _globals['_POPULATIONTIMEFRAME']._serialized_end=6353
109
+ _globals['_VANILLA']._serialized_start=6355
110
+ _globals['_VANILLA']._serialized_end=6364
111
+ _globals['_FULLREAD']._serialized_start=6367
112
+ _globals['_FULLREAD']._serialized_end=6526
113
+ _globals['_DATASOURCEREADPOLICY']._serialized_start=6529
114
+ _globals['_DATASOURCEREADPOLICY']._serialized_end=6739
113
115
  # @@protoc_insertion_point(module_scope)
@@ -290,6 +290,7 @@ class StreamingAggregationFeatureSet(google.protobuf.message.Message):
290
290
  AGGREGATION_SPEC_FIELD_NUMBER: builtins.int
291
291
  BACKFILL_SPEC_FIELD_NUMBER: builtins.int
292
292
  QWAK_INTERNAL_PROTOCOL_VERSION_FIELD_NUMBER: builtins.int
293
+ BACKFILL_MAX_TIMESTAMP_FIELD_NUMBER: builtins.int
293
294
  @property
294
295
  def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.sources.streaming_pb2.StreamingSource]:
295
296
  """Data sources used by the FeatureSet"""
@@ -315,6 +316,9 @@ class StreamingAggregationFeatureSet(google.protobuf.message.Message):
315
316
  """Backfill spec"""
316
317
  qwak_internal_protocol_version: builtins.int
317
318
  """Qwak featureset version"""
319
+ @property
320
+ def backfill_max_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
321
+ """Event-time cutoff point between backfill jobs and compaction/row-level jobs"""
318
322
  def __init__(
319
323
  self,
320
324
  *,
@@ -327,9 +331,10 @@ class StreamingAggregationFeatureSet(google.protobuf.message.Message):
327
331
  aggregation_spec: global___AggregationSpec | None = ...,
328
332
  backfill_spec: global___BackfillSpec | None = ...,
329
333
  qwak_internal_protocol_version: builtins.int = ...,
334
+ backfill_max_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
330
335
  ) -> None: ...
331
- def HasField(self, field_name: typing_extensions.Literal["aggregation_spec", b"aggregation_spec", "backfill_spec", b"backfill_spec", "execution_spec", b"execution_spec", "transformation", b"transformation"]) -> builtins.bool: ...
332
- def ClearField(self, field_name: typing_extensions.Literal["aggregation_spec", b"aggregation_spec", "backfill_spec", b"backfill_spec", "compaction_scheduling_policy", b"compaction_scheduling_policy", "data_sources", b"data_sources", "execution_spec", b"execution_spec", "online_trigger_interval", b"online_trigger_interval", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
336
+ def HasField(self, field_name: typing_extensions.Literal["aggregation_spec", b"aggregation_spec", "backfill_max_timestamp", b"backfill_max_timestamp", "backfill_spec", b"backfill_spec", "execution_spec", b"execution_spec", "transformation", b"transformation"]) -> builtins.bool: ...
337
+ def ClearField(self, field_name: typing_extensions.Literal["aggregation_spec", b"aggregation_spec", "backfill_max_timestamp", b"backfill_max_timestamp", "backfill_spec", b"backfill_spec", "compaction_scheduling_policy", b"compaction_scheduling_policy", "data_sources", b"data_sources", "execution_spec", b"execution_spec", "online_trigger_interval", b"online_trigger_interval", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "timestamp_column_name", b"timestamp_column_name", "transformation", b"transformation"]) -> None: ...
333
338
 
334
339
  global___StreamingAggregationFeatureSet = StreamingAggregationFeatureSet
335
340
 
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
  from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,qwak/kube_deployment_captain/batch_job.proto\x12\x1cqwak.kube.deployment.captain\x1a\x1egoogle/protobuf/wrappers.proto\"\xd2\x03\n\x1cListInferenceJobFilesRequest\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12\x16\n\x0e\x64irectory_path\x18\x02 \x01(\t\x12\x18\n\x0ctoken_secret\x18\x03 \x01(\tB\x02\x18\x01\x12\x19\n\rsecret_secret\x18\x04 \x01(\tB\x02\x18\x01\x12\x1a\n\x12secret_service_url\x18\x05 \x01(\t\x12\x14\n\x08role_arn\x18\x06 \x01(\tB\x02\x18\x01\x12G\n\x0f\x61ws_credentials\x18\x07 \x01(\x0b\x32,.qwak.kube.deployment.captain.AwsCredentialsH\x00\x12G\n\x0fgcp_credentials\x18\x08 \x01(\x0b\x32,.qwak.kube.deployment.captain.GcpCredentialsH\x00\x12P\n\x14grouped_task_details\x18\t \x01(\x0b\x32\x30.qwak.kube.deployment.captain.GroupedTaskDetailsH\x01\x12\x16\n\x0e\x65nvironment_id\x18\n \x01(\tB\x1a\n\x18\x63loud_client_credentialsB\x0b\n\ttask_flow\"c\n\x12GroupedTaskDetails\x12\x17\n\x0f\x63oncurrentTasks\x18\x01 \x01(\x05\x12\x18\n\x10\x64\x65stination_path\x18\x02 \x01(\t\x12\x1a\n\x12\x64\x65stination_bucket\x18\x03 \x01(\t\"\xb4\x02\n)CleanStorageObjectFromCloudStorageRequest\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12\x15\n\robject_prefix\x18\x02 \x03(\t\x12\x1a\n\x12secret_service_url\x18\x03 \x01(\t\x12G\n\x0f\x61ws_credentials\x18\x04 \x01(\x0b\x32,.qwak.kube.deployment.captain.AwsCredentialsH\x00\x12G\n\x0fgcp_credentials\x18\x05 \x01(\x0b\x32,.qwak.kube.deployment.captain.GcpCredentialsH\x00\x12\x16\n\x0e\x65nvironment_id\x18\x06 \x01(\tB\x1a\n\x18\x63loud_client_credentials\"O\n\x0e\x41wsCredentials\x12\x10\n\x08role_arn\x18\x01 \x01(\t\x12\x14\n\x0ctoken_secret\x18\x02 \x01(\t\x12\x15\n\rsecret_secret\x18\x04 \x01(\t\"9\n\x0eGcpCredentials\x12\'\n\x1fservice_account_json_key_secret\x18\x01 \x01(\t\"\xa6\x01\n\x1dListInferenceJobFilesResponse\x12\x12\n\nfile_names\x18\x01 \x03(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x03 \x01(\t\x12H\n\x11list_file_details\x18\x04 \x03(\x0b\x32-.qwak.kube.deployment.captain.ListFileDetails\"W\n\x0fListFileDetails\x12\x15\n\ris_point_file\x18\x01 \x01(\x08\x12\x17\n\x0fpoint_file_path\x18\x02 \x01(\t\x12\x14\n\x0cobject_paths\x18\x03 \x03(\t\"\xf0\x01\n\"CreateInferenceTaskExecutorRequest\x12\x63\n\x1btask_executor_configuration\x18\x01 \x01(\x0b\x32>.qwak.kube.deployment.captain.TaskExecutorConfigurationMessage\x12\x65\n\x1cinference_task_configuration\x18\x02 \x01(\x0b\x32?.qwak.kube.deployment.captain.InferenceTaskConfigurationMessage\"\x89\x01\n\x1aPrepareInferenceJobRequest\x12k\n#inference_job_configuration_message\x18\x01 \x01(\x0b\x32>.qwak.kube.deployment.captain.InferenceJobConfigurationMessage\"F\n\x1bPrepareInferenceJobResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"\xcd\x04\n TaskExecutorConfigurationMessage\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\x12\x19\n\x11inference_task_id\x18\x02 \x01(\t\x12G\n\x10model_identifier\x18\x05 \x01(\x0b\x32-.qwak.kube.deployment.captain.ModelIdentifier\x12\x11\n\timage_url\x18\x06 \x01(\t\x12\x15\n\rbackoff_limit\x18\x07 \x01(\x05\x12\x0f\n\x03\x63pu\x18\x08 \x01(\x02\x42\x02\x18\x01\x12\x19\n\rmemory_amount\x18\t \x01(\x05\x42\x02\x18\x01\x12\x45\n\x0cmemory_units\x18\n \x01(\x0e\x32+.qwak.kube.deployment.captain.MemoryUnitApiB\x02\x18\x01\x12\x16\n\x0e\x65nvironment_id\x18\x0b \x01(\t\x12\x1b\n\x13\x63ustom_iam_role_arn\x18\x0c \x01(\t\x12\x41\n\x08job_size\x18\r \x01(\x0b\x32/.qwak.kube.deployment.captain.BatchJobResources\x12\x17\n\x0fpurchase_option\x18\x0e \x01(\t\x12\x19\n\x11image_pull_secret\x18\x0f \x01(\t\x12%\n\x1d\x63ustom_service_account_secret\x18\x10 \x01(\t\x12#\n\x1bjfrog_token_api_secret_name\x18\x11 \x01(\t\x12\x16\n\x0ejfrog_base_url\x18\x12 \x01(\t\"q\n InferenceJobConfigurationMessage\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\x12\x16\n\x0e\x65nvironment_id\x18\x02 \x01(\t\x12\x1b\n\x13\x63ustom_iam_role_arn\x18\x03 \x01(\t\"`\n\x0fModelIdentifier\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x15\n\tbranch_id\x18\x03 \x01(\tB\x02\x18\x01\x12\x12\n\nmodel_uuid\x18\x04 \x01(\t\"\xa2\x01\n\x1dListFilesPreStepConfiguration\x12\x13\n\x0bsource_path\x18\x01 \x01(\t\x12\x1c\n\x14list_files_file_name\x18\x02 \x01(\t\x12\x1d\n\x15total_number_of_tasks\x18\x03 \x01(\x05\x12/\n\ntask_index\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\"\x8b\x05\n!InferenceTaskConfigurationMessage\x12\x15\n\rsource_bucket\x18\x01 \x01(\t\x12\x1a\n\x12\x64\x65stination_bucket\x18\x02 \x01(\t\x12\x10\n\x08\x66ilepath\x18\x03 \x01(\t\x12\x18\n\x10\x64\x65stination_path\x18\x04 \x01(\t\x12\x44\n\x0finput_file_type\x18\x05 \x01(\x0e\x32+.qwak.kube.deployment.captain.InputFileType\x12\x46\n\x10output_file_type\x18\x06 \x01(\x0e\x32,.qwak.kube.deployment.captain.OutputFileType\x12\x14\n\x0ctoken_secret\x18\x07 \x01(\t\x12\x15\n\rsecret_secret\x18\x08 \x01(\t\x12\x43\n\nparameters\x18\t \x03(\x0b\x32/.qwak.kube.deployment.captain.BatchJobParameter\x12\x43\n\x0e\x63loud_provider\x18\n \x01(\x0e\x32+.qwak.kube.deployment.captain.CloudProvider\x12\'\n\x1fservice_account_json_key_secret\x18\x0b \x01(\t\x12\x1a\n\x12is_point_file_path\x18\x0c \x01(\x08\x12\x66\n!list_files_pre_step_configuration\x18\r \x01(\x0b\x32;.qwak.kube.deployment.captain.ListFilesPreStepConfiguration\x12\x15\n\rsession_token\x18\x0e \x01(\t\"/\n\x11\x42\x61tchJobParameter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"?\n#CleanInferenceTasksExecutorsRequest\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\"O\n$CleanInferenceTasksExecutorsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"X\n!CleanInferenceTaskExecutorRequest\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\x12\x19\n\x11inference_task_id\x18\x02 \x01(\t\"M\n\"CleanInferenceTaskExecutorResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"N\n#CreateInferenceTaskExecutorResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"\xf7\x02\n\x1eStartInferenceJobWarmupRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x15\n\tbranch_id\x18\x02 \x01(\tB\x02\x18\x01\x12\x10\n\x08\x62uild_id\x18\x03 \x01(\t\x12\x11\n\timage_url\x18\x04 \x01(\t\x12\x0f\n\x03\x63pu\x18\x05 \x01(\x02\x42\x02\x18\x01\x12\x19\n\rmemory_amount\x18\x06 \x01(\x05\x42\x02\x18\x01\x12\x45\n\x0cmemory_units\x18\x07 \x01(\x0e\x32+.qwak.kube.deployment.captain.MemoryUnitApiB\x02\x18\x01\x12\x11\n\texecutors\x18\x08 \x01(\x05\x12\x0f\n\x07timeout\x18\t \x01(\x05\x12\x41\n\x08job_size\x18\n \x01(\x0b\x32/.qwak.kube.deployment.captain.BatchJobResources\x12\x12\n\nmodel_uuid\x18\x0b \x01(\t\x12\x19\n\x11image_pull_secret\x18\x0c \x01(\t\"!\n\x1fStartInferenceJobWarmupResponse\"p\n\x1f\x43\x61ncelInferenceJobWarmupRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x15\n\tbranch_id\x18\x02 \x01(\tB\x02\x18\x01\x12\x10\n\x08\x62uild_id\x18\x03 \x01(\t\x12\x12\n\nmodel_uuid\x18\x04 \x01(\t\"\"\n CancelInferenceJobWarmupResponse\"\xd5\x01\n\x11\x42\x61tchJobResources\x12\x16\n\x0enumber_of_pods\x18\x01 \x01(\x05\x12\x0b\n\x03\x63pu\x18\x02 \x01(\x02\x12\x15\n\rmemory_amount\x18\x03 \x01(\x05\x12\x41\n\x0cmemory_units\x18\x04 \x01(\x0e\x32+.qwak.kube.deployment.captain.MemoryUnitApi\x12\x41\n\rgpu_resources\x18\x05 \x01(\x0b\x32*.qwak.kube.deployment.captain.GpuResources\"[\n\x0cGpuResources\x12\x37\n\x08gpu_type\x18\x01 \x01(\x0e\x32%.qwak.kube.deployment.captain.GpuType\x12\x12\n\ngpu_amount\x18\x02 \x01(\x05*:\n\rMemoryUnitApi\x12\x17\n\x13UNKNOWN_MEMORY_UNIT\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02*\x81\x01\n\rInputFileType\x12\x1d\n\x19UNDEFINED_INPUT_FILE_TYPE\x10\x00\x12\x17\n\x13\x43SV_INPUT_FILE_TYPE\x10\x01\x12\x1b\n\x17\x46\x45\x41THER_INPUT_FILE_TYPE\x10\x02\x12\x1b\n\x17PARQUET_INPUT_FILE_TYPE\x10\x03*\x86\x01\n\x0eOutputFileType\x12\x1e\n\x1aUNDEFINED_OUTPUT_FILE_TYPE\x10\x00\x12\x18\n\x14\x43SV_OUTPUT_FILE_TYPE\x10\x01\x12\x1c\n\x18\x46\x45\x41THER_OUTPUT_FILE_TYPE\x10\x02\x12\x1c\n\x18PARQUET_OUTPUT_FILE_TYPE\x10\x03*\x90\x02\n\x07GpuType\x12\x0f\n\x0bINVALID_GPU\x10\x00\x12\x0e\n\nNVIDIA_K80\x10\x01\x12\x0f\n\x0bNVIDIA_V100\x10\x02\x12\x0f\n\x0bNVIDIA_A100\x10\x03\x12\r\n\tNVIDIA_T4\x10\x04\x12\x0f\n\x0bNVIDIA_A10G\x10\x05\x12\r\n\tNVIDIA_L4\x10\x06\x12\x14\n\x10NVIDIA_T4_1_4_15\x10\x07\x12\x14\n\x10NVIDIA_T4_1_8_30\x10\x08\x12\x15\n\x11NVIDIA_T4_1_16_60\x10\t\x12\x1e\n\x1aNVIDIA_A100_80GB_8_96_1360\x10\n\x12\x16\n\x12NVIDIA_V100_1_8_52\x10\x0b\x12\x18\n\x14NVIDIA_V100_4_32_208\x10\x0c*=\n\rCloudProvider\x12\x1a\n\x16UNKNOWN_CLOUD_PROVIDER\x10\x00\x12\x07\n\x03\x41WS\x10\x01\x12\x07\n\x03GCP\x10\x02\x42+\n\'com.qwak.ai.kube.deployment.captain.apiP\x01\x62\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,qwak/kube_deployment_captain/batch_job.proto\x12\x1cqwak.kube.deployment.captain\x1a\x1egoogle/protobuf/wrappers.proto\"\xd2\x03\n\x1cListInferenceJobFilesRequest\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12\x16\n\x0e\x64irectory_path\x18\x02 \x01(\t\x12\x18\n\x0ctoken_secret\x18\x03 \x01(\tB\x02\x18\x01\x12\x19\n\rsecret_secret\x18\x04 \x01(\tB\x02\x18\x01\x12\x1a\n\x12secret_service_url\x18\x05 \x01(\t\x12\x14\n\x08role_arn\x18\x06 \x01(\tB\x02\x18\x01\x12G\n\x0f\x61ws_credentials\x18\x07 \x01(\x0b\x32,.qwak.kube.deployment.captain.AwsCredentialsH\x00\x12G\n\x0fgcp_credentials\x18\x08 \x01(\x0b\x32,.qwak.kube.deployment.captain.GcpCredentialsH\x00\x12P\n\x14grouped_task_details\x18\t \x01(\x0b\x32\x30.qwak.kube.deployment.captain.GroupedTaskDetailsH\x01\x12\x16\n\x0e\x65nvironment_id\x18\n \x01(\tB\x1a\n\x18\x63loud_client_credentialsB\x0b\n\ttask_flow\"c\n\x12GroupedTaskDetails\x12\x17\n\x0f\x63oncurrentTasks\x18\x01 \x01(\x05\x12\x18\n\x10\x64\x65stination_path\x18\x02 \x01(\t\x12\x1a\n\x12\x64\x65stination_bucket\x18\x03 \x01(\t\"\xb4\x02\n)CleanStorageObjectFromCloudStorageRequest\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12\x15\n\robject_prefix\x18\x02 \x03(\t\x12\x1a\n\x12secret_service_url\x18\x03 \x01(\t\x12G\n\x0f\x61ws_credentials\x18\x04 \x01(\x0b\x32,.qwak.kube.deployment.captain.AwsCredentialsH\x00\x12G\n\x0fgcp_credentials\x18\x05 \x01(\x0b\x32,.qwak.kube.deployment.captain.GcpCredentialsH\x00\x12\x16\n\x0e\x65nvironment_id\x18\x06 \x01(\tB\x1a\n\x18\x63loud_client_credentials\"O\n\x0e\x41wsCredentials\x12\x10\n\x08role_arn\x18\x01 \x01(\t\x12\x14\n\x0ctoken_secret\x18\x02 \x01(\t\x12\x15\n\rsecret_secret\x18\x04 \x01(\t\"9\n\x0eGcpCredentials\x12\'\n\x1fservice_account_json_key_secret\x18\x01 \x01(\t\"\xa6\x01\n\x1dListInferenceJobFilesResponse\x12\x12\n\nfile_names\x18\x01 \x03(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x03 \x01(\t\x12H\n\x11list_file_details\x18\x04 \x03(\x0b\x32-.qwak.kube.deployment.captain.ListFileDetails\"W\n\x0fListFileDetails\x12\x15\n\ris_point_file\x18\x01 \x01(\x08\x12\x17\n\x0fpoint_file_path\x18\x02 \x01(\t\x12\x14\n\x0cobject_paths\x18\x03 \x03(\t\"\xf0\x01\n\"CreateInferenceTaskExecutorRequest\x12\x63\n\x1btask_executor_configuration\x18\x01 \x01(\x0b\x32>.qwak.kube.deployment.captain.TaskExecutorConfigurationMessage\x12\x65\n\x1cinference_task_configuration\x18\x02 \x01(\x0b\x32?.qwak.kube.deployment.captain.InferenceTaskConfigurationMessage\"\x89\x01\n\x1aPrepareInferenceJobRequest\x12k\n#inference_job_configuration_message\x18\x01 \x01(\x0b\x32>.qwak.kube.deployment.captain.InferenceJobConfigurationMessage\"F\n\x1bPrepareInferenceJobResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"\xcd\x04\n TaskExecutorConfigurationMessage\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\x12\x19\n\x11inference_task_id\x18\x02 \x01(\t\x12G\n\x10model_identifier\x18\x05 \x01(\x0b\x32-.qwak.kube.deployment.captain.ModelIdentifier\x12\x11\n\timage_url\x18\x06 \x01(\t\x12\x15\n\rbackoff_limit\x18\x07 \x01(\x05\x12\x0f\n\x03\x63pu\x18\x08 \x01(\x02\x42\x02\x18\x01\x12\x19\n\rmemory_amount\x18\t \x01(\x05\x42\x02\x18\x01\x12\x45\n\x0cmemory_units\x18\n \x01(\x0e\x32+.qwak.kube.deployment.captain.MemoryUnitApiB\x02\x18\x01\x12\x16\n\x0e\x65nvironment_id\x18\x0b \x01(\t\x12\x1b\n\x13\x63ustom_iam_role_arn\x18\x0c \x01(\t\x12\x41\n\x08job_size\x18\r \x01(\x0b\x32/.qwak.kube.deployment.captain.BatchJobResources\x12\x17\n\x0fpurchase_option\x18\x0e \x01(\t\x12\x19\n\x11image_pull_secret\x18\x0f \x01(\t\x12%\n\x1d\x63ustom_service_account_secret\x18\x10 \x01(\t\x12#\n\x1bjfrog_token_api_secret_name\x18\x11 \x01(\t\x12\x16\n\x0ejfrog_base_url\x18\x12 \x01(\t\"q\n InferenceJobConfigurationMessage\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\x12\x16\n\x0e\x65nvironment_id\x18\x02 \x01(\t\x12\x1b\n\x13\x63ustom_iam_role_arn\x18\x03 \x01(\t\"z\n\x0fModelIdentifier\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x15\n\tbranch_id\x18\x03 \x01(\tB\x02\x18\x01\x12\x12\n\nmodel_uuid\x18\x04 \x01(\t\x12\x18\n\x10model_group_name\x18\x05 \x01(\t\"\xa2\x01\n\x1dListFilesPreStepConfiguration\x12\x13\n\x0bsource_path\x18\x01 \x01(\t\x12\x1c\n\x14list_files_file_name\x18\x02 \x01(\t\x12\x1d\n\x15total_number_of_tasks\x18\x03 \x01(\x05\x12/\n\ntask_index\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\"\x8b\x05\n!InferenceTaskConfigurationMessage\x12\x15\n\rsource_bucket\x18\x01 \x01(\t\x12\x1a\n\x12\x64\x65stination_bucket\x18\x02 \x01(\t\x12\x10\n\x08\x66ilepath\x18\x03 \x01(\t\x12\x18\n\x10\x64\x65stination_path\x18\x04 \x01(\t\x12\x44\n\x0finput_file_type\x18\x05 \x01(\x0e\x32+.qwak.kube.deployment.captain.InputFileType\x12\x46\n\x10output_file_type\x18\x06 \x01(\x0e\x32,.qwak.kube.deployment.captain.OutputFileType\x12\x14\n\x0ctoken_secret\x18\x07 \x01(\t\x12\x15\n\rsecret_secret\x18\x08 \x01(\t\x12\x43\n\nparameters\x18\t \x03(\x0b\x32/.qwak.kube.deployment.captain.BatchJobParameter\x12\x43\n\x0e\x63loud_provider\x18\n \x01(\x0e\x32+.qwak.kube.deployment.captain.CloudProvider\x12\'\n\x1fservice_account_json_key_secret\x18\x0b \x01(\t\x12\x1a\n\x12is_point_file_path\x18\x0c \x01(\x08\x12\x66\n!list_files_pre_step_configuration\x18\r \x01(\x0b\x32;.qwak.kube.deployment.captain.ListFilesPreStepConfiguration\x12\x15\n\rsession_token\x18\x0e \x01(\t\"/\n\x11\x42\x61tchJobParameter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"?\n#CleanInferenceTasksExecutorsRequest\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\"O\n$CleanInferenceTasksExecutorsResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"X\n!CleanInferenceTaskExecutorRequest\x12\x18\n\x10inference_job_id\x18\x01 \x01(\t\x12\x19\n\x11inference_task_id\x18\x02 \x01(\t\"M\n\"CleanInferenceTaskExecutorResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"N\n#CreateInferenceTaskExecutorResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x16\n\x0e\x66\x61ilure_reason\x18\x02 \x01(\t\"\xf7\x02\n\x1eStartInferenceJobWarmupRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x15\n\tbranch_id\x18\x02 \x01(\tB\x02\x18\x01\x12\x10\n\x08\x62uild_id\x18\x03 \x01(\t\x12\x11\n\timage_url\x18\x04 \x01(\t\x12\x0f\n\x03\x63pu\x18\x05 \x01(\x02\x42\x02\x18\x01\x12\x19\n\rmemory_amount\x18\x06 \x01(\x05\x42\x02\x18\x01\x12\x45\n\x0cmemory_units\x18\x07 \x01(\x0e\x32+.qwak.kube.deployment.captain.MemoryUnitApiB\x02\x18\x01\x12\x11\n\texecutors\x18\x08 \x01(\x05\x12\x0f\n\x07timeout\x18\t \x01(\x05\x12\x41\n\x08job_size\x18\n \x01(\x0b\x32/.qwak.kube.deployment.captain.BatchJobResources\x12\x12\n\nmodel_uuid\x18\x0b \x01(\t\x12\x19\n\x11image_pull_secret\x18\x0c \x01(\t\"!\n\x1fStartInferenceJobWarmupResponse\"p\n\x1f\x43\x61ncelInferenceJobWarmupRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x15\n\tbranch_id\x18\x02 \x01(\tB\x02\x18\x01\x12\x10\n\x08\x62uild_id\x18\x03 \x01(\t\x12\x12\n\nmodel_uuid\x18\x04 \x01(\t\"\"\n CancelInferenceJobWarmupResponse\"\xd5\x01\n\x11\x42\x61tchJobResources\x12\x16\n\x0enumber_of_pods\x18\x01 \x01(\x05\x12\x0b\n\x03\x63pu\x18\x02 \x01(\x02\x12\x15\n\rmemory_amount\x18\x03 \x01(\x05\x12\x41\n\x0cmemory_units\x18\x04 \x01(\x0e\x32+.qwak.kube.deployment.captain.MemoryUnitApi\x12\x41\n\rgpu_resources\x18\x05 \x01(\x0b\x32*.qwak.kube.deployment.captain.GpuResources\"[\n\x0cGpuResources\x12\x37\n\x08gpu_type\x18\x01 \x01(\x0e\x32%.qwak.kube.deployment.captain.GpuType\x12\x12\n\ngpu_amount\x18\x02 \x01(\x05*:\n\rMemoryUnitApi\x12\x17\n\x13UNKNOWN_MEMORY_UNIT\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02*\x81\x01\n\rInputFileType\x12\x1d\n\x19UNDEFINED_INPUT_FILE_TYPE\x10\x00\x12\x17\n\x13\x43SV_INPUT_FILE_TYPE\x10\x01\x12\x1b\n\x17\x46\x45\x41THER_INPUT_FILE_TYPE\x10\x02\x12\x1b\n\x17PARQUET_INPUT_FILE_TYPE\x10\x03*\x86\x01\n\x0eOutputFileType\x12\x1e\n\x1aUNDEFINED_OUTPUT_FILE_TYPE\x10\x00\x12\x18\n\x14\x43SV_OUTPUT_FILE_TYPE\x10\x01\x12\x1c\n\x18\x46\x45\x41THER_OUTPUT_FILE_TYPE\x10\x02\x12\x1c\n\x18PARQUET_OUTPUT_FILE_TYPE\x10\x03*\x90\x02\n\x07GpuType\x12\x0f\n\x0bINVALID_GPU\x10\x00\x12\x0e\n\nNVIDIA_K80\x10\x01\x12\x0f\n\x0bNVIDIA_V100\x10\x02\x12\x0f\n\x0bNVIDIA_A100\x10\x03\x12\r\n\tNVIDIA_T4\x10\x04\x12\x0f\n\x0bNVIDIA_A10G\x10\x05\x12\r\n\tNVIDIA_L4\x10\x06\x12\x14\n\x10NVIDIA_T4_1_4_15\x10\x07\x12\x14\n\x10NVIDIA_T4_1_8_30\x10\x08\x12\x15\n\x11NVIDIA_T4_1_16_60\x10\t\x12\x1e\n\x1aNVIDIA_A100_80GB_8_96_1360\x10\n\x12\x16\n\x12NVIDIA_V100_1_8_52\x10\x0b\x12\x18\n\x14NVIDIA_V100_4_32_208\x10\x0c*=\n\rCloudProvider\x12\x1a\n\x16UNKNOWN_CLOUD_PROVIDER\x10\x00\x12\x07\n\x03\x41WS\x10\x01\x12\x07\n\x03GCP\x10\x02\x42+\n\'com.qwak.ai.kube.deployment.captain.apiP\x01\x62\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -47,16 +47,16 @@ if _descriptor._USE_C_DESCRIPTORS == False:
47
47
  _STARTINFERENCEJOBWARMUPREQUEST.fields_by_name['memory_units']._serialized_options = b'\030\001'
48
48
  _CANCELINFERENCEJOBWARMUPREQUEST.fields_by_name['branch_id']._options = None
49
49
  _CANCELINFERENCEJOBWARMUPREQUEST.fields_by_name['branch_id']._serialized_options = b'\030\001'
50
- _globals['_MEMORYUNITAPI']._serialized_start=4784
51
- _globals['_MEMORYUNITAPI']._serialized_end=4842
52
- _globals['_INPUTFILETYPE']._serialized_start=4845
53
- _globals['_INPUTFILETYPE']._serialized_end=4974
54
- _globals['_OUTPUTFILETYPE']._serialized_start=4977
55
- _globals['_OUTPUTFILETYPE']._serialized_end=5111
56
- _globals['_GPUTYPE']._serialized_start=5114
57
- _globals['_GPUTYPE']._serialized_end=5386
58
- _globals['_CLOUDPROVIDER']._serialized_start=5388
59
- _globals['_CLOUDPROVIDER']._serialized_end=5449
50
+ _globals['_MEMORYUNITAPI']._serialized_start=4810
51
+ _globals['_MEMORYUNITAPI']._serialized_end=4868
52
+ _globals['_INPUTFILETYPE']._serialized_start=4871
53
+ _globals['_INPUTFILETYPE']._serialized_end=5000
54
+ _globals['_OUTPUTFILETYPE']._serialized_start=5003
55
+ _globals['_OUTPUTFILETYPE']._serialized_end=5137
56
+ _globals['_GPUTYPE']._serialized_start=5140
57
+ _globals['_GPUTYPE']._serialized_end=5412
58
+ _globals['_CLOUDPROVIDER']._serialized_start=5414
59
+ _globals['_CLOUDPROVIDER']._serialized_end=5475
60
60
  _globals['_LISTINFERENCEJOBFILESREQUEST']._serialized_start=111
61
61
  _globals['_LISTINFERENCEJOBFILESREQUEST']._serialized_end=577
62
62
  _globals['_GROUPEDTASKDETAILS']._serialized_start=579
@@ -82,33 +82,33 @@ if _descriptor._USE_C_DESCRIPTORS == False:
82
82
  _globals['_INFERENCEJOBCONFIGURATIONMESSAGE']._serialized_start=2436
83
83
  _globals['_INFERENCEJOBCONFIGURATIONMESSAGE']._serialized_end=2549
84
84
  _globals['_MODELIDENTIFIER']._serialized_start=2551
85
- _globals['_MODELIDENTIFIER']._serialized_end=2647
86
- _globals['_LISTFILESPRESTEPCONFIGURATION']._serialized_start=2650
87
- _globals['_LISTFILESPRESTEPCONFIGURATION']._serialized_end=2812
88
- _globals['_INFERENCETASKCONFIGURATIONMESSAGE']._serialized_start=2815
89
- _globals['_INFERENCETASKCONFIGURATIONMESSAGE']._serialized_end=3466
90
- _globals['_BATCHJOBPARAMETER']._serialized_start=3468
91
- _globals['_BATCHJOBPARAMETER']._serialized_end=3515
92
- _globals['_CLEANINFERENCETASKSEXECUTORSREQUEST']._serialized_start=3517
93
- _globals['_CLEANINFERENCETASKSEXECUTORSREQUEST']._serialized_end=3580
94
- _globals['_CLEANINFERENCETASKSEXECUTORSRESPONSE']._serialized_start=3582
95
- _globals['_CLEANINFERENCETASKSEXECUTORSRESPONSE']._serialized_end=3661
96
- _globals['_CLEANINFERENCETASKEXECUTORREQUEST']._serialized_start=3663
97
- _globals['_CLEANINFERENCETASKEXECUTORREQUEST']._serialized_end=3751
98
- _globals['_CLEANINFERENCETASKEXECUTORRESPONSE']._serialized_start=3753
99
- _globals['_CLEANINFERENCETASKEXECUTORRESPONSE']._serialized_end=3830
100
- _globals['_CREATEINFERENCETASKEXECUTORRESPONSE']._serialized_start=3832
101
- _globals['_CREATEINFERENCETASKEXECUTORRESPONSE']._serialized_end=3910
102
- _globals['_STARTINFERENCEJOBWARMUPREQUEST']._serialized_start=3913
103
- _globals['_STARTINFERENCEJOBWARMUPREQUEST']._serialized_end=4288
104
- _globals['_STARTINFERENCEJOBWARMUPRESPONSE']._serialized_start=4290
105
- _globals['_STARTINFERENCEJOBWARMUPRESPONSE']._serialized_end=4323
106
- _globals['_CANCELINFERENCEJOBWARMUPREQUEST']._serialized_start=4325
107
- _globals['_CANCELINFERENCEJOBWARMUPREQUEST']._serialized_end=4437
108
- _globals['_CANCELINFERENCEJOBWARMUPRESPONSE']._serialized_start=4439
109
- _globals['_CANCELINFERENCEJOBWARMUPRESPONSE']._serialized_end=4473
110
- _globals['_BATCHJOBRESOURCES']._serialized_start=4476
111
- _globals['_BATCHJOBRESOURCES']._serialized_end=4689
112
- _globals['_GPURESOURCES']._serialized_start=4691
113
- _globals['_GPURESOURCES']._serialized_end=4782
85
+ _globals['_MODELIDENTIFIER']._serialized_end=2673
86
+ _globals['_LISTFILESPRESTEPCONFIGURATION']._serialized_start=2676
87
+ _globals['_LISTFILESPRESTEPCONFIGURATION']._serialized_end=2838
88
+ _globals['_INFERENCETASKCONFIGURATIONMESSAGE']._serialized_start=2841
89
+ _globals['_INFERENCETASKCONFIGURATIONMESSAGE']._serialized_end=3492
90
+ _globals['_BATCHJOBPARAMETER']._serialized_start=3494
91
+ _globals['_BATCHJOBPARAMETER']._serialized_end=3541
92
+ _globals['_CLEANINFERENCETASKSEXECUTORSREQUEST']._serialized_start=3543
93
+ _globals['_CLEANINFERENCETASKSEXECUTORSREQUEST']._serialized_end=3606
94
+ _globals['_CLEANINFERENCETASKSEXECUTORSRESPONSE']._serialized_start=3608
95
+ _globals['_CLEANINFERENCETASKSEXECUTORSRESPONSE']._serialized_end=3687
96
+ _globals['_CLEANINFERENCETASKEXECUTORREQUEST']._serialized_start=3689
97
+ _globals['_CLEANINFERENCETASKEXECUTORREQUEST']._serialized_end=3777
98
+ _globals['_CLEANINFERENCETASKEXECUTORRESPONSE']._serialized_start=3779
99
+ _globals['_CLEANINFERENCETASKEXECUTORRESPONSE']._serialized_end=3856
100
+ _globals['_CREATEINFERENCETASKEXECUTORRESPONSE']._serialized_start=3858
101
+ _globals['_CREATEINFERENCETASKEXECUTORRESPONSE']._serialized_end=3936
102
+ _globals['_STARTINFERENCEJOBWARMUPREQUEST']._serialized_start=3939
103
+ _globals['_STARTINFERENCEJOBWARMUPREQUEST']._serialized_end=4314
104
+ _globals['_STARTINFERENCEJOBWARMUPRESPONSE']._serialized_start=4316
105
+ _globals['_STARTINFERENCEJOBWARMUPRESPONSE']._serialized_end=4349
106
+ _globals['_CANCELINFERENCEJOBWARMUPREQUEST']._serialized_start=4351
107
+ _globals['_CANCELINFERENCEJOBWARMUPREQUEST']._serialized_end=4463
108
+ _globals['_CANCELINFERENCEJOBWARMUPRESPONSE']._serialized_start=4465
109
+ _globals['_CANCELINFERENCEJOBWARMUPRESPONSE']._serialized_end=4499
110
+ _globals['_BATCHJOBRESOURCES']._serialized_start=4502
111
+ _globals['_BATCHJOBRESOURCES']._serialized_end=4715
112
+ _globals['_GPURESOURCES']._serialized_start=4717
113
+ _globals['_GPURESOURCES']._serialized_end=4808
114
114
  # @@protoc_insertion_point(module_scope)
@@ -509,10 +509,15 @@ class ModelIdentifier(google.protobuf.message.Message):
509
509
  BUILD_ID_FIELD_NUMBER: builtins.int
510
510
  BRANCH_ID_FIELD_NUMBER: builtins.int
511
511
  MODEL_UUID_FIELD_NUMBER: builtins.int
512
+ MODEL_GROUP_NAME_FIELD_NUMBER: builtins.int
512
513
  model_id: builtins.str
513
514
  build_id: builtins.str
514
515
  branch_id: builtins.str
515
516
  model_uuid: builtins.str
517
+ model_group_name: builtins.str
518
+ """the model group this model belongs to. Currently model group name is identical to the project name for jfrog flows.
519
+ in case this changes, the project name should not be assigned to the model group name anymore.
520
+ """
516
521
  def __init__(
517
522
  self,
518
523
  *,
@@ -520,8 +525,9 @@ class ModelIdentifier(google.protobuf.message.Message):
520
525
  build_id: builtins.str = ...,
521
526
  branch_id: builtins.str = ...,
522
527
  model_uuid: builtins.str = ...,
528
+ model_group_name: builtins.str = ...,
523
529
  ) -> None: ...
524
- def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "build_id", b"build_id", "model_id", b"model_id", "model_uuid", b"model_uuid"]) -> None: ...
530
+ def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "build_id", b"build_id", "model_group_name", b"model_group_name", "model_id", b"model_id", "model_uuid", b"model_uuid"]) -> None: ...
525
531
 
526
532
  global___ModelIdentifier = ModelIdentifier
527
533
 
@@ -11,12 +11,12 @@ from google.protobuf.internal import builder as _builder
11
11
  _sym_db = _symbol_database.Default()
12
12
 
13
13
 
14
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
14
15
  from _qwak_proto.qwak.models import models_pb2 as qwak_dot_models_dot_models__pb2
15
16
  from _qwak_proto.qwak.projects import jfrog_project_spec_pb2 as qwak_dot_projects_dot_jfrog__project__spec__pb2
16
- from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
17
17
 
18
18
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cqwak/projects/projects.proto\x12\x18qwak.projects.management\x1a\x18qwak/models/models.proto\x1a&qwak/projects/jfrog_project_spec.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xad\x03\n\x0eProjectRequest\x12P\n\x16\x63reate_project_request\x18\x01 \x01(\x0b\x32..qwak.projects.management.CreateProjectRequestH\x00\x12P\n\x16\x64\x65lete_project_request\x18\x02 \x01(\x0b\x32..qwak.projects.management.DeleteProjectRequestH\x00\x12P\n\x16update_project_request\x18\x03 \x01(\x0b\x32..qwak.projects.management.UpdateProjectRequestH\x00\x12J\n\x13get_project_request\x18\x04 \x01(\x0b\x32+.qwak.projects.management.GetProjectRequestH\x00\x12N\n\x15list_projects_request\x18\x05 \x01(\x0b\x32-.qwak.projects.management.ListProjectsRequestH\x00\x42\t\n\x07request\"\x91\x01\n\x14\x43reateProjectRequest\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\x12\x46\n\njfrog_spec\x18\x03 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"O\n\x15\x43reateProjectResponse\x12\x36\n\x07project\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\x15\n\x13ListProjectsRequest\"O\n\x14ListProjectsResponse\x12\x37\n\x08projects\x18\x01 \x03(\x0b\x32%.qwak.projects.management.ProjectSpec\"=\n\x11GetProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x12GetProjectResponse\x12\x32\n\x07project\x18\x01 \x01(\x0b\x32!.qwak.projects.management.Project\"*\n\x14\x44\x65leteProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"%\n\x15\x44\x65leteProjectResponse\x12\x0c\n\x04info\x18\x01 \x01(\t\"{\n\x14UpdateProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12O\n\x13project_spec_config\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ProjectSpecConfiguration\"T\n\x15UpdateProjectResponse\x12;\n\x0cproject_spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\xac\x01\n\x07Project\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\x12\x31\n\x06models\x18\x02 \x03(\x0b\x32\x1d.qwak.models.management.ModelB\x02\x18\x01\x12\x39\n\rmodels_briefs\x18\x03 \x03(\x0b\x32\".qwak.models.management.ModelBrief\"\xeb\x03\n\x0bProjectSpec\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1b\n\x13project_description\x18\x03 \x01(\t\x12\x44\n\x0eproject_status\x18\x04 \x01(\x0e\x32,.qwak.projects.management.ProjectSpec.Status\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x34\n\x10last_modified_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x08 \x01(\t\x12\x14\n\x0cmodels_count\x18\t \x01(\x05\x12\x15\n\rmodels_active\x18\n \x01(\x05\x12N\n\x0ejfrog_settings\x18\x0b \x01(\x0b\x32\x36.qwak.projects.management.ModelRepositoryJFrogSettings\">\n\x06Status\x12\x0b\n\x07INVALID\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\n\n\x06\x41\x43TIVE\x10\x03\"M\n\x18ProjectSpecConfiguration\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\"\xb1\x02\n\x1cModelRepositoryJFrogSettings\x12S\n\x11pull_image_secret\x18\x01 \x01(\x0b\x32\x38.qwak.projects.management.ModelRepositoryPullImageSecret\x12[\n\x15jfrog_project_details\x18\x02 \x01(\x0b\x32<.qwak.projects.management.ModelRepositoryJFrogProjectDetails\x12_\n\x1ajfrog_repositories_details\x18\x03 \x01(\x0b\x32;.qwak.projects.management.ModelRepositoryArtifactoryDetails\"@\n\x1eModelRepositoryPullImageSecret\x12\x1e\n\x16pull_image_secret_name\x18\x01 \x01(\t\"?\n\"ModelRepositoryJFrogProjectDetails\x12\x19\n\x11jfrog_project_key\x18\x01 \x01(\t\"\xb7\x02\n!ModelRepositoryArtifactoryDetails\x12[\n\x1b\x61rtifact_repository_details\x18\x01 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Z\n\x1a\x64\x61taset_repository_details\x18\x02 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Y\n\x19\x64ocker_repository_details\x18\x03 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\"6\n\x1c\x41rtifactoryRepositoryDetails\x12\x16\n\x0erepository_key\x18\x01 \x01(\t2\xc9\x04\n\x19ProjectsManagementService\x12p\n\rCreateProject\x12..qwak.projects.management.CreateProjectRequest\x1a/.qwak.projects.management.CreateProjectResponse\x12m\n\x0cListProjects\x12-.qwak.projects.management.ListProjectsRequest\x1a..qwak.projects.management.ListProjectsResponse\x12g\n\nGetProject\x12+.qwak.projects.management.GetProjectRequest\x1a,.qwak.projects.management.GetProjectResponse\x12p\n\rDeleteProject\x12..qwak.projects.management.DeleteProjectRequest\x1a/.qwak.projects.management.DeleteProjectResponse\x12p\n\rUpdateProject\x12..qwak.projects.management.UpdateProjectRequest\x1a/.qwak.projects.management.UpdateProjectResponseB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cqwak/projects/projects.proto\x12\x18qwak.projects.management\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18qwak/models/models.proto\x1a&qwak/projects/jfrog_project_spec.proto\"\xad\x03\n\x0eProjectRequest\x12P\n\x16\x63reate_project_request\x18\x01 \x01(\x0b\x32..qwak.projects.management.CreateProjectRequestH\x00\x12P\n\x16\x64\x65lete_project_request\x18\x02 \x01(\x0b\x32..qwak.projects.management.DeleteProjectRequestH\x00\x12P\n\x16update_project_request\x18\x03 \x01(\x0b\x32..qwak.projects.management.UpdateProjectRequestH\x00\x12J\n\x13get_project_request\x18\x04 \x01(\x0b\x32+.qwak.projects.management.GetProjectRequestH\x00\x12N\n\x15list_projects_request\x18\x05 \x01(\x0b\x32-.qwak.projects.management.ListProjectsRequestH\x00\x42\t\n\x07request\"\x91\x01\n\x14\x43reateProjectRequest\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\x12\x46\n\njfrog_spec\x18\x03 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"O\n\x15\x43reateProjectResponse\x12\x36\n\x07project\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\x15\n\x13ListProjectsRequest\"O\n\x14ListProjectsResponse\x12\x37\n\x08projects\x18\x01 \x03(\x0b\x32%.qwak.projects.management.ProjectSpec\"=\n\x11GetProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x12GetProjectResponse\x12\x32\n\x07project\x18\x01 \x01(\x0b\x32!.qwak.projects.management.Project\"*\n\x14\x44\x65leteProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"%\n\x15\x44\x65leteProjectResponse\x12\x0c\n\x04info\x18\x01 \x01(\t\"{\n\x14UpdateProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12O\n\x13project_spec_config\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ProjectSpecConfiguration\"T\n\x15UpdateProjectResponse\x12;\n\x0cproject_spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\xac\x01\n\x07Project\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\x12\x31\n\x06models\x18\x02 \x03(\x0b\x32\x1d.qwak.models.management.ModelB\x02\x18\x01\x12\x39\n\rmodels_briefs\x18\x03 \x03(\x0b\x32\".qwak.models.management.ModelBrief\"\xeb\x03\n\x0bProjectSpec\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1b\n\x13project_description\x18\x03 \x01(\t\x12\x44\n\x0eproject_status\x18\x04 \x01(\x0e\x32,.qwak.projects.management.ProjectSpec.Status\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x34\n\x10last_modified_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x08 \x01(\t\x12\x14\n\x0cmodels_count\x18\t \x01(\x05\x12\x15\n\rmodels_active\x18\n \x01(\x05\x12N\n\x0ejfrog_settings\x18\x0b \x01(\x0b\x32\x36.qwak.projects.management.ModelRepositoryJFrogSettings\">\n\x06Status\x12\x0b\n\x07INVALID\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\n\n\x06\x41\x43TIVE\x10\x03\"Q\n\x18ProjectSpecConfiguration\x12\x18\n\x0cproject_name\x18\x01 \x01(\tB\x02\x18\x01\x12\x1b\n\x13project_description\x18\x02 \x01(\t\"\xb1\x02\n\x1cModelRepositoryJFrogSettings\x12S\n\x11pull_image_secret\x18\x01 \x01(\x0b\x32\x38.qwak.projects.management.ModelRepositoryPullImageSecret\x12[\n\x15jfrog_project_details\x18\x02 \x01(\x0b\x32<.qwak.projects.management.ModelRepositoryJFrogProjectDetails\x12_\n\x1ajfrog_repositories_details\x18\x03 \x01(\x0b\x32;.qwak.projects.management.ModelRepositoryArtifactoryDetails\"@\n\x1eModelRepositoryPullImageSecret\x12\x1e\n\x16pull_image_secret_name\x18\x01 \x01(\t\"?\n\"ModelRepositoryJFrogProjectDetails\x12\x19\n\x11jfrog_project_key\x18\x01 \x01(\t\"\xb7\x02\n!ModelRepositoryArtifactoryDetails\x12[\n\x1b\x61rtifact_repository_details\x18\x01 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Z\n\x1a\x64\x61taset_repository_details\x18\x02 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Y\n\x19\x64ocker_repository_details\x18\x03 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\"6\n\x1c\x41rtifactoryRepositoryDetails\x12\x16\n\x0erepository_key\x18\x01 \x01(\t2\xc9\x04\n\x19ProjectsManagementService\x12p\n\rCreateProject\x12..qwak.projects.management.CreateProjectRequest\x1a/.qwak.projects.management.CreateProjectResponse\x12m\n\x0cListProjects\x12-.qwak.projects.management.ListProjectsRequest\x1a..qwak.projects.management.ListProjectsResponse\x12g\n\nGetProject\x12+.qwak.projects.management.GetProjectRequest\x1a,.qwak.projects.management.GetProjectResponse\x12p\n\rDeleteProject\x12..qwak.projects.management.DeleteProjectRequest\x1a/.qwak.projects.management.DeleteProjectResponse\x12p\n\rUpdateProject\x12..qwak.projects.management.UpdateProjectRequest\x1a/.qwak.projects.management.UpdateProjectResponseB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
20
20
 
21
21
  _globals = globals()
22
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -27,6 +27,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
27
27
  DESCRIPTOR._serialized_options = b'\n#com.qwak.ai.management.projects.apiP\001'
28
28
  _PROJECT.fields_by_name['models']._options = None
29
29
  _PROJECT.fields_by_name['models']._serialized_options = b'\030\001'
30
+ _PROJECTSPECCONFIGURATION.fields_by_name['project_name']._options = None
31
+ _PROJECTSPECCONFIGURATION.fields_by_name['project_name']._serialized_options = b'\030\001'
30
32
  _globals['_PROJECTREQUEST']._serialized_start=158
31
33
  _globals['_PROJECTREQUEST']._serialized_end=587
32
34
  _globals['_CREATEPROJECTREQUEST']._serialized_start=590
@@ -56,17 +58,17 @@ if _descriptor._USE_C_DESCRIPTORS == False:
56
58
  _globals['_PROJECTSPEC_STATUS']._serialized_start=1958
57
59
  _globals['_PROJECTSPEC_STATUS']._serialized_end=2020
58
60
  _globals['_PROJECTSPECCONFIGURATION']._serialized_start=2022
59
- _globals['_PROJECTSPECCONFIGURATION']._serialized_end=2099
60
- _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_start=2102
61
- _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_end=2407
62
- _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_start=2409
63
- _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_end=2473
64
- _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_start=2475
65
- _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_end=2538
66
- _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_start=2541
67
- _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_end=2852
68
- _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_start=2854
69
- _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_end=2908
70
- _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_start=2911
71
- _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_end=3496
61
+ _globals['_PROJECTSPECCONFIGURATION']._serialized_end=2103
62
+ _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_start=2106
63
+ _globals['_MODELREPOSITORYJFROGSETTINGS']._serialized_end=2411
64
+ _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_start=2413
65
+ _globals['_MODELREPOSITORYPULLIMAGESECRET']._serialized_end=2477
66
+ _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_start=2479
67
+ _globals['_MODELREPOSITORYJFROGPROJECTDETAILS']._serialized_end=2542
68
+ _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_start=2545
69
+ _globals['_MODELREPOSITORYARTIFACTORYDETAILS']._serialized_end=2856
70
+ _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_start=2858
71
+ _globals['_ARTIFACTORYREPOSITORYDETAILS']._serialized_end=2912
72
+ _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_start=2915
73
+ _globals['_PROJECTSMANAGEMENTSERVICE']._serialized_end=3500
72
74
  # @@protoc_insertion_point(module_scope)
@@ -81,7 +81,7 @@ class DeleteSecretRequest(google.protobuf.message.Message):
81
81
 
82
82
  NAME_FIELD_NUMBER: builtins.int
83
83
  name: builtins.str
84
- """The name of the secret"""
84
+ """Name of the secret"""
85
85
  def __init__(
86
86
  self,
87
87
  *,
qwak/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """Top-level package for qwak-core."""
2
2
 
3
3
  __author__ = "Qwak.ai"
4
- __version__ = "0.4.378"
4
+ __version__ = "0.5.4"
5
5
 
6
6
  from qwak.inner.di_configuration import wire_dependencies
7
7
  from qwak.model.experiment_tracking import log_metric, log_param
@@ -1,6 +1,7 @@
1
1
  from .quiet_error import QuietError
2
2
  from .qwak_exception import QwakException
3
3
  from .qwak_general_build_exception import QwakGeneralBuildException
4
+ from .qwak_grpc_address_exception import QwakGrpcAddressException
4
5
  from .qwak_http_exception import QwakHTTPException
5
6
  from .qwak_inference_exception import QwakInferenceException
6
7
  from .qwak_load_configuration_exception import LoadConfigurationException
@@ -0,0 +1,9 @@
1
+ from typing import Union
2
+ from urllib.parse import ParseResult
3
+
4
+ from qwak.exceptions import QwakException
5
+
6
+
7
+ class QwakGrpcAddressException(QwakException):
8
+ def __init__(self, details: str, grpc_address: Union[str, ParseResult]):
9
+ self.message = f"Not a valid gRPC address: '{grpc_address}'. Details: {details}"
qwak/inner/const.py CHANGED
@@ -33,10 +33,6 @@ class QwakConstants:
33
33
 
34
34
  TOKEN_AUDIENCE: str = "https://auth-token.qwak.ai/" # nosec B105
35
35
 
36
- QWAK_AUTHENTICATION_URL = "https://grpc.qwak.ai/api/v1/authentication/qwak-api-key"
37
-
38
- QWAK_AUTHENTICATED_USER_ENDPOINT: str = (
39
- "https://grpc.qwak.ai/api/v0/runtime/get-authenticated-user-context"
40
- )
41
-
42
36
  QWAK_APP_URL: str = "https://app.qwak.ai"
37
+
38
+ CONTROL_PLANE_GRPC_ADDRESS_ENVAR_NAME: str = "CONTROL_PLANE_GRPC_ADDRESS"
@@ -1,69 +1,3 @@
1
- import os
2
-
3
1
  from .account import UserAccountConfiguration
4
2
  from .containers import QwakContainer
5
-
6
-
7
- def wire_dependencies():
8
- container = QwakContainer()
9
-
10
- default_config_file = os.path.join(os.path.dirname(__file__), "config.yml")
11
- container.config.from_yaml(default_config_file)
12
-
13
- from qwak.clients import (
14
- administration,
15
- alert_management,
16
- alerts_registry,
17
- analytics,
18
- audience,
19
- automation_management,
20
- autoscaling,
21
- batch_job_management,
22
- build_orchestrator,
23
- data_versioning,
24
- deployment,
25
- feature_store,
26
- file_versioning,
27
- instance_template,
28
- integration_management,
29
- kube_deployment_captain,
30
- logging_client,
31
- model_management,
32
- project,
33
- prompt_manager,
34
- system_secret,
35
- user_application_instance,
36
- vector_store,
37
- workspace_manager,
38
- )
39
-
40
- container.wire(
41
- packages=[
42
- administration,
43
- alert_management,
44
- audience,
45
- automation_management,
46
- autoscaling,
47
- analytics,
48
- batch_job_management,
49
- build_orchestrator,
50
- data_versioning,
51
- deployment,
52
- file_versioning,
53
- instance_template,
54
- kube_deployment_captain,
55
- logging_client,
56
- model_management,
57
- project,
58
- feature_store,
59
- user_application_instance,
60
- alerts_registry,
61
- workspace_manager,
62
- vector_store,
63
- integration_management,
64
- system_secret,
65
- prompt_manager,
66
- ]
67
- )
68
-
69
- return container
3
+ from .dependency_wiring import wire_dependencies