bpmn-io 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bpmn_io-0.1.0/.gitignore +24 -0
- bpmn_io-0.1.0/CHANGELOG.md +22 -0
- bpmn_io-0.1.0/LICENSE +23 -0
- bpmn_io-0.1.0/PKG-INFO +142 -0
- bpmn_io-0.1.0/README.md +112 -0
- bpmn_io-0.1.0/THIRD_PARTY_NOTICES.md +50 -0
- bpmn_io-0.1.0/UPSTREAM.lock +453 -0
- bpmn_io-0.1.0/UPSTREAM.toml +101 -0
- bpmn_io-0.1.0/pyproject.toml +100 -0
- bpmn_io-0.1.0/scripts/check_wheel.py +45 -0
- bpmn_io-0.1.0/scripts/gen_stubs.py +260 -0
- bpmn_io-0.1.0/scripts/port_coverage.py +197 -0
- bpmn_io-0.1.0/scripts/sync_upstream.py +182 -0
- bpmn_io-0.1.0/scripts/twine-check.txt +457 -0
- bpmn_io-0.1.0/src/bpmn_io/__init__.py +41 -0
- bpmn_io-0.1.0/src/bpmn_io/_js.py +334 -0
- bpmn_io-0.1.0/src/bpmn_io/_min_dash.py +520 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/__init__.py +11 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/auto_layout.py +14 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/di_factory.py +76 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/di_util.py +55 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/element_utils.py +43 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/errors.py +21 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/grid.py +280 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/__init__.py +23 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/attacher_handler.py +208 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/element_handler.py +43 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/incoming_handler.py +32 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/outgoing_handler.py +126 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/layout_util.py +434 -0
- bpmn_io-0.1.0/src/bpmn_io/auto_layout/layouter.py +419 -0
- bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/__init__.py +13 -0
- bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/bpmn_moddle.py +68 -0
- bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/simple.py +44 -0
- bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/types.py +20 -0
- bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/types.pyi +2650 -0
- bpmn_io-0.1.0/src/bpmn_io/check.py +208 -0
- bpmn_io-0.1.0/src/bpmn_io/cli.py +201 -0
- bpmn_io-0.1.0/src/bpmn_io/descriptors.py +33 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/__init__.py +10 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/base.py +180 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/descriptor_builder.py +352 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/factory.py +74 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/moddle.py +132 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/ns.py +40 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/properties.py +139 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/registry.py +219 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle/types.py +67 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle_xml/__init__.py +52 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle_xml/common.py +49 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle_xml/read.py +838 -0
- bpmn_io-0.1.0/src/bpmn_io/moddle_xml/write.py +1044 -0
- bpmn_io-0.1.0/src/bpmn_io/py.typed +0 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/__init__.py +1 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/bpmn.json +2957 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/bpmndi.json +193 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/dc.json +99 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/di.json +238 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/bpmn-io/bioc.json +41 -0
- bpmn_io-0.1.0/src/bpmn_io/resources/color/bpmn-in-color.json +47 -0
- bpmn_io-0.1.0/src/bpmn_io/saxen/__init__.py +6 -0
- bpmn_io-0.1.0/src/bpmn_io/saxen/decode.py +47 -0
- bpmn_io-0.1.0/src/bpmn_io/saxen/parser.py +911 -0
- bpmn_io-0.1.0/src/bpmn_io/upstream.py +16 -0
- bpmn_io-0.1.0/tests/_matchers.py +117 -0
- bpmn_io-0.1.0/tests/auto_layout/__init__.py +0 -0
- bpmn_io-0.1.0/tests/auto_layout/test_layout_snapshot.py +233 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/__init__.py +0 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/extension/__init__.py +0 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/extension/test_expr.py +81 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/integration/__init__.py +0 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/integration/test_camunda.py +414 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/integration/test_misc.py +78 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/test_bpmn_moddle.py +239 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/test_check.py +120 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/xml/__init__.py +0 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_edit.py +215 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_read.py +938 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_roundtrip.py +498 -0
- bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_write.py +783 -0
- bpmn_io-0.1.0/tests/conftest.py +23 -0
- bpmn_io-0.1.0/tests/min_dash/test_array.py +25 -0
- bpmn_io-0.1.0/tests/min_dash/test_collection.py +151 -0
- bpmn_io-0.1.0/tests/min_dash/test_fn.py +79 -0
- bpmn_io-0.1.0/tests/min_dash/test_lang.py +49 -0
- bpmn_io-0.1.0/tests/min_dash/test_object.py +198 -0
- bpmn_io-0.1.0/tests/min_dash/test_packaging.py +82 -0
- bpmn_io-0.1.0/tests/moddle/test_dunder.py +82 -0
- bpmn_io-0.1.0/tests/moddle/test_extension.py +186 -0
- bpmn_io-0.1.0/tests/moddle/test_meta.py +62 -0
- bpmn_io-0.1.0/tests/moddle/test_moddle.py +468 -0
- bpmn_io-0.1.0/tests/moddle/test_ns.py +46 -0
- bpmn_io-0.1.0/tests/moddle/test_properties.py +506 -0
- bpmn_io-0.1.0/tests/moddle/test_schema.py +133 -0
- bpmn_io-0.1.0/tests/moddle/test_types.py +98 -0
- bpmn_io-0.1.0/tests/moddle_xml/test_performance.py +138 -0
- bpmn_io-0.1.0/tests/moddle_xml/test_reader.py +2144 -0
- bpmn_io-0.1.0/tests/moddle_xml/test_roundtrip.py +306 -0
- bpmn_io-0.1.0/tests/moddle_xml/test_roundtrip_properties.py +76 -0
- bpmn_io-0.1.0/tests/moddle_xml/test_roundtrip_uml.py +67 -0
- bpmn_io-0.1.0/tests/moddle_xml/test_writer.py +1563 -0
- bpmn_io-0.1.0/tests/oracle/README.md +6 -0
- bpmn_io-0.1.0/tests/oracle/_bridge.py +76 -0
- bpmn_io-0.1.0/tests/oracle/conftest.py +20 -0
- bpmn_io-0.1.0/tests/oracle/dump.mjs +135 -0
- bpmn_io-0.1.0/tests/oracle/ledger-hooks.mjs +56 -0
- bpmn_io-0.1.0/tests/oracle/ledger.mjs +150 -0
- bpmn_io-0.1.0/tests/oracle/package-lock.json +92 -0
- bpmn_io-0.1.0/tests/oracle/package.json +15 -0
- bpmn_io-0.1.0/tests/oracle/run.mjs +184 -0
- bpmn_io-0.1.0/tests/oracle/stubs/absurd.mjs +39 -0
- bpmn_io-0.1.0/tests/oracle/stubs/chai.mjs +11 -0
- bpmn_io-0.1.0/tests/oracle/stubs/fast-glob.mjs +78 -0
- bpmn_io-0.1.0/tests/oracle/stubs/misc.mjs +6 -0
- bpmn_io-0.1.0/tests/oracle/test_auto_layout.py +52 -0
- bpmn_io-0.1.0/tests/oracle/test_bpmn_moddle_serialize.py +60 -0
- bpmn_io-0.1.0/tests/oracle/test_bridge.py +50 -0
- bpmn_io-0.1.0/tests/oracle/test_dump.py +99 -0
- bpmn_io-0.1.0/tests/oracle/test_min_dash.py +204 -0
- bpmn_io-0.1.0/tests/oracle/test_moddle_dump.py +77 -0
- bpmn_io-0.1.0/tests/oracle/test_moddle_xml_dump.py +129 -0
- bpmn_io-0.1.0/tests/oracle/test_moddle_xml_serialize.py +69 -0
- bpmn_io-0.1.0/tests/oracle/test_saxen.py +142 -0
- bpmn_io-0.1.0/tests/saxen/test_decode.py +90 -0
- bpmn_io-0.1.0/tests/saxen/test_elements.py +1965 -0
- bpmn_io-0.1.0/tests/saxen/test_errors.py +100 -0
- bpmn_io-0.1.0/tests/saxen/test_modes.py +105 -0
- bpmn_io-0.1.0/tests/saxen/test_parser.py +21 -0
- bpmn_io-0.1.0/tests/saxen/test_security.py +63 -0
- bpmn_io-0.1.0/tests/saxen/test_stream.py +475 -0
- bpmn_io-0.1.0/tests/test_cli.py +205 -0
- bpmn_io-0.1.0/tests/test_descriptors.py +31 -0
- bpmn_io-0.1.0/tests/test_distro.py +65 -0
- bpmn_io-0.1.0/tests/test_fixtures.py +12 -0
- bpmn_io-0.1.0/tests/test_js.py +221 -0
- bpmn_io-0.1.0/tests/test_matchers.py +71 -0
- bpmn_io-0.1.0/tests/test_oracle_env.py +35 -0
- bpmn_io-0.1.0/tests/typing/test_assert_type.py +142 -0
- bpmn_io-0.1.0/tests/typing/test_stubs.py +103 -0
- bpmn_io-0.1.0/tests/upstream/LEDGER.json +876 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/Grid.js +245 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/Layouter.js +329 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/di/DiFactory.js +56 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/di/DiUtil.js +46 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/attachersHandler.js +123 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/elementHandler.js +27 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/incomingHandler.js +16 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/index.js +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/outgoingHandler.js +106 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/index.js +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/utils/elementUtils.js +28 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/utils/layoutUtil.js +307 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/.eslintrc +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/LayoutSpec.js +128 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/ad-hoc-sub-process.bpmn +19 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.back-loop.bpmn +151 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.forward-modeling.bpmn +67 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.multiple.bpmn +78 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.self-loop.bpmn +44 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.simple.bpmn +56 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/collaboration-message-flows.bpmn +103 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/data-object-and-store-reference.bpmn +84 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/event-sub-process.bpmn +72 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/example.bpmn +303 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.01-hour.bpmn +130 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.03-hour.bpmn +119 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.04-hour.bpmn +152 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.06-hour.bpmn +245 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.09-hour.bpmn +258 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.self-loop.bpmn +51 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.future-incoming.bpmn +107 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.multiple-complex.bpmn +206 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.multiple-with-tasks.bpmn +137 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.multiple.bpmn +122 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.parallel.bpmn +157 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/process.independent-flows.bpmn +68 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/process.joining-flows.bpmn +52 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.disconnected-loop-boundary.bpmn +59 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.disconnected-loop.bpmn +39 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.empty-definitions.bpmn +3 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.empty-process.bpmn +7 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.gateway-with-loop-back.bpmn +76 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.happy-path.bpmn +71 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.implicit-start.bpmn +65 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-100.bpmn +222 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-131.bpmn +272 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-32.bpmn +215 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-79-1.bpmn +57 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-79-2.bpmn +57 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-79-3.bpmn +57 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.link-events.bpmn +90 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.multiple-event-starts.bpmn +99 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.multiple-start-events.bpmn +188 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.multiple-task-gateways-columns.bpmn +198 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.no-outgoing.bpmn +68 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.simple.bpmn +61 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/sub-process.bpmn +159 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/sub-process.empty.bpmn +50 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/sub-process.nested.bpmn +96 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/text-annotation.bpmn +47 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/transaction.bpmn +19 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/ad-hoc-sub-process.bpmn +46 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.back-loop.bpmn +148 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.forward-modeling.bpmn +65 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.multiple.bpmn +75 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.self-loop.bpmn +43 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.simple.bpmn +56 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/collaboration-message-flows.bpmn +69 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/data-object-and-store-reference.bpmn +75 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/event-sub-process.bpmn +72 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/example.bpmn +282 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.01-hour.bpmn +117 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.03-hour.bpmn +121 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.04-hour.bpmn +152 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.06-hour.bpmn +248 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.09-hour.bpmn +258 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.self-loop.bpmn +54 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.future-incoming.bpmn +107 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.multiple-complex.bpmn +206 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.multiple-with-tasks.bpmn +137 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.multiple.bpmn +121 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.parallel.bpmn +137 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/process.independent-flows.bpmn +68 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/process.joining-flows.bpmn +52 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.disconnected-loop-boundary.bpmn +60 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.disconnected-loop.bpmn +39 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.empty-definitions.bpmn +2 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.empty-process.bpmn +7 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.gateway-with-loop-back.bpmn +71 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.happy-path.bpmn +71 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.implicit-start.bpmn +65 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-100.bpmn +222 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-131.bpmn +280 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-32.bpmn +209 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-79-1.bpmn +57 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-79-2.bpmn +57 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-79-3.bpmn +57 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.link-events.bpmn +90 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.multiple-event-starts.bpmn +99 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.multiple-start-events.bpmn +175 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.multiple-task-gateways-columns.bpmn +197 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.no-outgoing.bpmn +68 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.simple.bpmn +55 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/sub-process.bpmn +156 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/sub-process.empty.bpmn +50 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/sub-process.nested.bpmn +96 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/text-annotation.bpmn +40 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/transaction.bpmn +46 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/template.html +780 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/lib/bpmn-moddle.js +104 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/lib/index.js +3 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/lib/simple.js +27 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/BPMN20.xsd +37 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/BPMNDI.xsd +100 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/DC.xsd +29 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/DI.xsd +100 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/Semantic.xsd +1562 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/expect.js +11 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/activity-children.bpmn +23 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/ad-hoc.bpmn +35 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/association.part.bpmn +3 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/attrs.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/bpmn-in-color.bpmn +32 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/callActivity-calledElement.part.bpmn +7 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/catch-event-dataOutputAssociations.part.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/category.bpmn +28 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/choreography-task.bpmn +24 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/compensate-event-definition.part.bpmn +1 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/complex.bpmn +3680 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/conversation-children.bpmn +23 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/data-input-association.assignment.bpmn +71 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/data-object-reference.bpmn +17 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/definitions-children.bpmn +13 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnDiagram-extension.part.bpmn +17 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnDiagram.part.bpmn +12 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnEdge-waypoint.part.bpmn +4 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnEdge.part.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnShape-isMarkerVisible.part.bpmn +3 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnShape.part.bpmn +4 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di-extension.bpmn +26 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/documentation-extension-elements.bpmn +15 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/documentation.bpmn +11 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/empty-definitions-default-ns.bpmn +4 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/empty-definitions.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/bad-encoding.bpmn +4 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/binary.png +0 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/categoryValue.bpmn +27 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/di-no-bpmn-element.bpmn +13 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/duplicate-ids.bpmn +8 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/extension-definition-missing.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/invalid-attributes.bpmn +4 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/no-xml.txt +1 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/not-bpmn.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/undeclared-ns-child.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/unrecognized-child.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/xmlns-redeclaration.bpmn +2 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/escalation-error.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/event-definition-ref.bpmn +11 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/event-references.part.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/example-colors.bpmn +40 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/expression-extension.part.bpmn +11 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/expression-plain.bpmn +40 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-list.part.bpmn +9 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-map.part.bpmn +12 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-mixed.part.bpmn +11 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-plain.part.bpmn +3 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-script.part.bpmn +7 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput.bpmn +22 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/drools.part.bpmn +9 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension-attributes.bpmn +20 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension-elements.bpmn +9 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/i18n.bpmn +47 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/inputOutputSpecification-children.bpmn +19 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/interface-implementationRef.part.bpmn +2 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/itemDefinition-structureRef.part.bpmn +2 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/lane-childLaneSets.part.bpmn +8 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/lane-children.bpmn +45 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/link-event-definition-target.bpmn +25 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/local-ns-no-di.bpmn +16 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/multiInstanceLoopCharacteristics-completionCondition.part.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/multiInstanceLoopCharacteristics.bpmn +181 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/namespace-prefix-collision.bpmn +18 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/namespace-redefinition.bpmn +10 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/nested-default-namespace-prefix.bpmn +13 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/nested-no-namespace-prefix.bpmn +13 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-implementationRef.part.bpmn +2 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-messageRef.bpmn +12 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-ref-as-attribute.bpmn +27 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-ref-message-event-definition.bpmn +14 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/participant-interfaceRef.bpmn +20 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/participantMultiplicity.part.bpmn +3 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/potentialOwner.bpmn +11 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/process-children.bpmn +26 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/redundant-ns-declaration.bpmn +6 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/scriptTask-script.part.bpmn +4 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/sequenceFlow-conditionExpression.part.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/simple-default-ns.bpmn +31 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/simple.bpmn +31 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/sub-process-flow-nodes.part.bpmn +8 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/sub-process.part.bpmn +10 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/subprocess-flow-nodes-outgoing.part.bpmn +16 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/throw-event-dataInputAssociations.part.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/timerEventDefinition.part.bpmn +5 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/bizagi-nested-ns-definition.bpmn +151 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/case-agile-local-ns-declaration.bpmn +927 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/signavio-complex-no-extensions.bpmn +2151 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/yaoqiang-event-definitions.bpmn +396 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor.xsd +14 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/xml-lang.bpmn +8 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/xsi-type.bpmn +61 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/json/model/camunda.json +224 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/json/model/drools.json +24 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/json/model/expr.json +14 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/xsd/BPMN20.xsd +39 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/xsd/Vendor.xsd +14 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/helper.js +18 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/camunda/read.js +198 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/camunda/roundtrip.js +50 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/camunda/write.js +213 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/distro.cjs +27 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/misc.js +97 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/matchers.js +17 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/bpmn-moddle.js +230 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/extension/expr-Guard.part.bpmn +7 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/extension/expr.js +86 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/edit.js +187 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/read.js +1170 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/roundtrip.js +900 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/write.js +979 -0
- bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/xml-helper.js +43 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/array.d.ts +12 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/array.js +13 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/collection.d.ts +174 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/collection.js +467 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/fn.d.ts +41 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/fn.js +128 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/index.d.ts +5 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/index.js +5 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/lang.d.ts +29 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/lang.js +74 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/object.d.ts +112 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/lib/object.js +206 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/array.spec.js +40 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/bundling/index.js +7 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/bundling/rollup.config.js +13 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/collection.spec.js +780 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/fn.spec.js +246 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/index.spec.ts +62 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/integration/bundle.spec.cjs +52 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/integration/bundle.spec.js +59 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/lang.spec.js +145 -0
- bpmn_io-0.1.0/tests/upstream/min-dash/test/object.spec.js +524 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/base.js +64 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/base.spec.ts +82 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/descriptor-builder.js +363 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/descriptor-builder.spec.ts +63 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/factory.js +118 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/factory.spec.ts +65 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/index.js +13 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/moddle.js +336 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/moddle.spec.ts +176 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/ns.js +45 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/ns.spec.ts +14 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/properties.js +192 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/properties.spec.ts +41 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/registry.js +295 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/registry.spec.ts +33 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/types.js +106 -0
- bpmn_io-0.1.0/tests/upstream/moddle/lib/types.spec.ts +80 -0
- bpmn_io-0.1.0/tests/upstream/moddle/resources/schema/moddle.json +164 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/expect.js +11 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/datatype-external.json +13 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/datatype.json +20 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/extension/base.json +22 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/extension/custom.json +37 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/meta.json +19 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/noalias.json +13 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/properties-extended.json +27 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/properties.json +182 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/redefines/base.json +22 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/replaces/base.json +22 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/schema-meta.json +28 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/self-extend.json +18 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/shadow.json +21 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/helper.js +70 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/integration/distro.cjs +50 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/integration/distro.ts +156 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/matchers.js +21 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/extension.js +262 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/meta.js +62 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/moddle.js +652 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/ns.js +47 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/properties.js +559 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/schema.js +32 -0
- bpmn_io-0.1.0/tests/upstream/moddle/test/spec/types.js +116 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/common.js +20 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/index.js +7 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/read.js +949 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/write.js +1117 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/expect.js +11 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/error/binary.png +0 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/error/no-xml.txt +1 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/attr-child-conflict.json +23 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/datatype-aliased.json +20 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/datatype-external.json +13 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/datatype.json +25 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/extension/base.json +29 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/extension/custom.json +30 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/extensions.json +17 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/fake-id.json +33 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/noalias.json +13 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/properties-extended.json +30 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/properties.json +217 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/redefine.json +22 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/replace.json +22 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/virtual.json +16 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/xmi.json +13 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/xml/UML.xmi +15650 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/helper.js +50 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/integration/distro.cjs +35 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/matchers.js +17 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/performance.js +147 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/reader.js +2822 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/roundtrip.uml.js +56 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/rountrip.js +457 -0
- bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/writer.js +2053 -0
- bpmn_io-0.1.0/tests/upstream/saxen/lib/decode.js +59 -0
- bpmn_io-0.1.0/tests/upstream/saxen/lib/index.js +7 -0
- bpmn_io-0.1.0/tests/upstream/saxen/lib/parser.js +1201 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/decode.js +53 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/elements.js +1755 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/errors.js +161 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/helper.js +172 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/modes.js +146 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/parser.js +32 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/perf/decode.cjs +22 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/perf/entities.txt +57 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/perf/exec.cjs +51 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/perf/index.cjs +4 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/perf/parse.cjs +166 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/perf/sample.xml +3825 -0
- bpmn_io-0.1.0/tests/upstream/saxen/test/stream.js +683 -0
bpmn_io-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.venv/
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
.mypy_cache/
|
|
9
|
+
.ruff_cache/
|
|
10
|
+
.pytest_cache/
|
|
11
|
+
.hypothesis/
|
|
12
|
+
.coverage
|
|
13
|
+
.coverage.*
|
|
14
|
+
coverage.xml
|
|
15
|
+
htmlcov/
|
|
16
|
+
# upstream reference checkouts (fetched, never committed)
|
|
17
|
+
.upstream/
|
|
18
|
+
# editors / OS
|
|
19
|
+
.idea/
|
|
20
|
+
.vscode/
|
|
21
|
+
.DS_Store
|
|
22
|
+
|
|
23
|
+
# Node oracle
|
|
24
|
+
tests/oracle/node_modules/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses
|
|
5
|
+
[Semantic Versioning](https://semver.org/).
|
|
6
|
+
|
|
7
|
+
## [0.1.0] - 2026-09-24
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Repository scaffold: uv project, ruff, mypy strict, pytest, pre-commit, GitHub Actions CI,
|
|
12
|
+
tag-driven PyPI release through Trusted Publishing, Dependabot.
|
|
13
|
+
- Vendored upstream descriptors, fixtures and test-suites with a sha256 provenance ledger
|
|
14
|
+
(`UPSTREAM.toml`, `UPSTREAM.lock`, `scripts/sync_upstream.py`).
|
|
15
|
+
- `scripts/port_coverage.py`: upstream test-suite port coverage report and CI gate.
|
|
16
|
+
- Upstream Node oracle pins (`tests/oracle`).
|
|
17
|
+
- Pure-Python port of `moddle`, `moddle-xml`, `bpmn-moddle` (six descriptors) and
|
|
18
|
+
`bpmn-auto-layout`: read, check, build, lay out and write BPMN 2.0 XML with no
|
|
19
|
+
runtime dependency.
|
|
20
|
+
- Typed creation surface: generated `bpmn_moddle/types.pyi` (`create` overloads on
|
|
21
|
+
descriptor literals, `is_a` narrowing), verified with `stubtest` + `assert_type`.
|
|
22
|
+
- `bpmn-io` CLI: `check | roundtrip | layout <file> [--json]` with stable exit codes.
|
bpmn_io-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Fabien Antoine
|
|
4
|
+
Copyright (c) 2014-2026 camunda Services GmbH (upstream bpmn.io libraries transposed here;
|
|
5
|
+
see THIRD_PARTY_NOTICES.md)
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
in the Software without restriction, including without limitation the rights
|
|
10
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
furnished to do so, subject to the following conditions:
|
|
13
|
+
|
|
14
|
+
The above copyright notice and this permission notice shall be included in
|
|
15
|
+
all copies or substantial portions of the Software.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
THE SOFTWARE.
|
bpmn_io-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: bpmn-io
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Pure-Python port of bpmn.io bpmn-moddle and bpmn-auto-layout: read, check, build, lay out and write BPMN 2.0 XML
|
|
5
|
+
Project-URL: Homepage, https://github.com/rhanka/bpmn-io-py
|
|
6
|
+
Project-URL: Repository, https://github.com/rhanka/bpmn-io-py
|
|
7
|
+
Project-URL: Issues, https://github.com/rhanka/bpmn-io-py/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/rhanka/bpmn-io-py/blob/main/CHANGELOG.md
|
|
9
|
+
Project-URL: Upstream: bpmn-moddle, https://github.com/bpmn-io/bpmn-moddle
|
|
10
|
+
Project-URL: Upstream: bpmn-auto-layout, https://github.com/bpmn-io/bpmn-auto-layout
|
|
11
|
+
Author: Fabien Antoine
|
|
12
|
+
License-Expression: MIT
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
License-File: THIRD_PARTY_NOTICES.md
|
|
15
|
+
Keywords: agents,bpmn,bpmn-auto-layout,bpmn-io,bpmn-moddle,bpmn2,moddle,process,workflow,xml
|
|
16
|
+
Classifier: Development Status :: 2 - Pre-Alpha
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
26
|
+
Classifier: Topic :: Text Processing :: Markup :: XML
|
|
27
|
+
Classifier: Typing :: Typed
|
|
28
|
+
Requires-Python: >=3.11
|
|
29
|
+
Description-Content-Type: text/markdown
|
|
30
|
+
|
|
31
|
+
# bpmn-io
|
|
32
|
+
|
|
33
|
+
**bpmn.io's `bpmn-moddle` and `bpmn-auto-layout`, transposed to pure Python.**
|
|
34
|
+
|
|
35
|
+
Read, check, build, lay out and write BPMN 2.0 XML from Python, with the exact object model and
|
|
36
|
+
semantics of the reference JavaScript implementation, and no runtime dependency.
|
|
37
|
+
|
|
38
|
+
> Status: the full port is implemented (moddle, moddle-xml, bpmn-moddle, bpmn-auto-layout)
|
|
39
|
+
> with byte-identical conformance gates; release 0.1.0 is in preparation. Nothing is published
|
|
40
|
+
> on PyPI yet.
|
|
41
|
+
>
|
|
42
|
+
> bpmn-io is an independent project, not affiliated with bpmn.io or Camunda.
|
|
43
|
+
|
|
44
|
+
## Why this exists
|
|
45
|
+
|
|
46
|
+
BPMN is a natural target for AI agents written in Python (Google ADK, LangGraph, plain SDK
|
|
47
|
+
agents, …): an agent can draft a process, check it, lay it out and hand a valid `.bpmn` file to a
|
|
48
|
+
human or to an engine. Until now the only faithful implementation of the BPMN 2.0 meta-model
|
|
49
|
+
(`bpmn-moddle`) and of automatic diagram layout (`bpmn-auto-layout`) lived in JavaScript, so a
|
|
50
|
+
Python agent had to shell out to Node or skip validation altogether.
|
|
51
|
+
|
|
52
|
+
bpmn-io removes that gap: a 100 % mapped Python port, so the objects, the warnings and the XML you
|
|
53
|
+
get are the ones bpmn-js, Camunda Modeler and the bpmn.io toolchain produce and expect.
|
|
54
|
+
|
|
55
|
+
## Design principles
|
|
56
|
+
|
|
57
|
+
- **Literal transposition.** Algorithms and test-suites of `moddle`, `moddle-xml`, `bpmn-moddle`
|
|
58
|
+
and `bpmn-auto-layout` are ported one-to-one, at the pinned upstream versions listed in
|
|
59
|
+
[`UPSTREAM.toml`](UPSTREAM.toml). Every upstream test case must be claimed by a Python test
|
|
60
|
+
(`scripts/port_coverage.py`, enforced in CI).
|
|
61
|
+
- **Same descriptors.** The BPMN 2.0, DI, DC and bioc moddle descriptors are vendored verbatim
|
|
62
|
+
(sha256-pinned in `UPSTREAM.lock`), so `$type` names, properties and serialization rules are
|
|
63
|
+
identical.
|
|
64
|
+
- **Differential oracle.** CI also runs the upstream JavaScript packages through Node and compares
|
|
65
|
+
canonical dumps and emitted XML with the Python port (`tests/oracle/`).
|
|
66
|
+
- **Zero runtime dependency.** The lenient SAX parser (`saxen`) is transposed too, so parsing
|
|
67
|
+
behaviour, warnings and error positions match upstream exactly.
|
|
68
|
+
- **MIT, attributed.** See [`LICENSE`](LICENSE) and
|
|
69
|
+
[`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
|
|
70
|
+
|
|
71
|
+
## Usage
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
from bpmn_io import BpmnModdle, check, layout_process
|
|
75
|
+
|
|
76
|
+
moddle = BpmnModdle()
|
|
77
|
+
|
|
78
|
+
# read
|
|
79
|
+
result = moddle.from_xml(xml) # ParseResult(root_element, references, warnings, elements_by_id)
|
|
80
|
+
definitions = result.root_element
|
|
81
|
+
|
|
82
|
+
# check (L0 integrity: warnings, unresolved references, unknown attributes)
|
|
83
|
+
report = check(xml)
|
|
84
|
+
assert report.ok, report.errors
|
|
85
|
+
|
|
86
|
+
# build
|
|
87
|
+
task = moddle.create("bpmn:Task", {"name": "Review"})
|
|
88
|
+
definitions.get("rootElements")[0].get("flowElements").append(task)
|
|
89
|
+
|
|
90
|
+
# lay out (generates DI for diagrams without one)
|
|
91
|
+
laid_out = layout_process(xml)
|
|
92
|
+
|
|
93
|
+
# write
|
|
94
|
+
out = moddle.to_xml(definitions, {"format": True})
|
|
95
|
+
print(out.xml)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
bpmn-io check process.bpmn # exit 0 when clean, 1 on errors
|
|
100
|
+
bpmn-io check process.bpmn --json # {"ok": true, "errors": [], "warnings": [], ...}
|
|
101
|
+
bpmn-io roundtrip process.bpmn # parse + serialize back to stdout
|
|
102
|
+
bpmn-io layout process.bpmn # automatic DI layout to stdout
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## API
|
|
106
|
+
|
|
107
|
+
| Name | Module | Contract |
|
|
108
|
+
|---|---|---|
|
|
109
|
+
| `BpmnModdle` | `bpmn_io.bpmn_moddle` | default model (six descriptors), lax `from_xml`, `to_xml` |
|
|
110
|
+
| `create_moddle` | `bpmn_io.bpmn_moddle` | `BpmnModdle` plus additional descriptor packages |
|
|
111
|
+
| `check` / `Report` | `bpmn_io.check` | L0 integrity: warnings, unresolved references, unknown attributes |
|
|
112
|
+
| `layout_process` / `Layouter` | `bpmn_io.auto_layout` | automatic DI layout; `LayoutError` on failure |
|
|
113
|
+
| `is_a` | `bpmn_io.bpmn_moddle.types` | `TypeGuard` narrowing on descriptor literal types |
|
|
114
|
+
| `ParseResult` / `ParseError` | `bpmn_io.moddle_xml` | read result / failure |
|
|
115
|
+
| `SerializationResult` | `bpmn_io.bpmn_moddle` | `to_xml` result (`xml`, `warnings`) |
|
|
116
|
+
| `DESCRIPTOR_NAMES` / `load_descriptor` | `bpmn_io.descriptors` | vendored descriptor registry |
|
|
117
|
+
| `UPSTREAM_VERSIONS` | `bpmn_io.upstream` | pinned upstream versions |
|
|
118
|
+
|
|
119
|
+
## Development
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
uv sync # Python 3.11+, all dependency groups
|
|
123
|
+
uv run pytest # Python test-suite
|
|
124
|
+
uv run ruff check . && uv run ruff format --check . && uv run mypy
|
|
125
|
+
uv run python scripts/sync_upstream.py --check # vendored upstream files untouched
|
|
126
|
+
uv run python scripts/port_coverage.py # upstream test-suite port status
|
|
127
|
+
(cd tests/oracle && npm ci --ignore-scripts) && uv run pytest -m oracle # Node differential tests
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the porting workflow and the release process.
|
|
131
|
+
|
|
132
|
+
## Upstream versions
|
|
133
|
+
|
|
134
|
+
| Upstream | Version |
|
|
135
|
+
|---|---|
|
|
136
|
+
| saxen | 11.2.0 |
|
|
137
|
+
| min-dash | 5.1.0 |
|
|
138
|
+
| moddle | 8.2.1 |
|
|
139
|
+
| moddle-xml | 12.3.1 |
|
|
140
|
+
| bpmn-moddle | 10.3.1 |
|
|
141
|
+
| bpmn-in-color-moddle | 0.2.0 |
|
|
142
|
+
| bpmn-auto-layout | 1.3.0 |
|
bpmn_io-0.1.0/README.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# bpmn-io
|
|
2
|
+
|
|
3
|
+
**bpmn.io's `bpmn-moddle` and `bpmn-auto-layout`, transposed to pure Python.**
|
|
4
|
+
|
|
5
|
+
Read, check, build, lay out and write BPMN 2.0 XML from Python, with the exact object model and
|
|
6
|
+
semantics of the reference JavaScript implementation, and no runtime dependency.
|
|
7
|
+
|
|
8
|
+
> Status: the full port is implemented (moddle, moddle-xml, bpmn-moddle, bpmn-auto-layout)
|
|
9
|
+
> with byte-identical conformance gates; release 0.1.0 is in preparation. Nothing is published
|
|
10
|
+
> on PyPI yet.
|
|
11
|
+
>
|
|
12
|
+
> bpmn-io is an independent project, not affiliated with bpmn.io or Camunda.
|
|
13
|
+
|
|
14
|
+
## Why this exists
|
|
15
|
+
|
|
16
|
+
BPMN is a natural target for AI agents written in Python (Google ADK, LangGraph, plain SDK
|
|
17
|
+
agents, …): an agent can draft a process, check it, lay it out and hand a valid `.bpmn` file to a
|
|
18
|
+
human or to an engine. Until now the only faithful implementation of the BPMN 2.0 meta-model
|
|
19
|
+
(`bpmn-moddle`) and of automatic diagram layout (`bpmn-auto-layout`) lived in JavaScript, so a
|
|
20
|
+
Python agent had to shell out to Node or skip validation altogether.
|
|
21
|
+
|
|
22
|
+
bpmn-io removes that gap: a 100 % mapped Python port, so the objects, the warnings and the XML you
|
|
23
|
+
get are the ones bpmn-js, Camunda Modeler and the bpmn.io toolchain produce and expect.
|
|
24
|
+
|
|
25
|
+
## Design principles
|
|
26
|
+
|
|
27
|
+
- **Literal transposition.** Algorithms and test-suites of `moddle`, `moddle-xml`, `bpmn-moddle`
|
|
28
|
+
and `bpmn-auto-layout` are ported one-to-one, at the pinned upstream versions listed in
|
|
29
|
+
[`UPSTREAM.toml`](UPSTREAM.toml). Every upstream test case must be claimed by a Python test
|
|
30
|
+
(`scripts/port_coverage.py`, enforced in CI).
|
|
31
|
+
- **Same descriptors.** The BPMN 2.0, DI, DC and bioc moddle descriptors are vendored verbatim
|
|
32
|
+
(sha256-pinned in `UPSTREAM.lock`), so `$type` names, properties and serialization rules are
|
|
33
|
+
identical.
|
|
34
|
+
- **Differential oracle.** CI also runs the upstream JavaScript packages through Node and compares
|
|
35
|
+
canonical dumps and emitted XML with the Python port (`tests/oracle/`).
|
|
36
|
+
- **Zero runtime dependency.** The lenient SAX parser (`saxen`) is transposed too, so parsing
|
|
37
|
+
behaviour, warnings and error positions match upstream exactly.
|
|
38
|
+
- **MIT, attributed.** See [`LICENSE`](LICENSE) and
|
|
39
|
+
[`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
|
|
40
|
+
|
|
41
|
+
## Usage
|
|
42
|
+
|
|
43
|
+
```python
|
|
44
|
+
from bpmn_io import BpmnModdle, check, layout_process
|
|
45
|
+
|
|
46
|
+
moddle = BpmnModdle()
|
|
47
|
+
|
|
48
|
+
# read
|
|
49
|
+
result = moddle.from_xml(xml) # ParseResult(root_element, references, warnings, elements_by_id)
|
|
50
|
+
definitions = result.root_element
|
|
51
|
+
|
|
52
|
+
# check (L0 integrity: warnings, unresolved references, unknown attributes)
|
|
53
|
+
report = check(xml)
|
|
54
|
+
assert report.ok, report.errors
|
|
55
|
+
|
|
56
|
+
# build
|
|
57
|
+
task = moddle.create("bpmn:Task", {"name": "Review"})
|
|
58
|
+
definitions.get("rootElements")[0].get("flowElements").append(task)
|
|
59
|
+
|
|
60
|
+
# lay out (generates DI for diagrams without one)
|
|
61
|
+
laid_out = layout_process(xml)
|
|
62
|
+
|
|
63
|
+
# write
|
|
64
|
+
out = moddle.to_xml(definitions, {"format": True})
|
|
65
|
+
print(out.xml)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
bpmn-io check process.bpmn # exit 0 when clean, 1 on errors
|
|
70
|
+
bpmn-io check process.bpmn --json # {"ok": true, "errors": [], "warnings": [], ...}
|
|
71
|
+
bpmn-io roundtrip process.bpmn # parse + serialize back to stdout
|
|
72
|
+
bpmn-io layout process.bpmn # automatic DI layout to stdout
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## API
|
|
76
|
+
|
|
77
|
+
| Name | Module | Contract |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `BpmnModdle` | `bpmn_io.bpmn_moddle` | default model (six descriptors), lax `from_xml`, `to_xml` |
|
|
80
|
+
| `create_moddle` | `bpmn_io.bpmn_moddle` | `BpmnModdle` plus additional descriptor packages |
|
|
81
|
+
| `check` / `Report` | `bpmn_io.check` | L0 integrity: warnings, unresolved references, unknown attributes |
|
|
82
|
+
| `layout_process` / `Layouter` | `bpmn_io.auto_layout` | automatic DI layout; `LayoutError` on failure |
|
|
83
|
+
| `is_a` | `bpmn_io.bpmn_moddle.types` | `TypeGuard` narrowing on descriptor literal types |
|
|
84
|
+
| `ParseResult` / `ParseError` | `bpmn_io.moddle_xml` | read result / failure |
|
|
85
|
+
| `SerializationResult` | `bpmn_io.bpmn_moddle` | `to_xml` result (`xml`, `warnings`) |
|
|
86
|
+
| `DESCRIPTOR_NAMES` / `load_descriptor` | `bpmn_io.descriptors` | vendored descriptor registry |
|
|
87
|
+
| `UPSTREAM_VERSIONS` | `bpmn_io.upstream` | pinned upstream versions |
|
|
88
|
+
|
|
89
|
+
## Development
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
uv sync # Python 3.11+, all dependency groups
|
|
93
|
+
uv run pytest # Python test-suite
|
|
94
|
+
uv run ruff check . && uv run ruff format --check . && uv run mypy
|
|
95
|
+
uv run python scripts/sync_upstream.py --check # vendored upstream files untouched
|
|
96
|
+
uv run python scripts/port_coverage.py # upstream test-suite port status
|
|
97
|
+
(cd tests/oracle && npm ci --ignore-scripts) && uv run pytest -m oracle # Node differential tests
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the porting workflow and the release process.
|
|
101
|
+
|
|
102
|
+
## Upstream versions
|
|
103
|
+
|
|
104
|
+
| Upstream | Version |
|
|
105
|
+
|---|---|
|
|
106
|
+
| saxen | 11.2.0 |
|
|
107
|
+
| min-dash | 5.1.0 |
|
|
108
|
+
| moddle | 8.2.1 |
|
|
109
|
+
| moddle-xml | 12.3.1 |
|
|
110
|
+
| bpmn-moddle | 10.3.1 |
|
|
111
|
+
| bpmn-in-color-moddle | 0.2.0 |
|
|
112
|
+
| bpmn-auto-layout | 1.3.0 |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
bpmn-io is a literal transposition to Python of the following bpmn.io libraries. Their algorithms,
|
|
4
|
+
descriptors, test fixtures and test-suites are reproduced or translated here under the terms of the
|
|
5
|
+
MIT License, with the original copyright notice preserved. bpmn-io is an independent project and is
|
|
6
|
+
**not affiliated with, endorsed by, or supported by bpmn.io or Camunda**.
|
|
7
|
+
|
|
8
|
+
| Upstream project | Version | Copyright | License | What is transposed |
|
|
9
|
+
|---|---|---|---|---|
|
|
10
|
+
| [saxen](https://github.com/nikku/saxen) | 11.2.0 | 2012 Vopilovskii Konstantin; 2017-present Nico Rehwaldt | MIT | lenient SAX XML parser, test-suite |
|
|
11
|
+
| [min-dash](https://github.com/bpmn-io/min-dash) | 5.1.0 | 2017-present camunda Services GmbH | MIT | the utility helpers used by the libraries below, their tests |
|
|
12
|
+
| [moddle](https://github.com/bpmn-io/moddle) | 8.2.1 | 2014-present Camunda Services GmbH | MIT | meta-model runtime (registry, factory, properties), moddle.json schema, test-suite |
|
|
13
|
+
| [moddle-xml](https://github.com/bpmn-io/moddle-xml) | 12.3.1 | 2014-present Camunda Services GmbH | MIT | XML reader/writer, test-suite and fixtures |
|
|
14
|
+
| [bpmn-moddle](https://github.com/bpmn-io/bpmn-moddle) | 10.3.1 | 2014 camunda Services GmbH | MIT | BPMN 2.0 / DI / DC / bioc descriptors (`src/bpmn_io/resources`), wiring, test-suite and fixtures |
|
|
15
|
+
| [bpmn-in-color-moddle](https://github.com/bpmn-io/bpmn-in-color-moddle) | 0.2.0 | bpmn.io contributors | MIT | BPMN in Color descriptor (`src/bpmn_io/resources/color`) |
|
|
16
|
+
| [bpmn-auto-layout](https://github.com/bpmn-io/bpmn-auto-layout) | 1.3.0 | bpmn.io contributors (package.json declares MIT; no LICENSE file at the pinned tag, status unverified) | MIT | layout algorithm, test-suite, fixtures and snapshots |
|
|
17
|
+
|
|
18
|
+
Exact tags, commits and per-file sha256 digests of every vendored file are recorded in
|
|
19
|
+
`UPSTREAM.toml` and `UPSTREAM.lock`.
|
|
20
|
+
|
|
21
|
+
The BPMN 2.0 descriptors were generated upstream from the OMG BPMN 2.0 specification metamodel
|
|
22
|
+
(CMOF). The OMG XSD schema files are **not** redistributed by this package.
|
|
23
|
+
|
|
24
|
+
## Upstream license text
|
|
25
|
+
|
|
26
|
+
The same MIT text applies to every project above, with the copyright holder(s) listed in the table.
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
The MIT License (MIT)
|
|
30
|
+
|
|
31
|
+
Copyright (c) <holder(s) as listed above>
|
|
32
|
+
|
|
33
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
34
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
35
|
+
in the Software without restriction, including without limitation the rights
|
|
36
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
37
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
38
|
+
furnished to do so, subject to the following conditions:
|
|
39
|
+
|
|
40
|
+
The above copyright notice and this permission notice shall be included in
|
|
41
|
+
all copies or substantial portions of the Software.
|
|
42
|
+
|
|
43
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
44
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
45
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
46
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
47
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
48
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
49
|
+
THE SOFTWARE.
|
|
50
|
+
```
|