Deep-ML for VS Code
Browse, solve, and submit Deep-ML machine-learning problems
without leaving your editor.
Features
- Problems sidebar — browse every Deep-ML problem, grouped by category or difficulty,
with a ✓ on the ones you've solved.
- Read in VS Code — open a problem's description in a clean, sandboxed panel.
- Solve in your editor — scaffold a local Python solution file with starter code.
- Run Tests (local) — run your solution against the visible sample cases on your own
Python, for instant feedback. No server call, nothing recorded.
- Submit — run your solution against Deep-ML's test cases on the server and see the
graded verdict in a bottom panel, right inside VS Code.
Security model
The extension is client-side code, so it's built to never be a trust boundary:
- It only ever calls the same public endpoints the deep-ml.com website uses.
- The only credential stored on your machine is your own Firebase token, kept in
VS Code's encrypted
SecretStorage.
- All grading happens on Deep-ML's servers. The extension submits your code and
renders the result — it never sees hidden test cases or reference solutions, and it
never decides pass/fail itself.
In short: the extension can't do anything you couldn't already do signed into the website.
Setup
This extension talks to the Deep-ML backend using the publishable Firebase web config
(the same values already shipped in the website's JavaScript). Set them in VS Code
settings (deepml.*):
| Setting |
What it is |
deepml.apiBaseUrl |
Deep-ML backend API base URL |
deepml.webBaseUrl |
Deep-ML website URL (hosts the /vscode-auth sign-in page) |
deepml.firebase.apiKey |
Firebase web API key (publishable) |
deepml.firebase.authDomain |
Firebase auth domain |
deepml.firebase.projectId |
Firebase project id |
deepml.firebase.appId |
Firebase web app id (publishable) |
Sign-in is handled by the /vscode-auth page on the website (app/vscode-auth/page.tsx),
which reuses the site's existing Firebase Google sign-in and redirects the resulting
tokens back to the extension via a vscode:// URI. No new API surface is exposed.
Usage
- Click the Deep-ML icon in the Activity Bar.
- Sign In (status bar or the welcome view).
- Click a problem to read it, then Solve in Editor (opens beside the problem).
- Write your solution, then Run (local sample tests) or Submit (graded) — from the
problem toolbar or the editor title bar. Results appear in the Deep-ML panel at the
bottom.
Run uses the interpreter in deepml.pythonPath (default python3, falling back to
python on PATH).
Development
npm install
npm run compile # bundle with esbuild
npm run check-types # tsc type-check
npm run watch # rebuild on change
Press F5 in VS Code to launch an Extension Development Host.