UML representation and analysis system - translation service
Project description
About
The aim of UMLARS Translator project is to enable simple interaction with UML diagrams using Python code. It allows manual translation between various XMI or JSON formats of UML model representation and modification using Python methods.
Reads XMI files data using built-in xml package and builds from them internal OOP representation of MOF-based objects. Currently supports Enterprise Architect XMI 2.1, Eclipse Papyrus XMI 2.1 and StarUML MDJ. Compliant with OMG specification.
The main motivation behind this project is to provide a unification framework between various incosistent formats implemented by MDE tools vendors. It offers a convinient way to modify UML Diagrams using scripts written in high-level programming languages rather than manually interact with them using graphical editors.
Requirements
Python 3.10+
Usage
- Install: pip install umlars_translator
- Run: python -m umlars_translator <name of local files to translate>
Dev Usage
- make setup: installs all dependencies
- make test: runs pytest tests
- make tox-test: runs tox tests
- make docs: serves documentation at localhost
- make docs-build: builds docs
- make export: exports dependencies to requirements.txt
- make publish: - publishes the package to PyPI
- make publish-test: - publishes the package to Test PyPI
- make clean: - cleans working directory
Informations
Published as Python package to test PyPi. Documented using mkdocs. Tested on multiple Python versions using tox.
Run from clone
- Install poetry (e.g. run pip install -r requirements.txt)
- Run make setup
- Run poetry run python3 -m umlars_translator <name of local files to translate>
Deployment as microservice
Setup:
- Install docker
To start:
- Run docker compose build
- Run docker compose up
To restart:
- Run docker compose down --volumes
- Run docker compose up
Running tests
- Run make tox-test
License
This project is licensed under the terms of the MIT license.
Troubleshooting
- Failed make setup with PEP517 build of a dependency failed:
- pyenv install 3.11.9 # or higher
- pyenv local 3.11.9
- poetry env use 3.11
- poetry lock --no-update
- make setup
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file umlars_translator-0.0.6.tar.gz.
File metadata
- Download URL: umlars_translator-0.0.6.tar.gz
- Upload date:
- Size: 65.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/24.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bc71a4f5148675c161f9c2a0f6e920b5c47593780f4d4611de83129c9ba0464
|
|
| MD5 |
a0b58dfe25f50aecdee4abd58c8b9838
|
|
| BLAKE2b-256 |
e1e9165cb8a4cff13f881fe19f18cbfb5008c5cb9a2db2ef3343feca54d151de
|
File details
Details for the file umlars_translator-0.0.6-py3-none-any.whl.
File metadata
- Download URL: umlars_translator-0.0.6-py3-none-any.whl
- Upload date:
- Size: 107.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/24.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdff33bbdc30719be14a8e47ebfa452210402812a1d893bd9923c50bc52208ee
|
|
| MD5 |
ce84ec940923a05281caa63dbc98105b
|
|
| BLAKE2b-256 |
1a1565c65194dddba6cf644f2ccb91ccbe0fcdc5045db05a4f3ca2d161701022
|