Python 3.11+ Platform Tkinter LSP Debugger Ollama AI GUI Designer Active Development
IDOL is what IDLE could have been — a full Python IDE with professional-grade tools (Designer, LSP, git, terminal, split editor) and a built-in learning platform designed to grow with you. Beginner-friendly without being beginner-limited. Pure Python, no Electron, no dependencies beyond pip.
Runs natively on Windows, macOS, and Linux from a single codebase.
What's coming next? See the ROADMAP for in-progress work, the planned backlog, and long-term ideas.
pip install -r requirements.txt
python main.py
For AI features: install Ollama and run ollama pull qwen2.5-coder
For Git features: install Git
The only Python IDE with a VB6-style visual form designer built in. Drag-and-drop canvas, 17 widget types, live property editing, variable binding, menu builder, and clean class-based code generation — all in a Tkinter project.
Beyond widgets, the designer ships non-visual components (Timer, CommonDialog, Socket, Image) you drop into a component tray, and a catalog-driven Handlers system that wires component actions and form events to widgets with a click — no boilerplate. There's also a Canvas Item Designer for placing shapes, text, and images directly on a Canvas widget.
→ Full designer docs — covers components, handlers, and the canvas item editor in detail
Multi-tab editing with canvas-native syntax highlighting (regex-rule, no Pygments), code folding, sticky scroll, minimap, multi-cursor (Alt+Click), line move/duplicate, smart pairs, split editor with scroll sync, and VS Code-style find & replace.
ruff diagnostics on every keystroke (three severity tiers, cascade suppression), Problems panel with hover tooltips and AI double-click, pylsp hover docs, autocomplete, and go-to-definition.
Command palette (Ctrl+Shift+P), AST-based Outline panel, File Explorer with inline new-file/rename, Find References, and a breadcrumb bar with a filename-crumb file picker, locals drill-down, and sibling picker.
Staging/unstaging, commit, push/pull, gutter diff strips, Git Health panel with one-click fixes, commit history with inline diffs, inline file explanations, and a guided Fix Wizard.
Full VT100 PTY terminal (PowerShell/bash/zsh/Python REPL), venv and conda detection toolbar (activate/deactivate/switch, no conda init needed), Run/Output panel with inline stdin bar, Run Line, Run Selection, and runtime error indicators. An interactive Python REPL is included out of the box — no configuration required.
debugpy over DAP — breakpoints with VS Code-style gutter, step controls (F5/F10/F11), LOCALS + BREAKPOINTS panel, floating debug panel, two debug targets (Output or Terminal). No per-project install needed.
Local Ollama LLM — fully offline, no API key. Send File, Send Selection, streaming responses, syntax-highlighted code blocks, token counter, conversation save/load, and remote host support.
Installed packages grouped by topic, live filter, package search, install/uninstall with live output, and AI examples — all tied to the active interpreter. Conda environments get a conda backend automatically: search runs against your configured conda channels (with a conda ↔ PyPI source toggle), installs route by where you found the package, and uninstalls route to the tool that installed it.
Click any IDE element for a three-section explanation (what it is, how it works, real-world example) — the click is intercepted, so you can click Commit or a tab's ×ばつ and just read about it. AI Ask button streams a beginner-friendly explanation via Ollama. Covers 20+ IDE elements.
4-step project setup wizard, per-project interpreter selection, venv and conda env management (conda interpreters discovered automatically; the wizard can create project-local .conda/ envs), session persistence, .idol-project files, zen mode, and status bar with live git branch and diagnostic count.
| Getting Started | Install, run, first steps |
| Keyboard Shortcuts | Full shortcut reference |
| GUI Designer | Canvas, properties, code generation |
| Editor | Editing, cursor, breadcrumb, split |
| Intelligence | Diagnostics, Problems panel, LSP |
| Navigation | Palette, explorer, outline |
| Git Integration | Staging, history, health panel |
| Terminal & Output | PTY terminal, output, run |
| Debugger | Breakpoints, step, locals |
| AI Chat | Ollama, send file, token counter |
| Package Manager | Install, uninstall, PyPI search |
| Learning Mode | Click explanations, AI |
| Project & Session | Wizard, interpreter, persistence |
| ROADMAP | Planned features and backlog |
| CONTRIBUTING | Architecture and conventions |