# X-Ray Your Python Codebase in 0.2 Seconds — Without an LLM

> Source: <https://dev.to/massiron/x-ray-your-python-codebase-in-02-seconds-without-an-llm-1hi0>
> Published: 2026-06-13 08:01:29+00:00

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
# or just:
atlas scan
```

Repo: [github.com/mete-dotcom/code-atlas](https://github.com/mete-dotcom/code-atlas)

Site: [massiron.com/atlas](https://massiron.com/atlas)

What's the riskiest function in your codebase right now? Run `atlas scan`

and find out.
