You inherit a 50k-line Python monolith. Senior dev who wrote it left last month. No tests, no docs, no architecture diagram. Where do you even start?
Grep for imports? Parse the AST yourself? Spend two days drawing boxes and arrows in Mermaid?
There's a faster way. Let me show you.
code-atlas-py
(CLI: atlas
) is a deterministic code intelligence tool. It builds a full call graph, dependency graph, and symbol index of any Python project in ~0.2 seconds. It scores every function for risk — complexity, coupling, instability — and surfaces the most dangerous spots before you touch them.
No LLM. No cloud. No tokens. Same result every run.
pip install code-atlas-py
That's it. No config file, no server, no database. It works on any Python project out of the box.
cd /path/to/your/project
atlas scan
You'll see output like:
✓ Scanned 1,247 symbols in 0.19s
Functions: 892 | Classes: 203 | Imports: 152
Top risk: payment/processor.py:process_payment (risk: 8.7)
- complexity: 14 | coupling: 23 | instability: 0.87
The scan found your riskiest function before you opened a single file.
atlas ask "which functions call process_payment?"
process_payment
├─ checkout.create_order (checkout/orders.py:142)
├─ billing.sync_subscriptions (billing/sync.py:67)
└─ webhooks.stripe_handler (webhooks/stripe.py:33)
3 callers, 4 callees (including 2 external API calls)
Risk impact if changed: high (3 downstream modules affected)
atlas html --open
This opens a clickable, filterable call graph in your browser. Each node is colored by risk score. Click any function to see its callers, callees, and complexity breakdown. Filter to show only functions with risk > 7 and instantly see the 5% of your codebase you should review before making any changes.
atlas scan --fail-on-risk 8 --json > atlas-report.json
Fail a PR if it introduces code with risk score ≥ 8. No more merges that silently add coupling. Ship an HTML artifact alongside your test results.
| Tool | What it does | Deterministic? | Local? | Free? |
|---|---|---|---|---|
| pylint/flake8 | Style + lint + simple complexity | Yes | Yes | Yes |
| sourcegraph | Code search with indexing server | Yes | No | Subscription |
| LLM code review | Ask "is this risky?" | No | Varies | Freemium |
| code-atlas-py | ||||
| Call graph + risk scoring + symbol search | Yes | |||
| Yes | ||||
| Free tier |
getattr
-based dispatch).
pip install code-atlas-py
cd your-project
docker run -v $(pwd):/code --rm code-atlas-py atlas scan
atlas scan
Repo: github.com/mete-dotcom/code-atlas
Site: massiron.com/atlas
What's the riskiest function in your codebase right now? Run atlas scan
and find out.