Skip to main content

Kaggle CLI

The official CLI to interact with Kaggle.


User documentation


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).
  • Browse and read discussion forums.

Installation

Install the kaggle package with pip:

pip install kaggle

Additional installation instructions can be found here.

Quick start

Explore the available commands by running:

kaggle --help

See the User documentation for more examples & tutorials.

Hosting a competition

End-to-end host commands — scaffold a new competition, author its pages, tune its settings, and launch it — are documented in docs/competition_creation.md. Covers kaggle competitions init, create, pages create, hosts, settings get, settings update, and launch.

Development

kagglesdk Updates

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.

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

Code Coverage

We measure code coverage using pytest-cov.

To run unit tests with coverage and generate reports:

hatch run test:cov

This generates:

  • Terminal output with a coverage summary.
  • coverage.xml (XML report in the root, used by IDE integrations).
  • htmlcov/index.html (HTML report for browser viewing).

Editor Integration

VSCode

Install the Coverage Gutters extension. After running the coverage command, click the Watch button in the status bar to see coverage indicators in the editor margins.

JetBrains Rider

With the Python plugin installed:

  • Run with Coverage: Create a Pytest run configuration and click the shield icon ("Run with Coverage").
  • Import Report: Go to Tools -> Show Code Coverage Data, click Add (+), and select coverage.xml.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kaggle-2.2.4.tar.gz (317.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kaggle-2.2.4-py3-none-any.whl (126.2 kB view details)

Uploaded Python 3

File details

Details for the file kaggle-2.2.4.tar.gz.

File metadata

  • Download URL: kaggle-2.2.4.tar.gz
  • Upload date:
  • Size: 317.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.2

File hashes

Hashes for kaggle-2.2.4.tar.gz
Algorithm Hash digest
SHA256 28a58f6c1b9f46ce2afdfb439e0c4e91219e818b377ea4254f4e479456d8cb78
MD5 ab9c458ef38a67ab9c143fec481d6181
BLAKE2b-256 8d229e4d5015aad7c7794af098e3def53a26a7deae3ee2e348c129bc2446260e

See more details on using hashes here.

File details

Details for the file kaggle-2.2.4-py3-none-any.whl.

File metadata

  • Download URL: kaggle-2.2.4-py3-none-any.whl
  • Upload date:
  • Size: 126.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.2

File hashes

Hashes for kaggle-2.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 47d3b258363f4693ade67d875b1c108bfaa87a469f4b6fe85903e7c9757aa09c
MD5 fd468c885545ea32dbeffda20315fe24
BLAKE2b-256 6d0b79bbabb2b3f7eaee3bcde7397abf29bbdd8694886f45bef460fca5d71729

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page