Skip to main content

A Python tool for enforcing and visualizing software architecture.

Project description

Pacta

Architecture Insights, Governance & Versioned Design

PyPIDocsIssues

PyPI - Version PyPI - Python Version GitHub License


Warning: Experimental. Expect breaking changes until release 0.1.0

Pacta turns software architecture into versioned, queryable data — so teams can see, compare, and reason about architectural change over time, not just block violations.

pip install pacta

Pacta Demo

Supported languages:

  • Python
  • Java (coming soon)
  • Go (coming soon)
  • C# (coming soon)

Why?

Codebases rot. Architecture degrades through small changes no one tracks. Pacta turns architecture into something measurable, reviewable, and enforceable — catching drift early, not months later.

What it does

  • Architecture snapshots — version your architecture like code
  • History & trends — track how dependencies, coupling, and violations evolve over time
  • Diffs — compare architectural states like Git commits
  • Metrics & insights — nodes, edges, layers, instability, drift
  • Rules & governance — express architectural intent and enforce it incrementally
  • Baseline mode — govern change without being blocked by legacy debt

Think of Pacta like Git for architecture

Git Pacta
git commit pacta scan — capture an architectural snapshot
git log pacta history — timeline and trends of architectural states
git diff pacta diff — compare two snapshots
branch protection rules.pacta.yml — governance that prevents drift

See the Getting Started guide for a full walkthrough.

Docs

Roadmap (short)

  • Open-source CLI and analysis engine
  • Content-addressed snapshots with history tracking
  • Trend analysis with chart export
  • Architecture visualization (Mermaid, D2)
  • Health metrics (drift score, instability)
  • Future: Architecture Intelligence Layer:
    • Cross-repository insights
    • Historical trend analysis
    • Team-level governance and reporting

License

Apache-2.0. 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

pacta-0.0.4.tar.gz (725.0 kB view details)

Uploaded Source

Built Distribution

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

pacta-0.0.4-py3-none-any.whl (97.1 kB view details)

Uploaded Python 3

File details

Details for the file pacta-0.0.4.tar.gz.

File metadata

  • Download URL: pacta-0.0.4.tar.gz
  • Upload date:
  • Size: 725.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pacta-0.0.4.tar.gz
Algorithm Hash digest
SHA256 4ebcf384a996aa020a8c58366a04bba19288ff93feb4b0af82cd24031e548d36
MD5 39b189a0188fe105feec1f52220a95b3
BLAKE2b-256 a86687645023c65aad6ed88a713b232cdcb57bd7ea0a36e28e87827d78660b72

See more details on using hashes here.

Provenance

The following attestation bundles were made for pacta-0.0.4.tar.gz:

Publisher: publish.yaml on akhundMurad/pacta

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

File details

Details for the file pacta-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pacta-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 97.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pacta-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 600c6f3925ef6d5ec6640cae8d32c1df43fa64b1ecf3e1cf2682df95d0828325
MD5 06df1b44bd711bed0a1034a7d5a4bb1d
BLAKE2b-256 b8b3232b9a0522ca8cd36aec1b2a8ab5cd555c1e42417b5f29f9cc582876b36f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pacta-0.0.4-py3-none-any.whl:

Publisher: publish.yaml on akhundMurad/pacta

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