The official CLI to interact with Kaggle.
Some of the key features are:
- List competitions, download competition data, submit to a competition.
- List, create, update, download or delete datasets.
- List, create, update, download or delete models & model variations.
- List, update & run, download code & output or delete kernels (notebooks).
- Browse and read discussion forums.
Install the kaggle package with pip:
pip install kaggle
Additional installation instructions can be found here.
Explore the available commands by running:
kaggle --help
See the User documentation for more examples & tutorials.
New features that interact with kaggle.com probably require changes to the Python library, kagglesdk.
Make sure to bump the minimum version required for kagglesdk in the dependencies list specified in
[pyproject.toml][pyproject.toml]]. Make sure the required version is available on the
pypi.org kagglesdk project.
We use hatch to manage this project.
Follow these instructions to install it.
hatch run kaggle datasets list
hatch shell
# Inside the shell, you can run many commands
kaggle datasets list
kaggle competitions list
...# Lint check hatch run lint:style hatch run lint:typing hatch run lint:all # for both # Format hatch run lint:fmt
Note: These tests are not true unit tests and are calling the Kaggle web server.
# Run against kaggle.com hatch run test:prod # Run against a local web server (Kaggle engineers only) hatch run test:local
To run integration tests on your local machine, you need to set up your Kaggle credentials. You can do this by following the authentication instructions.
After setting up your credentials, you can run the integration tests as follows:
hatch run test:integration
This is useful to run in a consistent environment and easily switch between Python versions.
The following shows how to run hatch run lint:all but this also works for any other hatch commands:
# Use default Python version
./docker-hatch run lint:all
See CHANGELOG.
See CONTRIBUTING.md.
The Kaggle CLI is released under the Apache 2.0 license.