Skip to main content

Pydantic models for the German MaKo (Marktkommunikation) processes and serialization of those models to output formats (YAML, WSD sequence-diagram DSL, BPMN, Markdown).

Project description

makoralle 🪸

Unittests status badge Coverage status badge Linting status badge Black status badge

makoralle provides pydantic models for the German MaKo (Marktkommunikation) processes together with serializers that turn those models into the output formats used downstream:

  • YAML – process and EBD (Entscheidungsbaum-Diagramm) representations
  • WSD – the websequencediagrams DSL for sequence diagrams
  • BPMN – business process model XML
  • Markdown – human-readable process documentation

It is the shared, dependency-light foundation (only pydantic and PyYAML) consumed by the private makorele parser and by the process-documentation webapp.

Installation

pip install makoralle

Usage

The public serialization API is exposed at the package root and resolved lazily (importing makoralle, or a light submodule like makoralle.grouping, does not eagerly pull in the serialization stack):

from makoralle import emit_yaml, emit_wsd, emit_markdown, emit_bpmn
from makoralle.models.process import Process

# build or load a Process model, then serialize it
yaml_text = emit_yaml(process)
wsd_text = emit_wsd(process.sequence_diagrams[0])

The models live under makoralle.models (process, ebd, pid, activity, chunk) and the serializers under makoralle.serialization.

Development

This project uses the Hochfrequenz src-layout Python template with tox. To set up a development environment:

tox -e dev

Run the unit tests, linting, type checks and coverage:

tox -e tests
tox -e linting
tox -e type_check
tox -e coverage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

makoralle-0.0.1.tar.gz (38.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makoralle-0.0.1-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file makoralle-0.0.1.tar.gz.

File metadata

  • Download URL: makoralle-0.0.1.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for makoralle-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5de9660d9795cc540d0f7d18cee2d756c94ca6055a73da3bdce638b2f987a0ac
MD5 245e0a4f9bcd57ce7f826b64be05c963
BLAKE2b-256 d9a5df12fb22b1149f248da59be3867a8243c984b15a94a55caf1c5304585cd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for makoralle-0.0.1.tar.gz:

Publisher: python-publish.yml on Hochfrequenz/makoralle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file makoralle-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: makoralle-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for makoralle-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6933032d205abefa050dfef4011300cde937384818770495827486585840f6b4
MD5 feae5ddf7b6599f37ae57e76244fc5c8
BLAKE2b-256 e41feb8fb54afd66f0f0c0bd92600a1e826ee322f9120e6b03f1ac2a08e4b417

See more details on using hashes here.

Provenance

The following attestation bundles were made for makoralle-0.0.1-py3-none-any.whl:

Publisher: python-publish.yml on Hochfrequenz/makoralle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page