Skip to main content

A library to create & manage Archimate files

Project description

pyArchimate package

License Python Version PyPI codecov test Release

Quality Gate Bugs Security Rating Maintainability Docs

Documentation: readthedocs.org

pyArchimate is a Python library for programmatically reading, writing, and manipulating Open Group ArchiMate enterprise architecture models. It has no GUI — it is purely a file I/O and object model library designed for batch and scripting use.

Core concepts

Object What it represents
Model Top-level container for everything
Element An architectural concept (business process, application, server, capability…)
Relationship A typed link between two elements (Association, Realization, Composition, Flow…)
View A diagram — a named subset of elements/relationships laid out visually
Node The visual box representing an element inside a view
Connection The visual arrow representing a relationship inside a view

Elements span the full ArchiMate 3 layer stack: Strategy, Motivation, Business, Application, Technology, Physical, and Implementation.

Supported formats

Format Read Write
ArchiMate Open Exchange XML yes yes
Archi tool format (.archimate) yes yes
CSV yes

Key operations

  • Read / Write / Merge — load one or more files and save to any supported format
  • Create & modify — add elements, relationships, and views via the API without touching a file
  • Filter — extract subsets of elements, relationships, or views by custom predicates
  • Style — set colours, coordinates, dimensions, and text layout on nodes
  • Validate — check for broken references and invalid connections
  • Auto-Layout — automatically arrange view elements using force-directed or hierarchical algorithms
  • Auto-Format — standardize element sizes, fonts, and alignment per ArchiMate conventions
  • SVG Export — render views as self-contained SVG with ArchiMate symbols and standard colors

Auto-Layout and Auto-Format (BETA)

⚠️ Status: BETA — Core functionality is stable and production-ready for typical use cases. API may evolve based on user feedback.

Quick Start

from pyArchimate.view import load_view, save_view
from pyArchimate.view.layout import apply_layout, apply_format, LayoutConfig

# Load a view
view = load_view("architecture.archimate")

# Apply automatic layout
result = apply_layout(view)

# Or apply formatting only (without repositioning)
result = apply_format(view)

# Export as SVG
svg = view.to_svg(filepath="diagram.svg")

# Save the laid-out view
save_view(view, "laid_out.archimate")

Features

  • Two layout algorithms: Force-directed (general-purpose) and hierarchical (organizational structures)
  • Respect ArchiMate layers: Business → Application → Technology ordering enforced
  • Connection routing: Orthogonal polylines with intelligent label placement
  • SVG export: Self-contained SVG with all 30+ ArchiMate element types and standard colors
  • Undo/rollback: Revert layout changes with undo_layout(view)
  • Configuration: Customize spacing, margins, alignment, element exclusion, and routing style

Performance

View Size Force-Directed Hierarchical
100 elements <200ms <50ms
300 elements <2s <500ms
500 elements <5s <1s

Learn More

Limitations

  • No GUI, no diagram renderer
  • Not designed for interactive or real-time use — batch/scripting oriented

Documentation

  • AI.md — machine-readable reference for AI-assisted tooling and developer onboarding
  • Tutorial — step-by-step guide for new users with runnable code examples

ArchiMate v3.x Compliance

pyArchimate now supports ArchiMate 3.x specification compliance with the following features:

Supported Features

  • BusinessInteraction elements: Full support for creating, importing, and exporting BusinessInteraction elements
  • Influence strength metadata: Complete round-trip preservation of influence relationship strength (both .archimate and OpenGroup formats)
  • Relationship documentation: Full preservation of relationship documentation/description text during import and export

Known Gaps

See Gap Analysis Documentation for detailed analysis of specification alignment and areas for future enhancement (P2/P3).

Metamodel

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

pyarchimate-1.9.0.tar.gz (134.4 kB view details)

Uploaded Source

Built Distribution

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

pyarchimate-1.9.0-py3-none-any.whl (148.9 kB view details)

Uploaded Python 3

File details

Details for the file pyarchimate-1.9.0.tar.gz.

File metadata

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

File hashes

Hashes for pyarchimate-1.9.0.tar.gz
Algorithm Hash digest
SHA256 72b50cd73c2e52abacd342a4ce03b5af6e50eb5b23e2ac4194be4ac45dcad7cc
MD5 6d09e8914005545835e0eb24b9c61fbe
BLAKE2b-256 144ded38f3a25509fe4997153958a7f5764f1bceb66f09089467e7043679fca1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyarchimate-1.9.0.tar.gz:

Publisher: release.yml on pyArchimate/pyArchimate

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

File details

Details for the file pyarchimate-1.9.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pyarchimate-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9816f233634c98920599d8b0fc578005e2b71fd7726be50817d16f1d3d25e500
MD5 ffdbd080505fcb2599a172dda6c87d52
BLAKE2b-256 7d815365facfb526c10920034a2d8ef17ceeb59d17468f8dbdde946356e07e3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyarchimate-1.9.0-py3-none-any.whl:

Publisher: release.yml on pyArchimate/pyArchimate

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