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.

Separation of concerns

Part of the Hochfrequenz MaKo tooling — four repositories, one responsibility each:

Dependencies flow one way: makorelemakoralle; the dataset is produced by the tooling and consumed by the web app at a pinned tag. makoralle imports neither the parser nor the app.

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.2.tar.gz (39.9 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.2-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: makoralle-0.0.2.tar.gz
  • Upload date:
  • Size: 39.9 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.2.tar.gz
Algorithm Hash digest
SHA256 5f618356b892739c76f9515baca93ba66068cdf0635417806baf376ca2778fc1
MD5 3ee7264a2a512673905e23c6e152320b
BLAKE2b-256 111f8250a0c3913cd5cd87741e89774687305f7cab2bea2ad0f34008512da695

See more details on using hashes here.

Provenance

The following attestation bundles were made for makoralle-0.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: makoralle-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 40.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2cfbededd7baea8a8a1e2dbce886138f30336bd6833bae2f285fdd7d49679ca4
MD5 dc4c18a5f3a1b457871aa2e3fa21705f
BLAKE2b-256 c73ca697399b6b0f3ab391445d5130b1f507fe0ac059e62f59de97f81417d40b

See more details on using hashes here.

Provenance

The following attestation bundles were made for makoralle-0.0.2-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