`id_no` cannot be used as an identifier for the kernel
- 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
Assessment
This issue has not been assessed yet.