simp-file-builder
Generate native Software Ideas Modeler project files (.simp) from Python.
The .simp format is undocumented and XMI import is a paid feature. This package writes the native format directly, so the result opens with File > Open in the free edition.
Supported diagrams: use case, sequence (loop/opt fragments), class (with packages), activity.
Not supported, schema unconfirmed: ER diagrams, alt fragments, interfaces.
Install
pip install simp-file-builder
Usage
from simp_file_builder import SimProjectFile, UseCaseDiagram, SequenceDiagram, ClassDiagram, ActivityDiagram
proj = SimProjectFile("Shop", "Me")
uc = UseCaseDiagram("Use cases", "Shop")
uc.add_actor("Customer")
uc.add_usecase("Buy")
uc.add_association("Customer", "Buy")
proj.add(uc)
sq = SequenceDiagram("Checkout", actors=uc.actors) # reuse the actor as a lifeline
sq.add_lifeline("Customer")
sq.add_lifeline("Shop")
sq.add_message("Customer", "Shop", "call", "checkout()")
proj.add(sq)
cd = ClassDiagram("Domain")
cd.add_package("shop")
cd.add_class("Order", "shop", attributes=[("id", "int")], operations=[("total", "decimal", [])])
cd.add_class("Item", "shop")
cd.add_association("Order", "Item", label="contains")
proj.add(cd)
ad = ActivityDiagram("Flow")
start = ad.add_initial(100, 20)
step = ad.add_action("Validate", 50, 80)
end = ad.add_final(100, 200)
ad.add_flow(start, step)
ad.add_flow(step, end)
proj.add(ad)
proj.write("shop.simp")
Types for attributes, parameters and return values: "int", "string", "boolean", "decimal", "date", or None.
Disclaimer
This is an independent, unofficial project. It is not affiliated with, endorsed by, or supported by Software Ideas Modeler or its author.
- The
.simpstructure was worked out by inspecting files saved from a legitimately licensed copy of the application, solely so other tools can produce files it opens (interoperability). - No source code, binaries, assets, or documentation from Software Ideas Modeler are included or redistributed. Everything here is original Python code that writes plain XML.
- "Software Ideas Modeler" is a trademark of its respective owner and is used only to identify the file format.
- The software is provided as-is, without warranty, under the MIT License. Use it at your own risk; the format may change in future versions of the application.
Development
pip install -e .
python tests/test_simp_file_builder.py
The schema was worked out by inspecting files saved by SIM v15.21. If you extend it, open the result in SIM before trusting a new element type.
Metadata
Release files for simp-file-builder 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simp_file_builder-0.1.0.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simp_file_builder-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.9 kB
Release files / simp_file_builder-0.1.0.tar.gz
| Download URL | simp_file_builder-0.1.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
70b3a0e74182ab88fbba4e72246beb1193fadf07cbb95f37430aaec4ac183095
|
|
BLAKE2b-256 checksum How to use checksums |
ef08c957095e119ca1855a38e2bb1ed7e229eba74d9e040afb37caa91dda4c1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / simp_file_builder-0.1.0-py3-none-any.whl
| Download URL | simp_file_builder-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
769a531e361277ce0baf355f1911622ea2b66dd33416d68f2049251c5dcdb1e3
|
|
BLAKE2b-256 checksum How to use checksums |
cd8eb75e9447ca3d410e06d4701a7355b8c98b5d5956dea9ed6015df2b076c7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|