Kaggle Runner VSCode Extension
简体中文 | English
Run Jupyter notebooks and Python scripts directly on Kaggle cloud from VSCode.
📦 Install Extension
🚀 Quick Start
📖 Features
✨ What's New
| Feature |
Description |
| 🖥️ Real-time Status Bar |
Live status: Queued → Running → Completed |
| 🔄 Smart Polling |
Auto-check run status, continue monitoring after timeout |
| 🏠 New Home View |
Sidebar quick access to all features |
| 🔐 Credential Auto-save |
Login once, credentials saved automatically |
| 🐛 Bug Fixes |
Windows compatibility, kernel metadata, status detection |
🚀 Quick Start
1. Install Extension
Search "Kaggle Runner" in VSCode Marketplace and install
2. Sign In to Kaggle
- Open VSCode
- Press
Ctrl+Shift+P → Type Kaggle: Sign In
- Enter your Kaggle Username and API Key
3. Initialize Project (Optional)
- Click the Kaggle icon in the sidebar
- Click 📦 Init Project in Home view
- Or use command:
Kaggle: Init Project
4. Run Notebook
- Open
.ipynb file
- Click the 🚀 rocket icon in the top-right
- Watch the status bar for progress
🎯 Features
Core Functions ☁️
| Function |
Description |
| ☁️ Cloud Run |
One-click push notebook/script to Kaggle |
| ⚡ GPU/TPU |
Configure hardware accelerator |
| 📊 Real-time Status |
Status bar shows run progress |
| 📥 Auto Download |
Auto-download output files after completion |
| 🔐 Credential Management |
Securely store Kaggle API keys |
Smart Optimizations 🚀
| Function |
Description |
| 🖥️ Real-time Status Bar |
Live feedback on run status |
| 🔄 Smart Background Polling |
Auto-check status, continue after timeout |
| 🏠 Home View |
Quick sidebar access |
| 🔐 Auto Credential Save |
Login once, auto-use thereafter |
| Function |
Description |
| 📦 Project Init |
Quickly create Kaggle project structure |
| 📓 Notebook Management |
Browse and pull notebooks |
| 📊 Dataset Browsing |
Explore Kaggle datasets |
| 🏆 Competition List |
View available competitions |
| 📋 Run History |
View historical runs |
🔧 Configuration
VSCode Settings
Search "Kaggle" in settings:
| Setting |
Default |
Description |
kaggle.defaultAccelerator |
none |
Default accelerator |
kaggle.defaultInternet |
false |
Enable internet by default |
kaggle.outputsFolder |
.kaggle-outputs |
Output directory |
kaggle.autoDownloadOnComplete |
true |
Auto-download outputs |
kaggle.pollIntervalSeconds |
10 |
Polling interval (seconds) |
kaggle.pollTimeoutSeconds |
600 |
Timeout (seconds) |
kaggle.cliPath |
kaggle |
Kaggle CLI path |
Command List
| Command |
Description |
kaggle.signIn |
Sign in to Kaggle |
kaggle.signOut |
Sign out |
kaggle.initProject |
Initialize project |
kaggle.runCurrentNotebook |
Run current notebook |
kaggle.pushRun |
Push and run |
kaggle.downloadOutputs |
Download output files |
📊 From Original to Optimized
Original Problems vs Our Solutions
| Problem |
Solution |
| ❌ Windows command args parsing failed |
exec() → execFile(), cross-platform |
| ❌ Notebook missing kernel metadata |
Auto-detect and add kernelspec |
| ❌ Runs status not updating |
Smart status detection based on time & output |
| ❌ Polling without status feedback |
Real-time status bar + notifications |
| ❌ Repeated username input |
Auto-read from saved credentials |
| ❌ Stop monitoring after timeout |
Continue checking every 30s |
| ❌ Credentials not persisted |
VSCode Secrets API encryption |
Core Workflow Optimization
Original:
Push → ❌ No feedback → ❌ Status not updating → Manual check
Optimized:
Push → 📊 Status bar → 🔄 Background polling → ✅ Auto completion notification
🔧 Technical Architecture
Architecture Layers
| Layer |
Components |
| VSCode IDE |
Kaggle Runner Extension (Home/Runs/Notebooks/Datasets/Competitions Views, Status Bar, Smart Config) |
| Kaggle CLI |
kernels push/status/output, datasets/competitions browse |
| Kaggle API |
https://www.kaggle.com/api |
Component Details
| Layer |
Components |
Description |
| UI Layer |
Home, Runs, Notebooks, Datasets, Competitions Views |
Visual interface |
|
Status Bar |
Real-time run status |
|
Smart Configuration |
User settings |
| CLI Layer |
kernels push/status/output |
Core operations |
|
datasets/competitions list |
Browse resources |
| API Layer |
Kaggle REST API |
Backend services |
Core Workflow
User Action System Response
────────────────────────────────────
Click Run → Status bar: 📤 Pushing
→ Notification: Uploading
→ Status bar: 🕐 Queued
→ Background polling
→ Status bar: 🔄 Running
→ Completion notification
→ Auto-download outputs
❓ FAQ
Q: How to get Kaggle API Key?
- Sign in to Kaggle.com
- Click avatar → Settings → API
- Click "Create New Token"
Q: Is credential storage secure?
Yes, using VSCode Secrets API encryption, local-only access.
Q: Does it support Windows?
Yes, full support for Windows/macOS/Linux.
Q: Can I run Python scripts?
Yes, supports both .ipynb and .py files.
Q: Status bar not updating?
Make sure:
- Signed in to Kaggle correctly
- Network connection normal
- Kaggle CLI installed (
kaggle --version)
🤝 Contributing
Welcome contributions!
Development
git clone https://github.com/CuiPenghub/vscode-kaggle-runner.git
cd vscode-kaggle-runner
npm install
npm run watch
Testing
npm test
Build
npm run build
Release
npm run release
Before PR
- [ ] All tests pass
- [ ] ESLint checks pass
- [ ] Documentation updated
Author: Peng Cui
Email: 1466246366@qq.com
GitHub: @CuiPenghub
Issues: GitHub Issues
🙏 Acknowledgments
This project is based on DataQuanta/vscode-kaggle-extension.
Thanks to original author Amin Vakhshouri for the contribution. This project builds upon it with deep optimizations and bug fixes.
Like this extension?
⭐ Star us on GitHub
⭐ Rate us on VSCode Marketplace
📄 License
MIT License - See LICENSE file