Kaggle CLI is a command-line tool for interacting with Kaggle, the data science competition and dataset platform.
The tool solves the problem of programmatically accessing Kaggle's services without using the web interface. It provides commands to manage competitions, datasets, models, and notebooks directly from the terminal. Users can list and download competition data, submit solutions, create and manage datasets, work with models and their variations, interact with code notebooks, and browse discussion forums. The CLI wraps the kagglesdk Python library, which handles communication with Kaggle's web servers.
The tool is designed for data scientists and machine learning practitioners who want to automate their Kaggle workflows. It suits anyone regularly downloading datasets, submitting competition entries, or managing models through Kaggle. The README includes end-to-end documentation for hosting competitions, covering commands to scaffold new competitions, author pages, configure settings, and launch them. This makes it particularly valuable for competition organizers in addition to participants.
Development uses hatch for project management and Python as the primary language. The project maintains integration tests that call the Kaggle web server rather than using mocks, ensuring the CLI works correctly against live infrastructure. Code coverage is measured with pytest-cov and can be viewed through terminal output, XML reports for IDE integration, or HTML reports in a browser. The team provides Docker support for running hatch commands in a consistent environment across different Python versions. Documentation is comprehensive, with user guides, authentication instructions, and contribution guidelines all maintained in the repository.