Skip to main content

CodeAtlas

Rust-native architecture maps for codebases. CodeAtlas scans a repository, extracts symbols and relationships with deterministic static analysis (tree-sitter), groups code into components, and documents the architecture as analysis.json, Markdown/Mermaid, HTML (Cytoscape), MDX, or reStructuredText. An optional LLM step names and describes components.

What works today

  • codeatlas full --local <repo> produces .codeatlas/analysis.json + fingerprint.json (schema-compatible output) with deterministic, directory-derived component names.
  • codeatlas-render (or --render md|html|mdx|rst) renders overview + per-component docs, with a manifest that reconciles stale files and refuses to overwrite unowned files.
  • Optional component naming/description via an OpenAI-compatible provider (OpenAI, Ollama, OpenRouter, DeepSeek, LiteLLM, LM Studio). Without a provider, analysis still succeeds with deterministic names.
  • Languages: Python, Rust, Go, and JavaScript/TypeScript (tree-sitter). Discovery recognizes .java/.php/.cs; their parsers land next.

Quick start

pip install codeatlas-rs
codeatlas full --local /path/to/repo
codeatlas full --local /path/to/repo --render md
codeatlas-render /path/to/repo/.codeatlas/analysis.json --format html

Output is written to <repo>/.codeatlas/. Configure an optional provider via OPENAI_API_KEY (+ OPENAI_BASE_URL, AGENT_MODEL); see codeatlas_rs.llm.

Status & roadmap

The deterministic core is implemented end-to-end (discovery → tree-sitter extraction → cross-file resolution → clustering → analysis.json → rendering). See docs/FEATURE_PARITY.md for what is implemented vs. deferred, and docs/IMPLEMENTATION_ROADMAP.md for the milestone plan. Documented limitations: tree-sitter resolution is intentionally simpler than an LSP pipeline (docs/audit/KNOWN_GAPS.md) and clustering is a simplified deterministic directory partition.

Bundle into any repository

codeatlas-bundle versions the architecture map inside a repository: it runs the analysis, renders the docs, and (optionally) commits them so the map evolves with the code. See packages/codeatlas-bundle.

pip install codeatlas-rs codeatlas-bundle
cd my-repo && codeatlas-bundle init && codeatlas-bundle build --commit

Layout

  • crates/core — pure-Rust analysis engine (no Python, no network, no LLM).
  • crates/py — PyO3 bindings (codeatlas_rs._core).
  • python/codeatlas_rs — the Python wrapper (CLI, rendering, optional LLM).
  • packages/codeatlas-bundle — pure-Python package that bundles the docs into other repositories.

Development

# Rust core (no Python needed)
cargo test -p codeatlas-core

# Rust workspace (needs a Python with a shared library, e.g. `export PYO3_PYTHON=$(which python3.12)`)
cargo build --workspace && cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all --check

# Python package
maturin build --release --interpreter python3.12 --out dist
maturin develop --interpreter python3.12
python -m pytest tests

Requires Rust (stable) and Python 3.9+ (3.12 recommended), with maturin for the Python package.

License

MIT. See LICENSE and NOTICE.

Metadata

Release files for codeatlas-rs 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codeatlas-rs 0.2.0
File Size Uploaded Provenance
codeatlas_rs-0.2.0.tar.gz 47.4 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for codeatlas-rs 0.2.0
File
codeatlas_rs-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
codeatlas_rs-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
codeatlas_rs-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
codeatlas_rs-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
codeatlas_rs-0.2.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
codeatlas_rs-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 10.5 MB

Release files / codeatlas_rs-0.2.0.tar.gz

Download URL codeatlas_rs-0.2.0.tar.gz
Size 47.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a16569afab4882a00650399e1bdd3740528602dee0c7372627dd953ef740bda9
BLAKE2b-256 checksum
How to use checksums
072e9fff6312867a5ea1ed7b1b199389630ec8cf4cba31365a29b8bb78d28695
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / codeatlas_rs-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL codeatlas_rs-0.2.0-cp39-abi3-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
37d2c91b7df4ca8034dd0f45fa82d62ed6c1a94d9ebfe8bc920b9bc15afe1c63
BLAKE2b-256 checksum
How to use checksums
b1d0419aed8ddf3d58c5089d401afa88f523f91a07792b0418fbdb48970439a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / codeatlas_rs-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL codeatlas_rs-0.2.0-cp39-abi3-musllinux_1_2_aarch64.whl
Size 1.8 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
f0da748d7bfd8a6d29b663c16e31e2476ddb0e8ec50112f6c1ace3b3513ab9d5
BLAKE2b-256 checksum
How to use checksums
e8975531f2f27ce6f794ee1303e8bdd16aca43beae8915218c358f1a1d910399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / codeatlas_rs-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL codeatlas_rs-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
9821f0bc65fc6099745a47cb417d8ccea4cf209e72e935e874150af37b76b404
BLAKE2b-256 checksum
How to use checksums
7ec0a2589731215ff4056589051d9d1eb7e45f63bd5a4d92a0924a139634da58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / codeatlas_rs-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL codeatlas_rs-0.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.7 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
b64a1b61c23d7c4256f652949f86bb88fb0d9eec8988b3f09bbc5deb85169d05
BLAKE2b-256 checksum
How to use checksums
1828250ddffa6062d8f493b07412e8a32a7636f42d92b2102546774f53163716
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / codeatlas_rs-0.2.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL codeatlas_rs-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
040af369ba63b70628abb6fd1c595e3002143b209f362f5bf67a4143117dae10
BLAKE2b-256 checksum
How to use checksums
bdc18f3d2a9e282ba9e682bce31c7071581fe8448c60222867f37bb689117f9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / codeatlas_rs-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL codeatlas_rs-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8c2921c42808dbd0d8371c9f8b4b0df99e180d6a40cc41fd5af5b12113b07060
BLAKE2b-256 checksum
How to use checksums
4180b9c459fda0ec0b213e10678de8a82ab05f03064bf8a51644b758dffed4e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for codeatlas-rs 0.2.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page