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.13.2

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.13.2
File Size Uploaded
pyarchimate-1.13.2.tar.gz 165.0 kB Details

Built distribution (wheel)

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

Total release size: 346.4 kB

Release files / pyarchimate-1.13.2.tar.gz

Download URL pyarchimate-1.13.2.tar.gz
Size 165.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2872cc546fe9d5474efc09230f7d6f96b1ddf457727c92cfd523c0c3dd8ba19b
BLAKE2b-256 checksum
How to use checksums
546261ede9e42ab4a230e1bff31b663f6cb04d22c1e81a406f7195a5e11f0d3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Oct 4, 2026.

Transparency log

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

Download URL pyarchimate-1.13.2-py3-none-any.whl
Size 181.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9745a77e36a7be5c370433a97521c289537d46476a5b1cf2950b7a0cb11931d0
BLAKE2b-256 checksum
How to use checksums
89eb2add3e9df84eee9e8a918d5802ac2c072efe8cd67b24e2feb7277a3ae28c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.13.2 This release

2 release files

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

1.12.1

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