The QML IDE
AI-native IDE (quantum coming later). Electron desktop app with a
three-panel layout — pandas data view, Monaco code editor, and an
interactive ML panel that stays two-way in sync with the code.
Status: v0.1
- Left: pandas DataFrame view with right-click column menu
(sort, filter, fillna, dropna, astype, rename, drop). Every UI
op emits the equivalent pandas code into the editor.
- Middle: Monaco Python editor. Run executes against a
persistent Python sidecar and updates the data panel.
- Right: Linear regression. Pick target + feature, tune
test_size / fit_intercept, click Fit to see scatter + fit
line, R², MSE; the fitted snippet is appended to the editor.
- Workspace: File → Open Folder loads a folder tree in the
far-left rail. Clicking a CSV loads it as a frame; other files
open in the editor.
- File → Load from Kaggle… is a stub for v0.2.
Requirements
- Node 18+ (Electron 31)
- Python 3.10+ with
pandas, numpy, scikit-learn, openpyxl
Set QMLIDE_PYTHON to override the Python executable.
Run
npm install
pip install -r requirements.txt
npm start
Layout
src/
main/ Electron main process + preload bridge
python/ Python sidecar (JSON-RPC over stdio)
renderer/ HTML/CSS/JS UI (ES modules)
panels/ workspace, data, editor, ML, kaggle
Roadmap
- v0.2: Kaggle API download, k-means, logistic regression, decision
tree, code→UI sync via AST.
- v0.3+: Quantum panels (Qiskit / PennyLane).