Utilities

The besser.utilities package hosts cross-cutting helpers used by the SDK, generators, and the web modeling editor backend. The most commonly used utilities are listed below.

General Utilities

  • besser.utilities.utils provides shared helpers such as sort_by_timestamp and the ModelSerializer class.

  • API reference: Model serializer API.

Model Building Helpers

These utilities help build BUML models from external sources:

For the low-level API documentation, see:

Web Modeling Editor Backend Helpers

Backend utilities for the web modeling editor (JSON converters, validators, and generator adapters) live under besser/utilities/web_modeling_editor/backend. Refer to Web Editor Backend API for the full API reference, environment variables, and architecture overview. See Contributing and End-to-End: New Diagram Type + DSL when extending the editor.

Debug Helpers

To generate a web app directly from a Web Modeling Editor JSON export, use the debug CLI in the backend utilities:

python -m besser.utilities.web_modeling_editor.backend.tools.generate_web_app_from_json path/to/export.json

The command expects both a ClassDiagram and GUINoCodeDiagram in the exported project. Use --no-agent if you want to skip processing an AgentDiagram when present.