repomap
An interactive map of any Python project, running entirely on your machine.
pip install repomap-viz # or run without installing: uvx --from repomap-viz repomap serve .
repomap serve ./my-project
Your browser opens on a GitHub-style view of the project:
- Map: modules, calls and class inheritance as a graph you can pan, zoom, filter by folder, and focus on one node. Circular imports are highlighted.
- Trace: pick an entry point (a FastAPI or Flask route, a Typer or Click command, a
__main__block) and follow the calls step by step, with the code of each step. - Overview: what's in the project, where execution starts, and which files failed to parse.
- AI summaries (optional): a 2–3 sentence explanation of any function, class or module, generated when you click it.
Privacy
- Analysis is static. Your code is parsed, never imported or run.
- The server listens on
127.0.0.1only and refuses requests from other websites. - Nothing is written inside your project. The summary cache lives in
~/.cache/repomap/. - Code only leaves your machine if you turn on AI summaries, and then only the node you click Summarize on.
AI summaries
Summaries use NVIDIA's API with your own key:
export NVIDIA_API_KEY=nvapi-...
repomap serve ./my-project # default model: openai/gpt-oss-20b
repomap serve ./my-project --model z-ai/glm-5.3 # or any chat model NVIDIA hosts
repomap serve ./my-project --no-ai # never send anything
Each summary is cached by a hash of the code and the model name, so unchanged code is never sent twice.
Commands
repomap serve PATH [--port 8765] [--no-ai] [--no-browser] [--model NAME]
repomap analyze PATH -o graph.json # just the analysis, as JSON
repomap export PATH -o report.html # one self-contained HTML file; add --no-source to leave code out
An exported report opens offline in any browser, with no server. It includes summaries that are already cached, and the source code unless you pass --no-source. Anyone you send it to can read everything in it.
How call analysis stays honest
Python is dynamic, so a call graph built from source alone is always best-effort. repomap only draws an edge it can justify:
- exact: local functions, imported names (including
__init__re-exports),self.method(),super(),Class(...).method(), with methods looked up through base classes. - inferred: one plausible target, e.g. a parameter annotated with a project class, or a FastAPI
Depends(...). - Everything else (
getattr, callbacks, dictionary dispatch) is left out. A missing edge is better than a wrong one.
Development
python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest
.venv/bin/python scripts/build_demo.py # refresh the frontend demo data after analyzer changes
See CLAUDE.md for the architecture, the graph schema and the project rules.
Metadata
Release files for repomap-viz 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| repomap_viz-0.1.0.tar.gz | 86.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| repomap_viz-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.3 kB
Release files / repomap_viz-0.1.0.tar.gz
| Download URL | repomap_viz-0.1.0.tar.gz |
|---|---|
| Size | 86.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95b712f289265052568d581fc6c83b6ac0d1cc04d8fde3435de94fc6de9bb433
|
|
BLAKE2b-256 checksum How to use checksums |
cd0599cc483a9ccb5d69d93f868177333ce87db8a48dbe3588899c5465d6e103
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / repomap_viz-0.1.0-py3-none-any.whl
| Download URL | repomap_viz-0.1.0-py3-none-any.whl |
|---|---|
| Size | 73.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0befe5580ade81182302ac6ca3d98b2939aae43edde5ec0c5e0783716250fc85
|
|
BLAKE2b-256 checksum How to use checksums |
f070c5fd637e74b72e613b7ad4742dd3a3a04f5eff9d72fc285a60aa344848f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency log