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.0.tar.gz (235.5 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.0-py3-none-any.whl (112.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kg_archmap-0.7.0.tar.gz
  • Upload date:
  • Size: 235.5 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.0.tar.gz
Algorithm Hash digest
SHA256 3cc3e8841e67277019f544ef5c9429bf6d04bda42383c2d0279e24345658e85b
MD5 f9844a180627305adcf315d5c424c7e3
BLAKE2b-256 9a2dc1a8fed5899a64d98f0533f564e1460cbbc6375ce2fd01037a4caa33e950

See more details on using hashes here.

Provenance

The following attestation bundles were made for kg_archmap-0.7.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: kg_archmap-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 112.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4633379bbb7378acb8acda148ecb2171a5b3a5be4b735fe83da8442311a4b2a5
MD5 b1788c817f221c64bcda2d5d22c5b0e8
BLAKE2b-256 befac5a60b94bed8e2aa93fc9d80e5bc50af3c52467c8eb7e75d85e786cca5ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for kg_archmap-0.7.0-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