Viggo Meesters25 downloadsOpen .py files as a read-only source and structure view with symbols, search, and parse diagnostics.
Python Viewer is a read-only plugin for browsing .py files as source plus a compact structure outline. It is built for quick inspection of scripts, generated code, migration utilities, and agent output without turning the vault into an IDE.
.py files in a dedicated view.def or class lines.This plugin is for inspection. It does not execute code, start subprocesses, lint, format, refactor, sort imports, or save changes. Editing and execution belong in a code editor or terminal where project context, environments, and safeguards are explicit.
Python Viewer v0.1 uses a lightweight local symbol parser. It detects common imports, decorators, classes, functions, methods, and top-level constants while avoiding detections inside comments and triple-quoted strings. It is intentionally not a full Python AST parser.
When parsing is incomplete or a syntax diagnostic is found, the source view remains available and line numbers are preserved.
Python files can become large when generated by agents or migration tooling. Python Viewer renders the first 10,000 lines and reports how many lines were skipped.
Python Viewer does not make network requests and does not send vault content to external services. It does not use the system clipboard, does not write files, and does not execute Python code.
Python Viewer is ready for Community plugin directory submission. Once accepted, it can be installed from Settings -> Community plugins -> Browse.
Until the community directory submission is accepted:
main.js, manifest.json, and styles.css from the latest release..obsidian/plugins/python-viewer/.For beta testing, install the plugin with BRAT using this repository URL:
https://github.com/viggomeesters/obsidian-python-viewer
Open any .py file in your vault. The file opens with Python Viewer.
Use the toolbar to:
npm install
npm run build
npx tsc --noEmit
npm test
The runtime files are:
main.jsmanifest.jsonstyles.cssCommunity plugin files are installed from GitHub releases. For each release:
manifest.json, package.json, and versions.json.npm install, npm run build, npx tsc --noEmit, and npm test.manifest.json.version.main.js, manifest.json, and styles.css as release assets.The repository includes a GitHub Actions release workflow with artifact attestation support. If GitHub Actions is disabled for the owner account, manual releases are still usable, but automated review may show a recommendation about missing artifact attestations.
The repository is prepared for Community plugin submission. The remaining submission step must be completed by the repository owner because it requires signing in, linking GitHub, and confirming the developer policies/support commitment.
Submit this repository URL:
https://github.com/viggomeesters/obsidian-python-viewer
Steps:
The current release is ready for review:
README.md, LICENSE, and manifest.json existmanifest.json.version is 0.1.00.1.0 existsmain.js, manifest.json, and styles.cssversions.json maps supported app versionsOfficial references: