Skip to main content

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

Metadata

Release files for pyArchimate 1.12.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyArchimate 1.12.1
File Size Uploaded
pyarchimate-1.12.1.tar.gz 159.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyArchimate 1.12.1
File Interpreter ABI Platform
pyarchimate-1.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 336.1 kB

Release files / pyarchimate-1.12.1.tar.gz

Download URL pyarchimate-1.12.1.tar.gz
Size 159.9 kB
Tags Source
SHA-256 checksum
How to use checksums
49c36a81e41faef8fc2adfe5b9213bc77c2d957c4855770f6949d5c3a3a54006
BLAKE2b-256 checksum
How to use checksums
de4c62b7dab392402eb3d6db389706e3d5d083ec5c7843e9392df695d0b1e24a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.

Transparency log

Release files / pyarchimate-1.12.1-py3-none-any.whl

Download URL pyarchimate-1.12.1-py3-none-any.whl
Size 176.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ba62f668eb62d77642176ccd162449b2d0a1416eabc9918ebc5a2a2a30186fb
BLAKE2b-256 checksum
How to use checksums
5cf006f737a19b376a87a8f36a6b1667fa374b2d5a27f855998b4383754e91bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.

Transparency log

Release history Release notifications | RSS feed

1.13.1

2 release files

1.13.0

2 release files

1.12.4

2 release files

1.12.3

2 release files

1.12.2

2 release files

This release

1.12.1 This release

2 release files

1.12.0

2 release files

1.11.3

2 release files

1.11.2

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.70

2 release files

0.9.65

2 release files

0.9.64

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page