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.1.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.1-py3-none-any.whl (148.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyarchimate-1.9.1.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.1.tar.gz
Algorithm Hash digest
SHA256 8f9fc3b9cd5ada62206e792129721c006c41d9c0e9dd22edabcbab77173c1a1d
MD5 7ea346bd5a5a649513f7acf1a1ff43f1
BLAKE2b-256 b4f7eba422d0474a94a54d1ebfea3b5500a12d2866b769db514ab21462125f9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyarchimate-1.9.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: pyarchimate-1.9.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8807669774ace968b1e76143a3e8975952e2abe7081fb9709b12712756e104f1
MD5 b6fd21e4d9b5ce7ac262f09691253b9f
BLAKE2b-256 b35e0253a21b58f9b88fe6151755314176794891a9554e7a4712907359ea6f52

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyarchimate-1.9.1-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