How lmbelo/pyscripter works
PyScripter is a Windows Python IDE. Its user-facing workflow is editing Python code, configuring and running it in a Python engine, then inspecting output or debugging state. The tree and help-topic index also indicate project/file navigation, language services, tests, and LLM assistance. The supplied source excerpts do not include the Delphi application modules, so most implementation links below are marked unverified; the separate dataframe inspector is represented from its excerpt.
Main entry points: frmPyIDEMain.pas IDE Shell · frmEditor.pas Code Editor · cInternalPython.pas Python Engine · cPyDebugger.pas Debugger
Components 19
IDE Workspace
- IDE Shell
Source/frmPyIDEMain.pas - Code Explorer
Source/frmCodeExplorer.pas - Project Explorer
Source/frmProjectExplorer.pas - File Explorer
Source/frmFileExplorer.pas
Code Authoring
- Code Editor
Source/frmEditor.pas - Code Assistance
Source/cCodeCompletion.pas - Search and Refactor
Source/cFindInFiles.pas - Language Server
Source/cLSPClients.pas - Jedi LSP Launcher
Lib/Lsp/jls/run-jedi-language-server.py
Execution and Debugging
- Python Engine
Source/cInternalPython.pas - Run Configuration
Source/dlgRunConfiguration.pas - Command Output
Source/frmCommandOutput.pas - Debugger
Source/cPyDebugger.pas - Remote Debugger
Source/cPyRemoteDebugger.pas - State Inspectors
Source/frmVariables.pas - Unit Testing
Source/frmUnitTests.pas
IDE Extensions
- LLM Assistant
Source/frmLLMChat.pas - Dataframe Inspector
Lib/Variable Inspectors/dataframe/main.py
Other components
- Developer
Connections 16
- Developer → IDE Shell: uses
README.md - IDE Shell → Code Editor: opens editor
- IDE Shell → Project Explorer: navigates projects
- IDE Shell → File Explorer: browses files
- Code Editor → Code Assistance: offers completion
- Code Editor → Language Server: requests language services
- Language Server → Jedi LSP Launcher: launches server
- Code Editor → Search and Refactor: supports search
- IDE Shell → Run Configuration: configures runs
- IDE Shell → Python Engine: runs code
- Python Engine → Command Output: emits output
- Python Engine → Debugger: supports debugging
- Debugger → Remote Debugger: offers remote debugging
- Debugger → State Inspectors: exposes runtime state
- IDE Shell → Unit Testing: runs tests
- IDE Shell → LLM Assistant: offers assistance