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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| codeatlas_rs-0.2.0.tar.gz | 47.4 kB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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.