@@ -3038,7 +3038,9 @@ def kernels_initialize_cli(self, folder=None):
30383038 meta_file = self .kernels_initialize (folder )
30393039 print ("Kernel metadata template written to: " + meta_file )
30403040
3041- def kernels_push (self , folder : str , timeout : Optional [str ] = None ) -> ApiSaveKernelResponse :
3041+ def kernels_push (
3042+ self , folder : str , timeout : Optional [str ] = None , gpu : Optional [str ] = None
3043+ ) -> ApiSaveKernelResponse :
30423044 """Pushes a kernel to Kaggle.
30433045
30443046 This method reads the metadata file and kernel files from a notebook,
@@ -3047,6 +3049,8 @@ def kernels_push(self, folder: str, timeout: Optional[str] = None) -> ApiSaveKer
30473049 Args:
30483050 folder (str): The path to the folder.
30493051 timeout (Optional[str]): The maximum run time in seconds.
3052+ gpu (Optional[str]): The type of GPU to use for the kernel run. If set, this value overrides boolean
3053+ settings for GPU/TPU found int metadata.
30503054
30513055 Returns:
30523056 ApiSaveKernelResponse: An ApiSaveKernelResponse object.
@@ -3165,6 +3169,9 @@ def kernels_push(self, folder: str, timeout: Optional[str] = None) -> ApiSaveKer
31653169 request .docker_image = self .get_or_default (meta_data , "docker_image" , None )
31663170 if timeout :
31673171 request .session_timeout_seconds = int (timeout )
3172+ if gpu :
3173+ # The allowed names are in an enum that is not currently included in kagglesdk.
3174+ request .machine_shape = gpu
31683175 # Without the type hint, mypy thinks save_kernel() has type Any when checking warn_return_any.
31693176 response : ApiSaveKernelResponse = kaggle .kernels .kernels_api_client .save_kernel (request )
31703177 return response
0 commit comments