Standalone Ruby gem for parsing Sparx Enterprise Architect data files
(QEA SQLite database and Sparx XMI). Pure parse, optional bridge to
lutaml-uml for cross-vendor UML output and SPA generation.
gem install ea
For SPA generation (optional):
gem install ea lutaml-uml
Or in your Gemfile:
source "https://rubygems.org" gem "ea", "~> 0.2" gem "lutaml-uml", "~> 0.5" # optional: SPA + SVG diagram rendering
require"ea"db=Ea.parse("model.qea")#=> Ea::Qea::Databaseputs"#{db.packages.size} packages, #{db.objects.size} objects"ea spa model.qea --output browser.htmlProduces a single-file Vue IIFE HTML (~300KB for a typical model) with package hierarchy, class details, and diagram navigation.
The ea gem has two layers:
| Returns |
| Converts |
| Low-level QEA loader → |
| Low-level XMI loader → |
| Returns |
|
|
|
|
| Generate single-page app from QEA/XMI/LUR |
| List model elements (auto-detects QEA or XMI) |
| List diagrams in a QEA/XMI file |
| Render a diagram to SVG |
| Validate EA model |
| Show collection counts |
| Parse to internal model representation |
| Convert QEA → Sparx XMI |
| Show gem version |
Sparx only: QEA format and Sparx-flavored XMI only. Does not parse MagicDraw or Papyrus XMI.
XMI parser: Parses
<xmi:Extension>blocks for Sparx-specific diagram metadata. Generic OMG XMI is handled by thexmigem.
git clone https://github.com/lutaml/ea cd ea bundle install bundle exec rspec # run specs (2036 examples) bundle exec ea help # see CLI commands