Skip to content

Commit

Permalink
Update kagglesdk to latest protos
Browse files Browse the repository at this point in the history
  • Loading branch information
stevemessick committed Feb 13, 2025
1 parent 497af5d commit 3b56732
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
22 changes: 22 additions & 0 deletions kagglesdk/kernels/types/kernels_api_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -1216,6 +1216,9 @@ class ApiSaveKernelRequest(KaggleObject):
`{username}/{model-slug}/{framework}/{variation-slug}`
Or versioned:
`{username}/{model-slug}/{framework}/{variation-slug}/{version-number}`
max_session_execution_time (int)
If specified, terminate the kernel session after this many seconds of
runtime.
"""

def __init__(self):
Expand All @@ -1235,6 +1238,7 @@ def __init__(self):
self._enable_internet = None
self._docker_image_pinning_type = None
self._model_data_sources = []
self._max_session_execution_time = None
self._freeze()

@property
Expand Down Expand Up @@ -1496,6 +1500,23 @@ def model_data_sources(self, model_data_sources: Optional[List[str]]):
raise TypeError('model_data_sources must contain only items of type str')
self._model_data_sources = model_data_sources

@property
def max_session_execution_time(self) -> int:
r"""
If specified, terminate the kernel session after this many seconds of
runtime.
"""
return self._max_session_execution_time or 0

@max_session_execution_time.setter
def max_session_execution_time(self, max_session_execution_time: int):
if max_session_execution_time is None:
del self.max_session_execution_time
return
if not isinstance(max_session_execution_time, int):
raise TypeError('max_session_execution_time must be of type int')
self._max_session_execution_time = max_session_execution_time

def endpoint(self):
path = '/api/v1/kernels/push'
return path.format_map(self.to_field_map(self))
Expand Down Expand Up @@ -1902,6 +1923,7 @@ def creation_date(self, creation_date: str):
FieldMetadata("enableInternet", "enable_internet", "_enable_internet", bool, None, PredefinedSerializer(), optional=True),
FieldMetadata("dockerImagePinningType", "docker_image_pinning_type", "_docker_image_pinning_type", str, None, PredefinedSerializer(), optional=True),
FieldMetadata("modelDataSources", "model_data_sources", "_model_data_sources", str, [], ListSerializer(PredefinedSerializer())),
FieldMetadata("maxSessionExecutionTime", "max_session_execution_time", "_max_session_execution_time", int, None, PredefinedSerializer(), optional=True),
]

ApiSaveKernelResponse._fields = [
Expand Down
16 changes: 16 additions & 0 deletions kagglesdk/models/types/model_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ class Owner(KaggleObject):
profile_url (str)
slug (str)
user_tier (UserAchievementTier)
allow_model_gating (bool)
"""

def __init__(self):
Expand All @@ -151,6 +152,7 @@ def __init__(self):
self._profile_url = None
self._slug = ""
self._user_tier = UserAchievementTier.NOVICE
self._allow_model_gating = None
self._freeze()

@property
Expand Down Expand Up @@ -244,6 +246,19 @@ def user_tier(self, user_tier: 'UserAchievementTier'):
raise TypeError('user_tier must be of type UserAchievementTier')
self._user_tier = user_tier

@property
def allow_model_gating(self) -> bool:
return self._allow_model_gating or False

@allow_model_gating.setter
def allow_model_gating(self, allow_model_gating: bool):
if allow_model_gating is None:
del self.allow_model_gating
return
if not isinstance(allow_model_gating, bool):
raise TypeError('allow_model_gating must be of type bool')
self._allow_model_gating = allow_model_gating


BaseModelInstanceInformation._fields = [
FieldMetadata("id", "id", "_id", int, 0, PredefinedSerializer()),
Expand All @@ -266,5 +281,6 @@ def user_tier(self, user_tier: 'UserAchievementTier'):
FieldMetadata("profileUrl", "profile_url", "_profile_url", str, None, PredefinedSerializer(), optional=True),
FieldMetadata("slug", "slug", "_slug", str, "", PredefinedSerializer()),
FieldMetadata("userTier", "user_tier", "_user_tier", UserAchievementTier, UserAchievementTier.NOVICE, EnumSerializer()),
FieldMetadata("allowModelGating", "allow_model_gating", "_allow_model_gating", bool, None, PredefinedSerializer(), optional=True),
]

0 comments on commit 3b56732

Please sign in to comment.