Kaggle / Kaggle/kaggle-cli

`id_no` cannot be used as an identifier for the kernel

Open
#745 2 comments 0 reactions 0 assignees View on GitHub
investigate
Dominant language
Python
Stars
7.5k
Forks
1.4k
Avg merge
3d 15h
Merged PRs (30d)
11

Description

First, I created a kernel using an `id_no = 145717001`
```shell
> kaggle kernels push
Kernel version 1 successfully pushed. Please check progress at https://www.kaggle.com/code/vioochai/tmp001
```

```json
{
"id_no": 145717001,
"title": "tmp001",
"code_file": "notebook.ipynb",
"language": "python",
"kernel_type": "notebook",
"is_private": true,
"enable_internet": true
}
```

When I removed the `title` field and tried to modify the kernel using the same `id_no`, it prompted that I was creating a new kernel.

```shell
> kaggle kernels push
Kernel push error: New kernels must have a title specified
```

```json
{
"id_no": 145717001,
"code_file": "notebook.ipynb",
"language": "python",
"kernel_type": "notebook",
"is_private": true,
"enable_internet": true
}
```

When I added the `title` field back, it indicated a kernel conflict.

```shell
> kaggle kernels push
409 Client Error: Conflict for url: https://www.kaggle.com/api/v1/kernels/push
```

```json
{
"id_no": 145717001,
"title": "tmp001",
"code_file": "notebook.ipynb",
"language": "python",
"kernel_type": "notebook",
"is_private": true,
"enable_internet": true
}
```

I speculate that it works like this: it uses the provided `title` and your username to create an `id = username/title` to identify the kernel, completely ignoring the role of `id_no`. This contradicts the API documentation which states that `id_no` has higher priority.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.