Interactive live architecture viewer for Python projects
Project description
ArchView
See your codebase. Understand it. Then change it.
ArchView gives you a live, interactive map of any Python project's architecture — right in your browser. It parses real Python (via AST, not regex), watches for changes, and updates the graph in real time.
Built for developers who vibe-code and need to stay oriented, or anyone inheriting a codebase they didn't write.
Why
You're 200 files deep in someone else's project. Or you're building fast and your own code is getting tangled. You need to see the structure — what depends on what, where the entry points are, which modules are isolated.
ArchView shows you all of that in seconds, and keeps updating as you code.
Install
pip install archview
Available on PyPI. Pure Python, works anywhere with Python 3.9+.
Usage
archview /path/to/your/project
Open http://localhost:9090 — that's it.
# Custom port and refresh interval
archview /path/to/project --port 8080 --interval 5
What you see
| Color | Meaning |
|---|---|
| Green | Entry points — modules that import but aren't imported |
| Blue | Connectors — modules that both import and are imported |
| Red | Utilities — leaf modules only imported by others |
| Gray | Isolated — no import relationships |
| Red (bright) | Syntax errors — files that failed to parse |
Features
Live refresh
Edit your code, save — the graph updates automatically. No restart needed.
Interactive exploration
- Hover a node to see its docstring, type, and exported symbols
- Click a node to highlight its direct dependencies
- Double-click to open the file in VS Code
- Drag nodes to rearrange the layout
- Click folders to collapse/expand entire packages
Dependency highlighting
Hover over an edge to see exactly which symbols are imported. Click a node and its entire dependency chain lights up — everything else fades.
Export
- PNG — screenshot the current view
- Save — persist node positions (restored on next launch)
Ignore patterns
# Exclude directories from analysis
archview ignore tests __pycache__ venv
# List current patterns
archview ignore --list
# Remove a pattern
archview ignore --remove tests
How it works
- Collects all
.pyfiles (git-aware, respects.archviewignore) - Parses each file's AST to extract imports, functions, classes
- Builds a dependency graph with classified nodes
- Renders it with Cytoscape.js + Dagre layout
- Watches for changes and re-generates every N seconds
Zero dependencies — pure Python stdlib. The frontend ships bundled.
Example
Try it on the example project (hosted on GitHub):
git clone https://github.com/lm17918/archview.git archview-demo
cd archview-demo
pip install archview
archview example_project
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file archview-0.2.3.tar.gz.
File metadata
- Download URL: archview-0.2.3.tar.gz
- Upload date:
- Size: 214.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4038de6fdaaa074e6ae2068ccc7ba357437f1754db380ae8ca29000093d256a8
|
|
| MD5 |
426843532e98ac79b47f8ad54e1771ab
|
|
| BLAKE2b-256 |
6b23c7d169a2a50c04bec04d3b76f84096b166e3c84045f2e23ada2710ff2627
|
File details
Details for the file archview-0.2.3-py3-none-any.whl.
File metadata
- Download URL: archview-0.2.3-py3-none-any.whl
- Upload date:
- Size: 212.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
223e81ebd38ad1e5602114168f58ae0a7bef7993e93fcccd09a62a6b5d5b38f3
|
|
| MD5 |
64473b2ed03ec4464d954036ec1d82a3
|
|
| BLAKE2b-256 |
248bf2a2f2a8910ef1b299c3a44c71e05b2bb1a99970c3123bc49ec900e15c13
|