The official CLI to interact with Kaggle.
Key Features
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).
Installation
Install the kaggle package with pip:
Additional installation instructions can be found here.
Quick start
Explore the available commands by running:
See the User documentation for more examples & tutorials.
Development
Prerequisites
We use hatch to manage this project.
Follow these instructions to install it.
Run kaggle from source
Option 1: Execute a one-liner of code from the command line
hatch run kaggle datasets list
Option 2: Run many commands in a shell
hatch shell
# Inside the shell, you can run many commands
kaggle datasets list
kaggle competitions list
...Lint / Format
# Lint check hatch run lint:style hatch run lint:typing hatch run lint:all # for both # Format hatch run lint:fmt
Tests
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
Integration Tests
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
Running hatch commands inside Docker
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
Changelog
See CHANGELOG.
Contributing
See CONTRIBUTING.md.
License
The Kaggle CLI is released under the Apache 2.0 license.