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.3.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.3.0
File Size Uploaded Provenance
codeatlas_rs-0.3.0.tar.gz 47.8 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for codeatlas-rs 0.3.0
File
codeatlas_rs-0.3.0-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
codeatlas_rs-0.3.0-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
codeatlas_rs-0.3.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.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
codeatlas_rs-0.3.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
codeatlas_rs-0.3.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.3.0.tar.gz

Download URL codeatlas_rs-0.3.0.tar.gz
Size 47.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5a3928084da02b0ab9fac315649d4d157b8c2ba53be6374aeb89b8756b6b5bfa
BLAKE2b-256 checksum
How to use checksums
e549685cb1867bf0e8f2df787d4400e747c7c1b178d7ca33f5529b7a3b5b9995
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.3.0-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL codeatlas_rs-0.3.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
2e0987a2d6cc745c97a342cf0ddc9221b7ca7f9df9653f441316a4c48d1fe35d
BLAKE2b-256 checksum
How to use checksums
f8ec3b21eaf82502dd006aae296ea6ebcc43ced641ab4fd2f818806bc8bb0143
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.3.0-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL codeatlas_rs-0.3.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
5750cbca38610d882b6b0e8bf39ccfad77230e98eb015ee44625ea52310ce7ea
BLAKE2b-256 checksum
How to use checksums
35a719b4f77b1889ae2457c63fc301bef54178ad2ef35038b6c976c36cda95f3
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.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL codeatlas_rs-0.3.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
38ad431ef027175361883629ee917cbf0efd1825b3e3fd2e41675032b0180685
BLAKE2b-256 checksum
How to use checksums
995b701c4b0567aa7abd609bc7bcbd49b18e30088ba78fc832adcd6cdcc676bd
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.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL codeatlas_rs-0.3.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
b7f83b30882797a99d65a078dfae4063b6aff261598cde22ea27b8ebb89c3d4b
BLAKE2b-256 checksum
How to use checksums
2c83f076345b7107084d72562da87f94c5c8b93cf9d93d8f5d3220b31162038d
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.3.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL codeatlas_rs-0.3.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
086dae5cfebd8ca77532a2cb2289e9bd80543e3d0457614511341d78956b0b1e
BLAKE2b-256 checksum
How to use checksums
fa8fdb72cbf36c8412c20b4a21a713369c2a86d87e39195ba1d338c61d3823de
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.3.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL codeatlas_rs-0.3.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
d722d0b11312e4eefc0088630760bf7eecc26ea71ae732681fcc8f6d0720840f
BLAKE2b-256 checksum
How to use checksums
a4436cb02974a7d370fb2a1d10bee31066ab8eb6abbe3634e99a543de23e7a9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Security for codeatlas-rs 0.3.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