kaggle 2.2.4__tar.gz → 2.2.5__tar.gz
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.
- {kaggle-2.2.4 → kaggle-2.2.5}/CHANGELOG.md +40 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/PKG-INFO +4 -3
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/README.md +30 -3
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/benchmarks.md +36 -2
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/competition_creation.md +56 -2
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/competitions.md +107 -1
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/datasets.md +14 -2
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/index.rst +1 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/kernels.md +21 -12
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/kernels_metadata.md +1 -1
- kaggle-2.2.5/docs/search.md +76 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/pyproject.toml +3 -1
- {kaggle-2.2.4 → kaggle-2.2.5}/requirements.lock +6 -3
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/SKILL.md +3 -1
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/auth.md +7 -4
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/competitions.md +31 -3
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/datasets.md +3 -2
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/kernels.md +13 -3
- kaggle-2.2.5/skills/references/search.md +65 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/__init__.py +1 -1
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/api/kaggle_api_extended.py +1108 -157
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/cli.py +216 -7
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/models/kaggle_models_extended.py +13 -4
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/conftest.py +2 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_benchmarks_leaderboard.py +70 -3
- kaggle-2.2.5/tests/unit/test_benchmarks_quota.py +177 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_benchmarks.py +19 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_competitions.py +46 -0
- kaggle-2.2.5/tests/unit/test_cli_errors.py +141 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_kernels.py +10 -2
- kaggle-2.2.5/tests/unit/test_cli_search.py +64 -0
- kaggle-2.2.5/tests/unit/test_competition_add_host.py +139 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_settings_update.py +16 -0
- kaggle-2.2.5/tests/unit/test_competition_submission_download.py +112 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_submit.py +196 -8
- kaggle-2.2.5/tests/unit/test_competition_submit_wait.py +426 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_dataset_create.py +92 -2
- kaggle-2.2.5/tests/unit/test_dataset_delete.py +111 -0
- kaggle-2.2.5/tests/unit/test_download_file_paths.py +186 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_download_resume.py +38 -0
- kaggle-2.2.5/tests/unit/test_download_unzip.py +378 -0
- kaggle-2.2.5/tests/unit/test_kernel_delete.py +73 -0
- kaggle-2.2.5/tests/unit/test_kernel_versions.py +178 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_kernels_logs.py +69 -1
- kaggle-2.2.5/tests/unit/test_kernels_output_download.py +120 -0
- kaggle-2.2.5/tests/unit/test_kernels_output_paths.py +83 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_kernels_pull.py +22 -7
- kaggle-2.2.5/tests/unit/test_kernels_push_no_run.py +153 -0
- kaggle-2.2.5/tests/unit/test_kernels_push_retired_accelerator.py +154 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_model_create.py +87 -1
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_model_download.py +27 -0
- kaggle-2.2.5/tests/unit/test_parse_duration.py +62 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_quota.py +33 -0
- kaggle-2.2.5/tests/unit/test_search.py +362 -0
- kaggle-2.2.5/tests/unit/test_tar_extraction_safety.py +110 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_upload_helpers.py +279 -10
- kaggle-2.2.5/tools/cicd/Dockerfile +13 -0
- kaggle-2.2.5/tools/releases/requirements.in +1 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/releases/requirements.txt +67 -120
- kaggle-2.2.4/tests/unit/test_dataset_delete.py +0 -64
- kaggle-2.2.4/tools/cicd/Dockerfile +0 -12
- kaggle-2.2.4/tools/releases/requirements.in +0 -2
- {kaggle-2.2.4 → kaggle-2.2.5}/.gcloudignore +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/.gitignore +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/CONTRIBUTING.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/Dockerfile +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/GEMINI.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/LICENSE.txt +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/README.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/SECURITY.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docker-hatch +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/Makefile +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/conf.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/configuration.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/datasets_metadata.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/forums.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/make.bat +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/model_variations.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/model_variations_versions.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/models.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/models_metadata.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/output_format.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/simulation_competitions.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/docs/tutorials.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/requirements-lint.in +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/requirements-lint.lock +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/requirements-test.in +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/requirements-test.lock +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/benchmarks.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/configuration.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/files.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/forums.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/model_variations.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/model_variations_versions.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/models.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/skills/references/quota.md +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/LICENSE +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/__main__.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/api/__init__.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/models/__init__.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/src/kaggle/models/upload_file.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/backend/backend_tests.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/backend/dataset/data.csv +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/backend/kernel/testing-x.ipynb +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/backend/model/instance/data.csv +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/backend/model/instance/version/metadata.json +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/backend/sample_submission.csv +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/integration/test_models.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/run_tests.sh +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/test_commands.sh +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_authenticate.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_benchmarks_cli.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_commands.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_datasets.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_forums.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_main.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_models.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_cli_pagination.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_create.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_create_page.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_create_solution.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_data_update.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_delete_page.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_launch.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_list_hosts.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_settings_get.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_solution_status.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_submission_limits.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competition_update_page.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_competitions_list.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_dataset_download.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_dataset_list.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_dataset_metadata_update.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_dataset_status.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_discussions_cli.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_help_version_auth.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_http_client.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_ignore_patterns.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_kernel_parsing.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_kernels_push.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_model_delete.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_model_list.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_retry_after.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tests/unit/test_team_submissions.py +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/cicd/cloudbuild.yaml +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/cicd/integration-tests.yaml +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/releases/Dockerfile +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/releases/cloudbuild.yaml +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/use-localhost.sh +0 -0
- {kaggle-2.2.4 → kaggle-2.2.5}/tools/use-prod.sh +0 -0
|
@@ -3,6 +3,46 @@ Changelog
|
|
|
3
3
|
|
|
4
4
|
### Next
|
|
5
5
|
|
|
6
|
+
### 2.2.5
|
|
7
|
+
|
|
8
|
+
* Require `certifi >= 2026.10.19`, which drops the compromised emSign/eMudhra root CAs ([GHSA-6q48-6c7w-9gw2](https://github.com/certifi/python-certifi/security/advisories/GHSA-6q48-6c7w-9gw2)). `kaggle` only pulled in certifi through `requests`, which sets no minimum, so an existing install could keep a certifi that would accept a forged kaggle.com certificate and leak the user's API token to a man-in-the-middle
|
|
9
|
+
* Reject kernel version numbers in `kaggle kernels delete` instead of failing with a `ValueError` when a version is included in `<owner>/<kernel>/<version>`
|
|
10
|
+
* Report a 404 from `kaggle competitions submit` with a competition-specific hint on stderr, naming the notebook and version for code submissions. The check never matched a 404, so users got the generic `<owner>/<slug>` hint instead
|
|
11
|
+
* Exit non-zero from `kaggle competitions submit` when the submission file upload fails. It printed "Could not submit to competition" and exited 0, so scripts treated the failed submission as a success
|
|
12
|
+
* Include the UTC offset (`+00:00`) in `refreshAt` timestamps displayed by `kaggle quota`
|
|
13
|
+
* Recommend installing with `pipx` or `uv` and add troubleshooting guidance for `externally-managed-environment` errors in the installation docs
|
|
14
|
+
* Stream `kaggle kernels output` files to disk through the same download path as datasets and competitions, with a read timeout, a size check, and resume after a dropped connection. Each file used to be read into memory whole, so a 512 MiB output took about 1.2 GB of RAM, and a dropped connection failed the command and left an empty file behind
|
|
15
|
+
* Honor the version in `<owner>/<kernel>/<version>` for `kaggle kernels pull`, `output`, `status`, `files` and `logs`, which previously returned 403 for `pull` and acted on the latest version for the others
|
|
16
|
+
* Clarify in `--accelerator` help and kernels docs that `NvidiaTeslaT4` maps to GPU T4 x2 and `TpuV5E8` maps to TPU v5e-8
|
|
17
|
+
* Reject dataset version numbers in `kaggle datasets delete` to prevent unintentionally deleting an entire dataset when targeting a single version
|
|
18
|
+
* Show why a submission failed in `kaggle competitions submission <ref>`, which already comes back in the API response but was not displayed
|
|
19
|
+
* Honor `-k/--kernel` in `kaggle kernels pull`, which was ignored when the positional kernel argument was omitted, causing the CLI to fall back to the local `kernel-metadata.json` and pull a different kernel
|
|
20
|
+
* Refuse to write a `kaggle kernels output` file whose server-supplied name resolves outside the requested `--path` directory
|
|
21
|
+
* Add `--no-run` to `kaggle kernels push` to save a new version without executing the notebook, the equivalent of Quick Save in the web UI
|
|
22
|
+
* Honor `--unzip` when downloading a single file with `kaggle datasets download -f`, which extracts the file from the zip archive the server wraps large files in, and add `--unzip` to `kaggle competitions download`
|
|
23
|
+
* Fix misleading validation error messages in `kaggle competitions submit` when `--kernel`, `--version`, or `--file` is missing for a code competition submission
|
|
24
|
+
* Keep the requested folder when downloading a single file with `kaggle datasets download -f` or `kaggle competitions download -f`, instead of writing it to the download root
|
|
25
|
+
* Report `slug` instead of `title` in the `kaggle datasets create` error message when the requested slug is already in use
|
|
26
|
+
* Prevent HTTP errors during resumed `Range` downloads from overwriting existing partial download files
|
|
27
|
+
* Check the HTTP status when downloading `kaggle kernels output` files so error responses are not saved as output files
|
|
28
|
+
* Add `kaggle competitions host-add <comp> -u <user>` to grant host access on a competition to a Kaggle user
|
|
29
|
+
* Suggest a next step on 403/404/429/5xx API errors, report unexpected errors as bugs instead of a traceback (with a new `--debug` flag), and list common examples in `kaggle --help`
|
|
30
|
+
* Guard tar extraction in `kaggle models instances versions download --untar` against path traversal
|
|
31
|
+
* Store resumable upload state in a private per-user directory (`0700`) and verify directory ownership and permissions before use
|
|
32
|
+
* Add `kaggle benchmarks quota` to show Model Proxy (AI inference) spend quota, and bump `kagglesdk` to `>= 0.1.38`
|
|
33
|
+
* Honor `--untar` in `kaggle models instances versions download` when the archive is already cached locally
|
|
34
|
+
* Write kernel log files using UTF-8 in `kaggle kernels output` to avoid `UnicodeEncodeError` on Windows
|
|
35
|
+
* Exclude omitted `overview` and `usage` fields from the update mask when updating a model instance
|
|
36
|
+
* Add `kaggle competitions submission-download <id>` to download the submitted file for a single submission (requires `kagglesdk >= 0.1.36`)
|
|
37
|
+
* Add `deadline` (Competition Deadline) to the competition settings command and bump `kagglesdk` to `>= 0.1.36`
|
|
38
|
+
* Warn when `kaggle kernels push` requests a retired accelerator (`NvidiaTeslaP100`, `TpuV38`, `Tpu1VmV38`, `TpuV232` or `TpuV2256`), since the server runs the session on a replacement instead. Drop the retired shapes from the docs
|
|
39
|
+
* Abort dataset, model version, and competition data uploads when a file upload fails instead of skipping the failed file and creating a partial upload
|
|
40
|
+
* Use GitHub alerts and fix the `LLMS_AVAILABLE` token reference in the benchmarks documentation
|
|
41
|
+
* Add unified `kaggle search` command across competitions, datasets, notebooks, models, users, and discussions
|
|
42
|
+
* Parse duration suffixes (`s`, `m`, `h`, `d`, `w`) in `kaggle auth print-access-token --expiration` instead of raising a `TypeError`
|
|
43
|
+
* Add `--wait`/`--poll-interval` to `kaggle competitions submit` to wait for scoring, and add `kaggle competitions submission <ref>` to look up a single submission's status and score
|
|
44
|
+
* Show `N/A` instead of `Fail` in `kaggle benchmarks leaderboard` for a task result the server returned without a pass/fail or numeric score, which was reported as a failed task
|
|
45
|
+
|
|
6
46
|
### 2.2.4
|
|
7
47
|
|
|
8
48
|
* fix(benchmarks): support owner/task separator in benchmark commands (#1146)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: kaggle
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
4
4
|
Summary: Access Kaggle resources anywhere
|
|
5
5
|
Project-URL: Homepage, https://github.com/Kaggle/kaggle-cli
|
|
6
6
|
Project-URL: Issues, https://github.com/Kaggle/kaggle-cli/issues
|
|
@@ -213,8 +213,9 @@ Classifier: Operating System :: OS Independent
|
|
|
213
213
|
Classifier: Programming Language :: Python :: 3
|
|
214
214
|
Requires-Python: >=3.11
|
|
215
215
|
Requires-Dist: bleach
|
|
216
|
+
Requires-Dist: certifi>=2026.10.19
|
|
216
217
|
Requires-Dist: jupytext
|
|
217
|
-
Requires-Dist: kagglesdk<1.0,>=0.1.
|
|
218
|
+
Requires-Dist: kagglesdk<1.0,>=0.1.38
|
|
218
219
|
Requires-Dist: packaging
|
|
219
220
|
Requires-Dist: protobuf
|
|
220
221
|
Requires-Dist: python-dateutil
|
|
@@ -4,15 +4,42 @@ Welcome to the Kaggle CLI documentation. This guide provides detailed informatio
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
-
Note: Ensure you have Python 3.11
|
|
7
|
+
Note: Ensure you have Python 3.11+.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Recommended: install with [pipx](https://pipx.pypa.io/) or [uv](https://docs.astral.sh/uv/),
|
|
10
|
+
which installs the CLI in an isolated environment and works on all platforms:
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
pipx install kaggle
|
|
14
|
+
# or
|
|
15
|
+
uv tool install kaggle
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Alternative: pip
|
|
19
|
+
|
|
20
|
+
You can also install the package with [pip](https://pypi.org/project/pip/):
|
|
10
21
|
|
|
11
22
|
```sh
|
|
12
23
|
pip install kaggle
|
|
13
24
|
```
|
|
14
25
|
|
|
15
|
-
|
|
26
|
+
### Troubleshooting
|
|
27
|
+
|
|
28
|
+
If you see `error: externally-managed-environment`, your operating system protects its
|
|
29
|
+
system Python (this is the default on recent Debian and Ubuntu releases, among others).
|
|
30
|
+
Use pipx or uv as described above. If that is not an option, you can override the
|
|
31
|
+
protection with `--break-system-packages`:
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
pip install --break-system-packages kaggle
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Note: this installs the package into the system Python and may conflict with packages
|
|
38
|
+
managed by your OS.
|
|
39
|
+
|
|
40
|
+
If you run into a `Command kaggle not found` error, ensure that your Python executable
|
|
41
|
+
scripts are in your $PATH. For a local user install on Linux, the default location is
|
|
42
|
+
`~/.local/bin`. On Windows, the default location is `$PYTHON_HOME/Scripts`.
|
|
16
43
|
|
|
17
44
|
## Authentication
|
|
18
45
|
|
|
@@ -6,6 +6,7 @@ The top-level command is `kaggle benchmarks` (alias: `kaggle b`), which has the
|
|
|
6
6
|
|
|
7
7
|
* **`auth`** — Fetch Model Proxy credentials.
|
|
8
8
|
* **`init`** — Fetch credentials and default environment variables for local development.
|
|
9
|
+
* **`quota`** — Show your Model Proxy (AI inference) spend quota.
|
|
9
10
|
* **`leaderboard`** — Get benchmark leaderboard information.
|
|
10
11
|
* **`tasks`** (alias: `t`) — Manage benchmark tasks (push, run, list, status, download, log, models, delete, publish).
|
|
11
12
|
* **`topics`** — Browse discussion topics for a benchmark.
|
|
@@ -79,7 +80,8 @@ In addition to the three credential variables written by `auth`, `init` also wri
|
|
|
79
80
|
* `LLM_DEFAULT_EVAL` — Default model slug for evaluation.
|
|
80
81
|
* `LLMS_AVAILABLE` — Comma-separated list of available model slugs.
|
|
81
82
|
|
|
82
|
-
>
|
|
83
|
+
> [!WARNING]
|
|
84
|
+
> `LLMS_AVAILABLE` is a curated subset of models intended for local development and testing — it is **not** the full set of available models, and the Model Proxy token minted for local development **is** restricted to these models. To see all available models, use `kaggle benchmarks tasks models`. To run a task against any model (including those not in `LLMS_AVAILABLE`), use `kaggle benchmarks tasks run`, which executes on Kaggle's infrastructure with access to the full model catalog.
|
|
83
85
|
|
|
84
86
|
`init` also creates two files alongside the example file:
|
|
85
87
|
|
|
@@ -90,6 +92,37 @@ If either file already exists, it is skipped without overwriting.
|
|
|
90
92
|
|
|
91
93
|
---
|
|
92
94
|
|
|
95
|
+
## `kaggle benchmarks quota`
|
|
96
|
+
|
|
97
|
+
Shows your current Model Proxy (AI inference) spend quota, one row per refill period.
|
|
98
|
+
|
|
99
|
+
**Usage:**
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
kaggle benchmarks quota [options]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Options:**
|
|
106
|
+
|
|
107
|
+
* `-v, --csv`: Print results in CSV format.
|
|
108
|
+
* `--format <FORMAT>`: Print results in the selected format (`csv`, `table`, `json`).
|
|
109
|
+
|
|
110
|
+
**Example:**
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
$ kaggle b quota
|
|
114
|
+
period used remaining total refillAt
|
|
115
|
+
------- ------ --------- ------- -------------------------
|
|
116
|
+
Daily $1.20 $3.80 $5.00 2026-08-08T00:00:00+00:00
|
|
117
|
+
Monthly $14.50 $85.50 $100.00 2026-09-01T00:00:00+00:00
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Purpose:**
|
|
121
|
+
|
|
122
|
+
Amounts are in USD and reflect inference spend through the Model Proxy — this is separate from the top-level `kaggle quota` command, which reports weekly GPU and TPU accelerator *hours*. `remaining` is derived as `total - used` and is clamped at `$0.00`, so an overage shows as zero remaining rather than a negative balance.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
93
126
|
## `kaggle benchmarks leaderboard`
|
|
94
127
|
|
|
95
128
|
Get benchmark leaderboard information.
|
|
@@ -217,7 +250,8 @@ kaggle benchmarks tasks push <TASK> -f <FILE> [options]
|
|
|
217
250
|
|
|
218
251
|
This command reads a `.py` file, converts it to a Jupyter notebook format, and uploads it to Kaggle as a benchmark task. If a task with the same slug already exists, a new version is created. The file is validated to ensure it contains a `@task` decorator matching the given task name.
|
|
219
252
|
|
|
220
|
-
|
|
253
|
+
> [!NOTE]
|
|
254
|
+
> **On dataset attachment:** When `--kaggle-dataset` / `-d` is specified, the listed datasets are attached to the task's underlying notebook kernel. During execution, they are accessible at `/kaggle/input/<dataset-slug>/` by default, falling back to `/kaggle/input/<owner>/<dataset-slug>/` in the event of a naming conflict. If you re-push without `-d`, all previously-attached datasets are detached (a warning is printed). To preserve datasets across pushes, re-specify them each time. If any specified dataset is invalid, non-existent, or inaccessible, the push command will **fail** with an error: `Failed to push task: Failed to attach the following data sources (not found or inaccessible): <dataset>`.
|
|
221
255
|
|
|
222
256
|
---
|
|
223
257
|
|
|
@@ -7,6 +7,7 @@ public competition-creation API endpoints (kagglesdk 0.1.31+):
|
|
|
7
7
|
- [`kaggle competitions create`](#kaggle-competitions-create)
|
|
8
8
|
- [`kaggle competitions pages create`](#kaggle-competitions-pages-create)
|
|
9
9
|
- [`kaggle competitions hosts`](#kaggle-competitions-hosts)
|
|
10
|
+
- [`kaggle competitions host-add`](#kaggle-competitions-host-add)
|
|
10
11
|
- [`kaggle competitions settings get`](#kaggle-competitions-settings-get)
|
|
11
12
|
- [`kaggle competitions settings update`](#kaggle-competitions-settings-update)
|
|
12
13
|
- [`kaggle competitions data update`](#kaggle-competitions-data-update)
|
|
@@ -358,6 +359,47 @@ Output columns: `userName`, `displayName`, `id`, `profileUrl`.
|
|
|
358
359
|
|
|
359
360
|
---
|
|
360
361
|
|
|
362
|
+
## `kaggle competitions host-add`
|
|
363
|
+
|
|
364
|
+
Grants host access on a competition you host to another Kaggle user. Hosts can
|
|
365
|
+
edit settings, upload data, and launch the competition, so you are asked to
|
|
366
|
+
confirm before the change is made.
|
|
367
|
+
|
|
368
|
+
**Usage:**
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
kaggle competitions host-add <competition> -u <user> [-y]
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
**Arguments:**
|
|
375
|
+
|
|
376
|
+
- `<competition>`: The competition slug.
|
|
377
|
+
|
|
378
|
+
**Options:**
|
|
379
|
+
|
|
380
|
+
- `-u, --user <USER>`: Kaggle user name (URL slug, e.g. `kerneler`) of the user
|
|
381
|
+
to add as a host. Required.
|
|
382
|
+
- `-y, --yes`: Skip the confirmation prompt.
|
|
383
|
+
- `-q, --quiet`: Suppress the "Using competition" message.
|
|
384
|
+
|
|
385
|
+
**Examples:**
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# Prompts for confirmation before granting access.
|
|
389
|
+
kaggle competitions host-add my-comp -u alice
|
|
390
|
+
|
|
391
|
+
# Skip the prompt (for scripts).
|
|
392
|
+
kaggle competitions host-add my-comp -u alice -y
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
Verify the result with `kaggle competitions hosts my-comp`.
|
|
396
|
+
|
|
397
|
+
> **Note:** This command is named `host-add` rather than `hosts add` because
|
|
398
|
+
> `hosts` takes the competition as a positional argument, and argparse cannot
|
|
399
|
+
> distinguish a competition slug from a subcommand name.
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
361
403
|
## `kaggle competitions settings get`
|
|
362
404
|
|
|
363
405
|
Shows the unified settings blob for a competition you host — the same set of
|
|
@@ -437,13 +479,25 @@ Toggle a single boolean:
|
|
|
437
479
|
kaggle competitions settings update my-comp -f ./disable-leaderboard.json
|
|
438
480
|
```
|
|
439
481
|
|
|
440
|
-
|
|
441
|
-
|
|
482
|
+
Set the competition deadline:
|
|
483
|
+
|
|
484
|
+
```json
|
|
485
|
+
// deadline.json
|
|
486
|
+
{ "deadline": "2027-02-01T23:59:00Z" }
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
kaggle competitions settings update my-comp -f ./deadline.json
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
Bump the code-competition runtime caps and set the competition and team-merger
|
|
494
|
+
deadlines (YAML, mixing types):
|
|
442
495
|
|
|
443
496
|
```yaml
|
|
444
497
|
# tune.yaml
|
|
445
498
|
max_cpu_runtime_minutes: 540
|
|
446
499
|
max_gpu_runtime_minutes: 720
|
|
500
|
+
deadline: 2027-02-01T23:59:00Z
|
|
447
501
|
team_merger_explicit_deadline: 2027-01-15T00:00:00Z
|
|
448
502
|
rules_required: true
|
|
449
503
|
```
|
|
@@ -99,9 +99,10 @@ kaggle competitions download <COMPETITION> [options]
|
|
|
99
99
|
|
|
100
100
|
**Options:**
|
|
101
101
|
|
|
102
|
-
* `-f, --file <FILE_NAME>`: Specific file to download (downloads all if not specified).
|
|
102
|
+
* `-f, --file <FILE_NAME>`: Specific file to download (downloads all if not specified). A file inside a folder, such as `train/labels.csv`, keeps that folder under the download path.
|
|
103
103
|
* `-p, --path <PATH>`: Folder to download files to (defaults to current directory).
|
|
104
104
|
* `-w, --wp`: Download files to the current working path (equivalent to `-p .`).
|
|
105
|
+
* `--unzip`: Unzip the downloaded file (deletes the .zip file afterwards).
|
|
105
106
|
* `-o, --force`: Force download, overwriting existing files.
|
|
106
107
|
* `-q, --quiet`: Suppress verbose output.
|
|
107
108
|
|
|
@@ -119,6 +120,18 @@ kaggle competitions download <COMPETITION> [options]
|
|
|
119
120
|
kaggle competitions download titanic -f test.csv -p tost
|
|
120
121
|
```
|
|
121
122
|
|
|
123
|
+
3. Download a file that lives in a folder inside the competition data. The file is written to `data/kaggle_evaluation/rsna_gateway.py`:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
kaggle competitions download rsna-intracranial-aneurysm-detection -f kaggle_evaluation/rsna_gateway.py -p data
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
4. Download all files for the "titanic" competition into `data` and extract them, leaving no zip behind:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
kaggle competitions download titanic -p data --unzip
|
|
133
|
+
```
|
|
134
|
+
|
|
122
135
|
**Purpose:**
|
|
123
136
|
|
|
124
137
|
This command allows you to get the necessary data files for a competition onto your local machine.
|
|
@@ -145,6 +158,10 @@ kaggle competitions submit <COMPETITION> -f <FILE_NAME> -m <MESSAGE> [options]
|
|
|
145
158
|
* `-v, --version <VERSION>`: Version of the kernel to submit (e.g. `2`).
|
|
146
159
|
* `-q, --quiet`: Suppress verbose output.
|
|
147
160
|
* `--sandbox`: Mark submission as a sandbox submission (competition hosts/admins only).
|
|
161
|
+
* `--wait [SECONDS]`: Wait for the submission to finish scoring, printing the public score when done. Optionally pass a timeout in seconds (`0` or no value = wait up to 12 hours, the maximum notebook runtime). Exits non-zero if scoring fails or the timeout is reached.
|
|
162
|
+
* `--poll-interval <SECONDS>`: Maximum seconds between status polls while waiting (default: `60`, minimum: `5`). Polling starts at 5s and increases automatically.
|
|
163
|
+
|
|
164
|
+
On a successful submission the command prints the numeric submission ref, e.g. `Submission ref: 12345678`. You can look that submission up later with [`kaggle competitions submission`](#kaggle-competitions-submission).
|
|
148
165
|
|
|
149
166
|
**Example: Standard (not code) competition:**
|
|
150
167
|
|
|
@@ -162,10 +179,67 @@ Submit the `submission.csv` produced by version `3` of your `<YOUR_USERNAME>/rsn
|
|
|
162
179
|
kaggle competitions submit rsna-2024-lumbar-spine-degenerative-classification -f submission.csv -k <YOUR_USERNAME>/rsna-submission -v 3 -m "Test message"
|
|
163
180
|
```
|
|
164
181
|
|
|
182
|
+
**Example: Submit and wait for the score (useful in CI):**
|
|
183
|
+
|
|
184
|
+
Submit and block until scoring finishes (up to a 10-minute timeout), then print the public score:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
kaggle competitions submit house-prices-advanced-regression-techniques -f sample_submission.csv -m "CI run" --wait 600
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
The command exits `0` once the submission is scored and non-zero if scoring fails or the timeout is reached, so it can gate a pipeline.
|
|
191
|
+
|
|
165
192
|
**Purpose:**
|
|
166
193
|
|
|
167
194
|
Use this command to upload your predictions or code to a competition for scoring.
|
|
168
195
|
|
|
196
|
+
## `kaggle competitions submission`
|
|
197
|
+
|
|
198
|
+
Shows the status and score of a single submission by its numeric ref (as printed by `kaggle competitions submit`). When a submission failed to score, the reason is shown as well.
|
|
199
|
+
|
|
200
|
+
**Usage:**
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
kaggle competitions submission <SUBMISSION_REF>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Arguments:**
|
|
207
|
+
|
|
208
|
+
* `<SUBMISSION_REF>`: The numeric submission ref printed by `kaggle competitions submit`.
|
|
209
|
+
|
|
210
|
+
**Example:**
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
kaggle competitions submission 12345678
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Output:
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
Submission Ref: 12345678
|
|
220
|
+
Status: COMPLETE
|
|
221
|
+
Public Score: 0.98765
|
|
222
|
+
Private Score:
|
|
223
|
+
Description: Test message
|
|
224
|
+
Submission Date: 2026-07-19 12:00:00
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
A submission that failed to score also reports why:
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
Submission Ref: 12345679
|
|
231
|
+
Status: ERROR
|
|
232
|
+
Error: Evaluation Exception: Submission must have 418 rows
|
|
233
|
+
Public Score:
|
|
234
|
+
Private Score:
|
|
235
|
+
Description: Test message
|
|
236
|
+
Submission Date: 2026-07-19 12:00:00
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Purpose:**
|
|
240
|
+
|
|
241
|
+
Use this command to check whether a submission has finished scoring and to read its public score — for example, after submitting without `--wait`, or from a script polling for results.
|
|
242
|
+
|
|
169
243
|
## `kaggle competitions submissions`
|
|
170
244
|
|
|
171
245
|
Shows your past submissions for a competition.
|
|
@@ -197,6 +271,38 @@ kaggle competitions submissions house-prices-advanced-regression-techniques -v -
|
|
|
197
271
|
|
|
198
272
|
This command allows you to review your previous submission attempts and their scores.
|
|
199
273
|
|
|
274
|
+
## `kaggle competitions submission-download`
|
|
275
|
+
|
|
276
|
+
Downloads the submitted file for a single submission by its numeric id.
|
|
277
|
+
|
|
278
|
+
**Usage:**
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
kaggle competitions submission-download <SUBMISSION_ID> [options]
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**Arguments:**
|
|
285
|
+
|
|
286
|
+
* `<SUBMISSION_ID>`: The numeric submission id printed by `kaggle competitions submit`, or listed by `kaggle competitions submissions <COMPETITION>`.
|
|
287
|
+
|
|
288
|
+
**Options:**
|
|
289
|
+
|
|
290
|
+
* `-p, --path <PATH>`: Folder to download the file to. Defaults to the current working directory's Kaggle download location.
|
|
291
|
+
* `-o, --force`: Download even if a local copy already exists (skips the up-to-date check).
|
|
292
|
+
* `-q, --quiet`: Suppress verbose output.
|
|
293
|
+
|
|
294
|
+
**Example:**
|
|
295
|
+
|
|
296
|
+
Download the file for submission `12345678` into `./subs`:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
kaggle competitions submission-download 12345678 -p ./subs
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Purpose:**
|
|
303
|
+
|
|
304
|
+
Use this command to retrieve the exact file you (or a teammate) submitted — for example, to inspect an old submission or reproduce a scored result.
|
|
305
|
+
|
|
200
306
|
## `kaggle competitions leaderboard`
|
|
201
307
|
|
|
202
308
|
Gets competition leaderboard information.
|
|
@@ -99,10 +99,10 @@ kaggle datasets download <DATASET> [options]
|
|
|
99
99
|
|
|
100
100
|
**Options:**
|
|
101
101
|
|
|
102
|
-
* `-f, --file <FILE_NAME>`: Specific file to download (downloads all if not specified).
|
|
102
|
+
* `-f, --file <FILE_NAME>`: Specific file to download (downloads all if not specified). A file inside a folder, such as `train/labels.csv`, keeps that folder under the download path.
|
|
103
103
|
* `-p, --path <PATH>`: Folder to download files to (defaults to current directory).
|
|
104
104
|
* `-w, --wp`: Download files to the current working path.
|
|
105
|
-
* `--unzip`: Unzip the downloaded file (deletes the .zip file afterwards).
|
|
105
|
+
* `--unzip`: Unzip the downloaded file (deletes the .zip file afterwards). With `-f`, large files are served inside a zip archive of the same name, and this extracts the file from it.
|
|
106
106
|
* `-o, --force`: Force download, overwriting existing files.
|
|
107
107
|
* `-q, --quiet`: Suppress verbose output.
|
|
108
108
|
|
|
@@ -126,6 +126,18 @@ kaggle datasets download <DATASET> [options]
|
|
|
126
126
|
kaggle datasets download goefft/public-datasets-with-file-types-and-columns -f dataset_results.csv -w -q -o
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
+
4. Download a file that lives in a folder inside the dataset. The file is written to `data/WICAgencies2014ytd/Food_Costs.csv`:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
kaggle datasets download jpmiller/publicassistance -f WICAgencies2014ytd/Food_Costs.csv -p data
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
5. Download a single large file and extract it. `creditcard.csv` is served as `creditcard.csv.zip`, so without `--unzip` the archive is what lands on disk:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
kaggle datasets download mlg-ulb/creditcardfraud -f creditcard.csv -p data --unzip
|
|
139
|
+
```
|
|
140
|
+
|
|
129
141
|
**Purpose:**
|
|
130
142
|
|
|
131
143
|
This command allows you to retrieve dataset files for local use.
|
|
@@ -76,7 +76,7 @@ kaggle kernels files <KERNEL> [options]
|
|
|
76
76
|
|
|
77
77
|
**Arguments:**
|
|
78
78
|
|
|
79
|
-
* `<KERNEL>`: Kernel URL suffix (format: `owner/kernel-slug`, e.g., `kerneler/sqlite-global-default`).
|
|
79
|
+
* `<KERNEL>`: Kernel URL suffix (format: `owner/kernel-slug` or `owner/kernel-slug/version`, e.g., `kerneler/sqlite-global-default` or `kerneler/sqlite-global-default/2`).
|
|
80
80
|
|
|
81
81
|
**Options:**
|
|
82
82
|
|
|
@@ -124,7 +124,7 @@ This command creates a template `kernel-metadata.json` file. You need to edit th
|
|
|
124
124
|
|
|
125
125
|
## `kaggle kernels push`
|
|
126
126
|
|
|
127
|
-
Pushes new code/notebook and metadata to a kernel, then runs the kernel.
|
|
127
|
+
Pushes new code/notebook and metadata to a kernel, then runs the kernel. Pass `--no-run` to save a new version without running it.
|
|
128
128
|
|
|
129
129
|
**Usage:**
|
|
130
130
|
|
|
@@ -134,9 +134,10 @@ kaggle kernels push -p <FOLDER_PATH> [options]
|
|
|
134
134
|
|
|
135
135
|
**Options:**
|
|
136
136
|
|
|
137
|
-
* `--accelerator <ACCELERATOR_ID>`: ID name of the accelerator to use during the run. E.g. "
|
|
137
|
+
* `--accelerator <ACCELERATOR_ID>`: ID name of the accelerator to use during the run. E.g. "NvidiaTeslaT4" (GPU T4 ×2, default GPU), "NvidiaL4", "TpuV5E8" (TPU v5e-8), "TpuV6E8".
|
|
138
138
|
* `-p, --path <FOLDER_PATH>`: Path to the folder containing the kernel file (e.g., `.ipynb`, `.Rmd`, `.py`) and the `kernel-metadata.json` file (defaults to the current directory).
|
|
139
139
|
* `-t, --timeout <SECONDS>`: Maximum run time in seconds.
|
|
140
|
+
* `--no-run`: Save a new version without executing the notebook, the equivalent of Quick Save in the web UI. The version is created but no cell runs.
|
|
140
141
|
|
|
141
142
|
**Example:**
|
|
142
143
|
|
|
@@ -146,20 +147,22 @@ Push the kernel from the `tests/kernel` folder (assuming it contains the kernel
|
|
|
146
147
|
kaggle kernels push -p tests/kernel
|
|
147
148
|
```
|
|
148
149
|
|
|
150
|
+
Save a new version without running it, for example after editing only a markdown cell:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
kaggle kernels push -p tests/kernel --no-run
|
|
154
|
+
```
|
|
155
|
+
|
|
149
156
|
**Purpose:**
|
|
150
157
|
|
|
151
158
|
This command uploads your local kernel file and its metadata to Kaggle. If the kernel specified in the metadata exists under your account, it will be updated. Otherwise, a new kernel will be created. After uploading, Kaggle will attempt to run the kernel.
|
|
152
159
|
|
|
153
|
-
Accelerators available as of
|
|
160
|
+
Accelerators available as of Sep 2026:
|
|
154
161
|
|
|
155
|
-
*
|
|
156
|
-
* TpuV38
|
|
157
|
-
* NvidiaTeslaT4
|
|
158
|
-
* NvidiaTeslaT4Highmem
|
|
159
|
-
* Tpu1VmV38
|
|
162
|
+
* NvidiaTeslaT4 (GPU T4 ×2)
|
|
160
163
|
* NvidiaTeslaA100
|
|
161
164
|
* NvidiaL4
|
|
162
|
-
* TpuV5E8
|
|
165
|
+
* TpuV5E8 (TPU v5e-8)
|
|
163
166
|
* NvidiaL4X1
|
|
164
167
|
* TpuV6E8
|
|
165
168
|
* NvidiaH100
|
|
@@ -223,7 +226,7 @@ kaggle kernels output <KERNEL> [options]
|
|
|
223
226
|
|
|
224
227
|
**Arguments:**
|
|
225
228
|
|
|
226
|
-
* `<KERNEL>`: Kernel URL suffix (e.g., `kerneler/using-google-bird-vocalization-model`).
|
|
229
|
+
* `<KERNEL>`: Kernel URL suffix (format: `owner/kernel-slug` or `owner/kernel-slug/version`, e.g., `kerneler/using-google-bird-vocalization-model` or `kerneler/using-google-bird-vocalization-model/2`). Without a version, the latest version's output is downloaded.
|
|
227
230
|
|
|
228
231
|
**Options:**
|
|
229
232
|
|
|
@@ -266,6 +269,12 @@ Download files in smaller pages:
|
|
|
266
269
|
kaggle kernels output <kernel> --page-size 50
|
|
267
270
|
```
|
|
268
271
|
|
|
272
|
+
Download the output of version 2 instead of the latest version:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
kaggle kernels output <kernel>/2
|
|
276
|
+
```
|
|
277
|
+
|
|
269
278
|
**Purpose:**
|
|
270
279
|
|
|
271
280
|
Use this command to retrieve the files generated by a kernel run, such as submission files, processed data, or visualizations. By default, output downloads scan every available output page, so `--file-pattern` can match files beyond the first page. Use `--page-size` to control how many files are requested on each page, and use `--page-token` when you only want to download files from one specific page.
|
|
@@ -282,7 +291,7 @@ kaggle kernels status <KERNEL>
|
|
|
282
291
|
|
|
283
292
|
**Arguments:**
|
|
284
293
|
|
|
285
|
-
* `<KERNEL>`: Kernel URL suffix (e.g., `kerneler/sqlite-global-default`).
|
|
294
|
+
* `<KERNEL>`: Kernel URL suffix (format: `owner/kernel-slug` or `owner/kernel-slug/version`, e.g., `kerneler/sqlite-global-default` or `kerneler/sqlite-global-default/2`).
|
|
286
295
|
|
|
287
296
|
**Example:**
|
|
288
297
|
|
|
@@ -35,7 +35,7 @@ We currently support the following metadata fields for kernels.
|
|
|
35
35
|
* `is_private`: Whether or not the kernel should be private. If not specified, will be `true`.
|
|
36
36
|
* `enable_gpu`: Whether or not the kernel should run on a GPU. If not specified, will be `false`.
|
|
37
37
|
* `enable_internet`: Whether or not the kernel should be able to access the internet. If not specified, will be `false`.
|
|
38
|
-
* `machine_shape`: The accelerator/GPU type to use (e.g., `NvidiaTeslaT4
|
|
38
|
+
* `machine_shape`: The accelerator/GPU type to use (e.g., `NvidiaTeslaT4` for GPU T4 ×2, `NvidiaL4`, or `TpuV5E8` for TPU v5e-8).
|
|
39
39
|
* `dataset_sources`: A list of dataset sources, specified as `"username/dataset-slug"`
|
|
40
40
|
* `competition_sources`: A list of competition sources, specified as `"competition-slug"`
|
|
41
41
|
* `kernel_sources`: A list of kernel sources, specified as `"username/kernel-slug"`
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Search Command
|
|
2
|
+
|
|
3
|
+
Search across all Kaggle content from a single command.
|
|
4
|
+
|
|
5
|
+
## `kaggle search`
|
|
6
|
+
|
|
7
|
+
Runs a unified search over Kaggle competitions, datasets, notebooks, models,
|
|
8
|
+
users, and discussions and returns one ranked list of results. This is the
|
|
9
|
+
cross-content equivalent of the per-command `-s/--search` flags (such as
|
|
10
|
+
`kaggle datasets list --search`); use it when you don't yet know which content
|
|
11
|
+
type you're looking for, or when you want results from several types at once.
|
|
12
|
+
|
|
13
|
+
By default, `kaggle search` searches all CLI-supported content types
|
|
14
|
+
(competition, dataset, notebook, model, user, discussion, benchmark) — not every
|
|
15
|
+
backend document type (it excludes types the CLI cannot render usefully, such as
|
|
16
|
+
comments, blogs, and courses). Result ordering uses the backend's canonical
|
|
17
|
+
cross-content ranking. Use `--type` to narrow to specific types.
|
|
18
|
+
|
|
19
|
+
**Usage:**
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
kaggle search "<query>" [options]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Options:**
|
|
26
|
+
|
|
27
|
+
* `query`: The term(s) to search for (required).
|
|
28
|
+
* `-t, --type <TYPES>`: Restrict results to a comma-separated list of content types. Valid types: `competition`, `dataset`, `notebook`, `model`, `user`, `discussion`, `benchmark`. If omitted, all of these CLI-supported types are searched.
|
|
29
|
+
* `-m, --mine`: Restrict the search to your own content.
|
|
30
|
+
* `--sort-by <SORT_BY>`: Sort order. One of: `relevance` (default), `hotness`, `votes`, `dateCreated`, `dateUpdated`, `totalComments`, `lastViewed`.
|
|
31
|
+
* `--page-size <SIZE>`: Number of results to show on a page (default: 20, max: 100).
|
|
32
|
+
* `--page-token <TOKEN>`: Page token for results paging (printed as `Next Page Token = ...` at the top of a page when more results exist).
|
|
33
|
+
* `-v, --csv`: Print results in CSV format instead of a table.
|
|
34
|
+
* `--format <FORMAT>`: Print results in the selected format (`csv`, `table`, `json`). Supports field projection, e.g. `--format 'json(type,ref)'`.
|
|
35
|
+
|
|
36
|
+
**Result columns:** `type`, `ref`, `title`, `owner`, `votes`. The `ref` column
|
|
37
|
+
is the identifier you can pass to other commands — `owner/slug` for datasets,
|
|
38
|
+
notebooks, and models; the bare slug for competitions and users.
|
|
39
|
+
|
|
40
|
+
**Examples:**
|
|
41
|
+
|
|
42
|
+
1. Search everything for a term:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
kaggle search "protein folding"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
2. Search only datasets and models:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
kaggle search "diffusion" --type dataset,model
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
3. Find users:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
kaggle search "andrew ng" --type user
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
4. Search your own content, most recently updated first:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
kaggle search "baseline" --mine --sort-by dateUpdated
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
5. Get machine-readable output:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
kaggle search "titanic" --format json
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
6. Fetch the next page:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
kaggle search "llm" --page-size 50 --page-token <TOKEN>
|
|
76
|
+
```
|
|
@@ -24,9 +24,11 @@ keywords = ["Kaggle", "API"]
|
|
|
24
24
|
requires-python = ">= 3.11"
|
|
25
25
|
dependencies = [
|
|
26
26
|
"bleach",
|
|
27
|
-
"kagglesdk >= 0.1.
|
|
27
|
+
"kagglesdk >= 0.1.38, < 1.0", # sync with kagglehub
|
|
28
28
|
"python-slugify",
|
|
29
29
|
"requests",
|
|
30
|
+
# requests sets no certifi floor; older bundles trust the compromised emSign/eMudhra roots (GHSA-6q48-6c7w-9gw2).
|
|
31
|
+
"certifi >= 2026.10.19",
|
|
30
32
|
"python-dateutil",
|
|
31
33
|
"tqdm",
|
|
32
34
|
"urllib3 >= 1.15.1",
|
|
@@ -10,8 +10,11 @@ attrs==26.1.0
|
|
|
10
10
|
# referencing
|
|
11
11
|
bleach==6.3.0
|
|
12
12
|
# via kaggle (pyproject.toml)
|
|
13
|
-
certifi==2026.
|
|
14
|
-
# via
|
|
13
|
+
certifi==2026.10.19
|
|
14
|
+
# via
|
|
15
|
+
# kaggle (pyproject.toml)
|
|
16
|
+
# kagglesdk
|
|
17
|
+
# requests
|
|
15
18
|
charset-normalizer==3.4.6
|
|
16
19
|
# via requests
|
|
17
20
|
fastjsonschema==2.21.2
|
|
@@ -26,7 +29,7 @@ jupyter-core==5.9.1
|
|
|
26
29
|
# via nbformat
|
|
27
30
|
jupytext==1.19.1
|
|
28
31
|
# via kaggle (pyproject.toml)
|
|
29
|
-
kagglesdk==0.1.
|
|
32
|
+
kagglesdk==0.1.38
|
|
30
33
|
# via kaggle (pyproject.toml)
|
|
31
34
|
markdown-it-py==4.0.0
|
|
32
35
|
# via
|