⚠️ Development Notice: yaKaggle is currently under active development. While core workflows are functional, it has not yet been comprehensively tested across every OS distribution, shell, and virtual environment setup. If you run into unexpected behavior, please file a report on GitHub Issues.
Overview
yaKaggle bridges the gap between your local development environment and Kaggle's cloud platform. Instead of constantly switching between browser tabs, terminal commands, and editors, yaKaggle surfaces Kaggle Kernels, Datasets, and Competitions into structured, non-blocking VS Code TreeViews, output channels, and status bar monitors.
Whether pushing model updates, monitoring training jobs, browsing datasets, or tracking competition leaderboards, yaKaggle streamlines your workflow inside VS Code.
Kaggle API Token & Authentication Setup
To use yaKaggle, you need an active Kaggle account and an official API token.
1. Generating Your Token on Kaggle
- Sign in to your account at kaggle.com.
- Click on your profile picture in the top-right corner and select Settings (or navigate directly to
https://www.kaggle.com/settings).
- Scroll down to the API section.
- Click Create New Token.
ℹ️ Notice on Token Deprecation: Per the latest Kaggle CLI specifications, the classic kaggle.json file format is deprecated in favor of ~/.kaggle/access_token.
- Primary / Modern Standard (
access_token):
Save your raw API token directly as text inside access_token:
mkdir -p ~/.kaggle
echo "YOUR_API_TOKEN_HERE" > ~/.kaggle/access_token
chmod 600 ~/.kaggle/access_token
- Windows:
Save the plain token string in:
C:\\Users\\<YourUsername>\\.kaggle\\access_token
3. Verification Inside yaKaggle
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) in VS Code and run:
yaKaggle: Verify Credentials to confirm the token is detected and valid.
- If your token is stored in a non-standard folder, configure
yaKaggle.kaggleConfigDir in your VS Code settings.
Features
🧠 Kernels & Notebooks
- Local Workspace Detection: Discovers
kernel-metadata.json configurations across your workspace and pairs them with their local script or notebook file.
- Missing File Alerts: Inline visual warnings highlight metadata entries pointing to missing files on disk.
- Schema Validation & Autocomplete: Full JSON schema validation for
kernel-metadata.json, featuring autocompletion, field descriptions, and real-time linting.
- Remote Notebook Browsing: View your remote Kaggle kernels with built-in pagination support.
- Pull to In-Memory Buffer: Download and preview remote notebooks or scripts directly into untitled VS Code editor tabs without creating local files.
- One-Click Kernel Push: Push code changes to Kaggle directly from the sidebar with background progress reporting.
- Live Status Monitoring: Monitors active/queued jobs, updates execution state in real-time, and streams execution logs to a dedicated VS Code Output Channel.
- Artifact Extraction: Download all generated output files, model weights, and logs from completed or running remote kernels.
💾 Datasets
- Local Dataset Explorer: Identifies
dataset-metadata.json files and outlines directory trees.
- Dataset Initialization Wizard: Interactive command to scaffold a new dataset folder and generate standard metadata boilerplate.
- Schema Validation: Built-in validation schema for
dataset-metadata.json.
- Remote Dataset Management: Lists all your hosted datasets with complete, untruncated titles and size information.
- Lazy File Browsing: Inspect files and folder hierarchies inside remote datasets on demand.
- Flexible Downloading: Download complete datasets as untouched
.zip archives or grab individual files on demand while preserving folder hierarchy.
- Web Shortcuts: One-click actions to open any dataset directly on Kaggle.
🏆 Competitions
- Dual-Category View:
- My Active Competitions: Automatically surfaces ongoing competitions you have entered.
- Recent & Featured: Lists newly created competitions with "Load More..." pagination.
- Status Badges & Urgency Icons:
- 🟢 Active & Joined: Green verified badge.
- 🔵 Closed & Joined: Blue checkmark.
- ⚪ Closed & Not Entered: Gray checkmark.
- 🔥 / ⏰ / 🏆 Active & Not Entered: Dynamic icons highlighting approaching deadlines and urgency.
- Detailed Tooltips: Hover over entries to see category, prize pool, team counts, and human-readable countdowns.
- Live Leaderboard Inspector: View top-ranked teams along with your personal standing, score, and submission counts printed cleanly in a tabular log.
- Data Download: Download competition files directly into your workspace.
⚙️ Engine & Discovery
- Dynamic Environment Resolution: Automatically locates the
kaggle executable in active virtual environments (.venv, venv, conda, uv) or system PATH.
- Custom Binary Path Support: Manually specify custom binary paths via VS Code settings or setup commands.
- Credentials Helper: Validates and inspects credential files, including automatic permission repair (
chmod 0600) on Linux/macOS.
End-User Installation
For standard use, install yaKaggle directly from the editor:
- Open VS Code.
- Press
Ctrl+P (or Cmd+P on macOS), paste:
ext install rnascunha.yaKaggle
and press Enter. 3. Or visit the Visual Studio Marketplace page.
Development Setup (Contributing & Local Testing)
🛠️ Note: The steps below are intended only for developers looking to build, debug, or contribute to yaKaggle from source.
Prerequisites
- Node.js (v22.x or higher) and npm.
- Kaggle CLI installed in your active Python environment:
pip install kaggle
- A configured Kaggle API token (see Authentication Setup).
Clone and Build from Source
- Clone the repository:
git clone https://github.com/rnascunha/yaKaggle.git
cd yaKaggle
- Install dependencies:
npm install
- Compile TypeScript:
npm run compile
(Or run npm run watch for continuous incremental builds).
Running and Debugging Locally
- Open the project folder in VS Code:
code .
- Press
F5 (or select Run and Debug -> Run Extension).
- An Extension Development Host window will launch with yaKaggle loaded.
- Click on the yaKaggle icon in the Activity Bar to test your changes.
Running Tests
- Run Fast Unit Tests (Node-based with mock module hooks):
npm run test:unit
- Run Full VS Code Integration Suite (headless Electron runner):
npm test
Extension Settings
yaKaggle provides the following settings (Ctrl+, or Cmd+,):
yaKaggle.kagglePath: Custom path to your kaggle CLI executable or virtual environment root folder. If empty, yaKaggle auto-discovers it.
yaKaggle.kaggleConfigDir: Custom directory path containing your credentials (access_token or kaggle.json, defaults to ~/.kaggle).
Feedback, Bugs & Contributing
Contributions, feature requests, and bug reports are welcome:
- Found a bug? Please submit reproduction steps and system details on our GitHub Issues.
- Have an idea? Feel free to open an issue or start a discussion.
- Want to contribute? Fork the repository, create a branch (
git checkout -b feature/my-feature), and open a Pull Request targeting the dev branch.
License
Distributed under the MIT License. See LICENSE for details.