Skip to main content

Static architecture analysis and visualization for software projects.

Project description

ArchMAP

CI Python License: MIT Version

Static architecture analysis for software repositories.

ArchMAP scans source code, builds dependency graphs, detects cycles, reports architectural risks, and serves an interactive web UI.

Supported languages:

  • Python
  • JavaScript
  • TypeScript
  • Rust
  • Go
  • PHP
  • Java
  • C#
  • C/C++

Status

  • Current release: v0.7.0
  • Primary runtime: Python >=3.11
  • Interactive UI: built-in static UI + Node dev server option
  • Distribution: PyPI package + Windows executable

Installation

From PyPI

pip install archmap

For local development

git clone https://github.com/Kaua-KGzin/ArchMAP
cd ArchMAP
python -m pip install -e ".[dev]"

Quick demo

Run the bundled sample project:

archmap analyze examples/sample-project --format both --include-cytoscape
archmap serve examples/sample-project

Useful API endpoints while serve is running:

  • GET /api/graph
  • GET /api/health
  • GET /api/project
  • POST /api/reanalyze

CLI overview

Analyze

archmap analyze <path> --format json|mermaid|both

Quality gates for CI:

archmap analyze . --fail-on-risks --top 10

Use analyze for the full report, quality gates, Mermaid, JSON, and Cytoscape exports.

Explain

archmap explain <path>

Prints a simple architecture summary for tired humans:

auth -> users, payments
payments -> gateway

Risk

archmap risk <file> [path]

Shows blast radius, incoming/outgoing dependencies, and the file risk score.

Improve

archmap improve [path] --out-script .codeatlas/refactor.ps1

Suggests a cleaner project structure, such as /auth, /payments, /users, and can generate a helper refactor script.

Serve

archmap serve <path> --host 0.0.0.0 --port 3000

Diff

archmap diff HEAD~5 HEAD
archmap history --repo . --limit 12

Git workflow (professional flow)

Branch promotion model:

feat/* -> dev -> release/* -> main

Also supported:

  • feature/* (legacy alias)
  • fix/*
  • docs/*

Rules:

  1. No direct feature merge into main.
  2. release/* accepts only stabilization changes.
  3. CI must pass before merge.
  4. Update docs/changelog when behavior changes.

See:

Repository layout

ArchMAP/
+-- .github/                  # CI/release workflows and PR template
+-- docs/                     # MkDocs documentation
+-- examples/                 # sample project for demos
+-- logs/                     # runtime/archive log organization
+-- scripts/                  # automation helpers (smoke, benchmark, exe build)
+-- src/archmap/              # Python source code
+-- tests/                    # automated test suite
+-- web-ui/                   # Node dev server + static assets
+-- archmap.spec              # PyInstaller spec
+-- NOTICE.md                 # original distribution notice
`-- README.md

Logs and artifacts

  • Runtime logs: logs/runtime/ (git-ignored)
  • Historical logs: logs/archive/
  • Build artifacts: generated locally (build/, dist/) and should not be committed as source changes

Windows executable

Build locally:

powershell -ExecutionPolicy Bypass -File scripts/build-exe.ps1 -Clean

This script:

  • Builds dist/archmap.exe
  • Creates a versioned binary copy
  • Writes dist/archmap-build-info.json with SHA256
  • Runs executable smoke test (archmap.exe version)

Node development server utilities

For frontend/API exploration with dynamic Python analysis:

npm run serve:web -- --path .

Original distributor rights

Original distributor and primary author: Kaua Gabriel / Kauã Gabriel (Kaua-KGzin).

Redistributions must preserve:

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kg_archmap-0.7.1.tar.gz (358.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kg_archmap-0.7.1-py3-none-any.whl (358.9 kB view details)

Uploaded Python 3

File details

Details for the file kg_archmap-0.7.1.tar.gz.

File metadata

  • Download URL: kg_archmap-0.7.1.tar.gz
  • Upload date:
  • Size: 358.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kg_archmap-0.7.1.tar.gz
Algorithm Hash digest
SHA256 e30c305353cc8741518dc061b64ef90d3ee67d8f95c018972ac1e9920ed86dee
MD5 c475b693dbedd4fd1d3a0187cd8cb79d
BLAKE2b-256 2dbb6916f5f93bfc44b189351f452930491cf90fab05e092a2087e4e582385f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for kg_archmap-0.7.1.tar.gz:

Publisher: publish.yml on Kaua-KGzin/ArchMAP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kg_archmap-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: kg_archmap-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 358.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kg_archmap-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fac5392dfe9a01f824d01d1cdd0a111a725011a9d7cd7de305e8dfb3fea9bd5e
MD5 466ead5f7dc0db9eaa6409d1df63c3c7
BLAKE2b-256 55a864022b758d99fb58885f3c5a34dcd931d5555fb400da06153b4a6fa2cdc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for kg_archmap-0.7.1-py3-none-any.whl:

Publisher: publish.yml on Kaua-KGzin/ArchMAP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page