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.2.tar.gz (362.2 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.2-py3-none-any.whl (365.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kg_archmap-0.7.2.tar.gz
  • Upload date:
  • Size: 362.2 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.2.tar.gz
Algorithm Hash digest
SHA256 504a3c86889128d427b4dc0e67b5a7548a337674deb4e88f9640d0d47c7f9917
MD5 6e3f6db9bb5028642b5526a687ab0dea
BLAKE2b-256 d56089acb802ea7ec8e89a4673297f7f40228b9c18db94f08b9604665757a69d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: kg_archmap-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 365.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 153de6acb45c4b7e70a72714c0fcb2e79cced669da2adfc67048a1e3b195f38d
MD5 53d6d695cb50ec86ecb78121ce60d0b5
BLAKE2b-256 08c0ed1592b2fd86e0ee38960965dfc95ba7e9aa271a1a873ae2fdb9b8753c0a

See more details on using hashes here.

Provenance

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