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.
Files changed (482) hide show
  1. bpmn_io-0.1.0/.gitignore +24 -0
  2. bpmn_io-0.1.0/CHANGELOG.md +22 -0
  3. bpmn_io-0.1.0/LICENSE +23 -0
  4. bpmn_io-0.1.0/PKG-INFO +142 -0
  5. bpmn_io-0.1.0/README.md +112 -0
  6. bpmn_io-0.1.0/THIRD_PARTY_NOTICES.md +50 -0
  7. bpmn_io-0.1.0/UPSTREAM.lock +453 -0
  8. bpmn_io-0.1.0/UPSTREAM.toml +101 -0
  9. bpmn_io-0.1.0/pyproject.toml +100 -0
  10. bpmn_io-0.1.0/scripts/check_wheel.py +45 -0
  11. bpmn_io-0.1.0/scripts/gen_stubs.py +260 -0
  12. bpmn_io-0.1.0/scripts/port_coverage.py +197 -0
  13. bpmn_io-0.1.0/scripts/sync_upstream.py +182 -0
  14. bpmn_io-0.1.0/scripts/twine-check.txt +457 -0
  15. bpmn_io-0.1.0/src/bpmn_io/__init__.py +41 -0
  16. bpmn_io-0.1.0/src/bpmn_io/_js.py +334 -0
  17. bpmn_io-0.1.0/src/bpmn_io/_min_dash.py +520 -0
  18. bpmn_io-0.1.0/src/bpmn_io/auto_layout/__init__.py +11 -0
  19. bpmn_io-0.1.0/src/bpmn_io/auto_layout/auto_layout.py +14 -0
  20. bpmn_io-0.1.0/src/bpmn_io/auto_layout/di_factory.py +76 -0
  21. bpmn_io-0.1.0/src/bpmn_io/auto_layout/di_util.py +55 -0
  22. bpmn_io-0.1.0/src/bpmn_io/auto_layout/element_utils.py +43 -0
  23. bpmn_io-0.1.0/src/bpmn_io/auto_layout/errors.py +21 -0
  24. bpmn_io-0.1.0/src/bpmn_io/auto_layout/grid.py +280 -0
  25. bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/__init__.py +23 -0
  26. bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/attacher_handler.py +208 -0
  27. bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/element_handler.py +43 -0
  28. bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/incoming_handler.py +32 -0
  29. bpmn_io-0.1.0/src/bpmn_io/auto_layout/handlers/outgoing_handler.py +126 -0
  30. bpmn_io-0.1.0/src/bpmn_io/auto_layout/layout_util.py +434 -0
  31. bpmn_io-0.1.0/src/bpmn_io/auto_layout/layouter.py +419 -0
  32. bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/__init__.py +13 -0
  33. bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/bpmn_moddle.py +68 -0
  34. bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/simple.py +44 -0
  35. bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/types.py +20 -0
  36. bpmn_io-0.1.0/src/bpmn_io/bpmn_moddle/types.pyi +2650 -0
  37. bpmn_io-0.1.0/src/bpmn_io/check.py +208 -0
  38. bpmn_io-0.1.0/src/bpmn_io/cli.py +201 -0
  39. bpmn_io-0.1.0/src/bpmn_io/descriptors.py +33 -0
  40. bpmn_io-0.1.0/src/bpmn_io/moddle/__init__.py +10 -0
  41. bpmn_io-0.1.0/src/bpmn_io/moddle/base.py +180 -0
  42. bpmn_io-0.1.0/src/bpmn_io/moddle/descriptor_builder.py +352 -0
  43. bpmn_io-0.1.0/src/bpmn_io/moddle/factory.py +74 -0
  44. bpmn_io-0.1.0/src/bpmn_io/moddle/moddle.py +132 -0
  45. bpmn_io-0.1.0/src/bpmn_io/moddle/ns.py +40 -0
  46. bpmn_io-0.1.0/src/bpmn_io/moddle/properties.py +139 -0
  47. bpmn_io-0.1.0/src/bpmn_io/moddle/registry.py +219 -0
  48. bpmn_io-0.1.0/src/bpmn_io/moddle/types.py +67 -0
  49. bpmn_io-0.1.0/src/bpmn_io/moddle_xml/__init__.py +52 -0
  50. bpmn_io-0.1.0/src/bpmn_io/moddle_xml/common.py +49 -0
  51. bpmn_io-0.1.0/src/bpmn_io/moddle_xml/read.py +838 -0
  52. bpmn_io-0.1.0/src/bpmn_io/moddle_xml/write.py +1044 -0
  53. bpmn_io-0.1.0/src/bpmn_io/py.typed +0 -0
  54. bpmn_io-0.1.0/src/bpmn_io/resources/__init__.py +1 -0
  55. bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/bpmn.json +2957 -0
  56. bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/bpmndi.json +193 -0
  57. bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/dc.json +99 -0
  58. bpmn_io-0.1.0/src/bpmn_io/resources/bpmn/di.json +238 -0
  59. bpmn_io-0.1.0/src/bpmn_io/resources/bpmn-io/bioc.json +41 -0
  60. bpmn_io-0.1.0/src/bpmn_io/resources/color/bpmn-in-color.json +47 -0
  61. bpmn_io-0.1.0/src/bpmn_io/saxen/__init__.py +6 -0
  62. bpmn_io-0.1.0/src/bpmn_io/saxen/decode.py +47 -0
  63. bpmn_io-0.1.0/src/bpmn_io/saxen/parser.py +911 -0
  64. bpmn_io-0.1.0/src/bpmn_io/upstream.py +16 -0
  65. bpmn_io-0.1.0/tests/_matchers.py +117 -0
  66. bpmn_io-0.1.0/tests/auto_layout/__init__.py +0 -0
  67. bpmn_io-0.1.0/tests/auto_layout/test_layout_snapshot.py +233 -0
  68. bpmn_io-0.1.0/tests/bpmn_moddle/__init__.py +0 -0
  69. bpmn_io-0.1.0/tests/bpmn_moddle/extension/__init__.py +0 -0
  70. bpmn_io-0.1.0/tests/bpmn_moddle/extension/test_expr.py +81 -0
  71. bpmn_io-0.1.0/tests/bpmn_moddle/integration/__init__.py +0 -0
  72. bpmn_io-0.1.0/tests/bpmn_moddle/integration/test_camunda.py +414 -0
  73. bpmn_io-0.1.0/tests/bpmn_moddle/integration/test_misc.py +78 -0
  74. bpmn_io-0.1.0/tests/bpmn_moddle/test_bpmn_moddle.py +239 -0
  75. bpmn_io-0.1.0/tests/bpmn_moddle/test_check.py +120 -0
  76. bpmn_io-0.1.0/tests/bpmn_moddle/xml/__init__.py +0 -0
  77. bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_edit.py +215 -0
  78. bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_read.py +938 -0
  79. bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_roundtrip.py +498 -0
  80. bpmn_io-0.1.0/tests/bpmn_moddle/xml/test_write.py +783 -0
  81. bpmn_io-0.1.0/tests/conftest.py +23 -0
  82. bpmn_io-0.1.0/tests/min_dash/test_array.py +25 -0
  83. bpmn_io-0.1.0/tests/min_dash/test_collection.py +151 -0
  84. bpmn_io-0.1.0/tests/min_dash/test_fn.py +79 -0
  85. bpmn_io-0.1.0/tests/min_dash/test_lang.py +49 -0
  86. bpmn_io-0.1.0/tests/min_dash/test_object.py +198 -0
  87. bpmn_io-0.1.0/tests/min_dash/test_packaging.py +82 -0
  88. bpmn_io-0.1.0/tests/moddle/test_dunder.py +82 -0
  89. bpmn_io-0.1.0/tests/moddle/test_extension.py +186 -0
  90. bpmn_io-0.1.0/tests/moddle/test_meta.py +62 -0
  91. bpmn_io-0.1.0/tests/moddle/test_moddle.py +468 -0
  92. bpmn_io-0.1.0/tests/moddle/test_ns.py +46 -0
  93. bpmn_io-0.1.0/tests/moddle/test_properties.py +506 -0
  94. bpmn_io-0.1.0/tests/moddle/test_schema.py +133 -0
  95. bpmn_io-0.1.0/tests/moddle/test_types.py +98 -0
  96. bpmn_io-0.1.0/tests/moddle_xml/test_performance.py +138 -0
  97. bpmn_io-0.1.0/tests/moddle_xml/test_reader.py +2144 -0
  98. bpmn_io-0.1.0/tests/moddle_xml/test_roundtrip.py +306 -0
  99. bpmn_io-0.1.0/tests/moddle_xml/test_roundtrip_properties.py +76 -0
  100. bpmn_io-0.1.0/tests/moddle_xml/test_roundtrip_uml.py +67 -0
  101. bpmn_io-0.1.0/tests/moddle_xml/test_writer.py +1563 -0
  102. bpmn_io-0.1.0/tests/oracle/README.md +6 -0
  103. bpmn_io-0.1.0/tests/oracle/_bridge.py +76 -0
  104. bpmn_io-0.1.0/tests/oracle/conftest.py +20 -0
  105. bpmn_io-0.1.0/tests/oracle/dump.mjs +135 -0
  106. bpmn_io-0.1.0/tests/oracle/ledger-hooks.mjs +56 -0
  107. bpmn_io-0.1.0/tests/oracle/ledger.mjs +150 -0
  108. bpmn_io-0.1.0/tests/oracle/package-lock.json +92 -0
  109. bpmn_io-0.1.0/tests/oracle/package.json +15 -0
  110. bpmn_io-0.1.0/tests/oracle/run.mjs +184 -0
  111. bpmn_io-0.1.0/tests/oracle/stubs/absurd.mjs +39 -0
  112. bpmn_io-0.1.0/tests/oracle/stubs/chai.mjs +11 -0
  113. bpmn_io-0.1.0/tests/oracle/stubs/fast-glob.mjs +78 -0
  114. bpmn_io-0.1.0/tests/oracle/stubs/misc.mjs +6 -0
  115. bpmn_io-0.1.0/tests/oracle/test_auto_layout.py +52 -0
  116. bpmn_io-0.1.0/tests/oracle/test_bpmn_moddle_serialize.py +60 -0
  117. bpmn_io-0.1.0/tests/oracle/test_bridge.py +50 -0
  118. bpmn_io-0.1.0/tests/oracle/test_dump.py +99 -0
  119. bpmn_io-0.1.0/tests/oracle/test_min_dash.py +204 -0
  120. bpmn_io-0.1.0/tests/oracle/test_moddle_dump.py +77 -0
  121. bpmn_io-0.1.0/tests/oracle/test_moddle_xml_dump.py +129 -0
  122. bpmn_io-0.1.0/tests/oracle/test_moddle_xml_serialize.py +69 -0
  123. bpmn_io-0.1.0/tests/oracle/test_saxen.py +142 -0
  124. bpmn_io-0.1.0/tests/saxen/test_decode.py +90 -0
  125. bpmn_io-0.1.0/tests/saxen/test_elements.py +1965 -0
  126. bpmn_io-0.1.0/tests/saxen/test_errors.py +100 -0
  127. bpmn_io-0.1.0/tests/saxen/test_modes.py +105 -0
  128. bpmn_io-0.1.0/tests/saxen/test_parser.py +21 -0
  129. bpmn_io-0.1.0/tests/saxen/test_security.py +63 -0
  130. bpmn_io-0.1.0/tests/saxen/test_stream.py +475 -0
  131. bpmn_io-0.1.0/tests/test_cli.py +205 -0
  132. bpmn_io-0.1.0/tests/test_descriptors.py +31 -0
  133. bpmn_io-0.1.0/tests/test_distro.py +65 -0
  134. bpmn_io-0.1.0/tests/test_fixtures.py +12 -0
  135. bpmn_io-0.1.0/tests/test_js.py +221 -0
  136. bpmn_io-0.1.0/tests/test_matchers.py +71 -0
  137. bpmn_io-0.1.0/tests/test_oracle_env.py +35 -0
  138. bpmn_io-0.1.0/tests/typing/test_assert_type.py +142 -0
  139. bpmn_io-0.1.0/tests/typing/test_stubs.py +103 -0
  140. bpmn_io-0.1.0/tests/upstream/LEDGER.json +876 -0
  141. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/Grid.js +245 -0
  142. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/Layouter.js +329 -0
  143. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/di/DiFactory.js +56 -0
  144. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/di/DiUtil.js +46 -0
  145. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/attachersHandler.js +123 -0
  146. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/elementHandler.js +27 -0
  147. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/incomingHandler.js +16 -0
  148. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/index.js +6 -0
  149. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/handler/outgoingHandler.js +106 -0
  150. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/index.js +5 -0
  151. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/utils/elementUtils.js +28 -0
  152. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/lib/utils/layoutUtil.js +307 -0
  153. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/.eslintrc +6 -0
  154. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/LayoutSpec.js +128 -0
  155. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/ad-hoc-sub-process.bpmn +19 -0
  156. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.back-loop.bpmn +151 -0
  157. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.forward-modeling.bpmn +67 -0
  158. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.multiple.bpmn +78 -0
  159. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.self-loop.bpmn +44 -0
  160. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/boundary-event.simple.bpmn +56 -0
  161. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/collaboration-message-flows.bpmn +103 -0
  162. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/data-object-and-store-reference.bpmn +84 -0
  163. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/event-sub-process.bpmn +72 -0
  164. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/example.bpmn +303 -0
  165. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.01-hour.bpmn +130 -0
  166. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.03-hour.bpmn +119 -0
  167. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.04-hour.bpmn +152 -0
  168. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.06-hour.bpmn +245 -0
  169. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.09-hour.bpmn +258 -0
  170. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/expanded.self-loop.bpmn +51 -0
  171. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.future-incoming.bpmn +107 -0
  172. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.multiple-complex.bpmn +206 -0
  173. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.multiple-with-tasks.bpmn +137 -0
  174. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.multiple.bpmn +122 -0
  175. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/gateway.parallel.bpmn +157 -0
  176. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/process.independent-flows.bpmn +68 -0
  177. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/process.joining-flows.bpmn +52 -0
  178. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.disconnected-loop-boundary.bpmn +59 -0
  179. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.disconnected-loop.bpmn +39 -0
  180. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.empty-definitions.bpmn +3 -0
  181. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.empty-process.bpmn +7 -0
  182. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.gateway-with-loop-back.bpmn +76 -0
  183. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.happy-path.bpmn +71 -0
  184. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.implicit-start.bpmn +65 -0
  185. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-100.bpmn +222 -0
  186. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-131.bpmn +272 -0
  187. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-32.bpmn +215 -0
  188. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-79-1.bpmn +57 -0
  189. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-79-2.bpmn +57 -0
  190. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.issue-79-3.bpmn +57 -0
  191. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.link-events.bpmn +90 -0
  192. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.multiple-event-starts.bpmn +99 -0
  193. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.multiple-start-events.bpmn +188 -0
  194. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.multiple-task-gateways-columns.bpmn +198 -0
  195. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.no-outgoing.bpmn +68 -0
  196. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/scenario.simple.bpmn +61 -0
  197. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/sub-process.bpmn +159 -0
  198. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/sub-process.empty.bpmn +50 -0
  199. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/sub-process.nested.bpmn +96 -0
  200. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/text-annotation.bpmn +47 -0
  201. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/fixtures/transaction.bpmn +19 -0
  202. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/ad-hoc-sub-process.bpmn +46 -0
  203. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.back-loop.bpmn +148 -0
  204. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.forward-modeling.bpmn +65 -0
  205. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.multiple.bpmn +75 -0
  206. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.self-loop.bpmn +43 -0
  207. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/boundary-event.simple.bpmn +56 -0
  208. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/collaboration-message-flows.bpmn +69 -0
  209. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/data-object-and-store-reference.bpmn +75 -0
  210. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/event-sub-process.bpmn +72 -0
  211. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/example.bpmn +282 -0
  212. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.01-hour.bpmn +117 -0
  213. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.03-hour.bpmn +121 -0
  214. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.04-hour.bpmn +152 -0
  215. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.06-hour.bpmn +248 -0
  216. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.09-hour.bpmn +258 -0
  217. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/expanded.self-loop.bpmn +54 -0
  218. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.future-incoming.bpmn +107 -0
  219. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.multiple-complex.bpmn +206 -0
  220. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.multiple-with-tasks.bpmn +137 -0
  221. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.multiple.bpmn +121 -0
  222. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/gateway.parallel.bpmn +137 -0
  223. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/process.independent-flows.bpmn +68 -0
  224. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/process.joining-flows.bpmn +52 -0
  225. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.disconnected-loop-boundary.bpmn +60 -0
  226. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.disconnected-loop.bpmn +39 -0
  227. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.empty-definitions.bpmn +2 -0
  228. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.empty-process.bpmn +7 -0
  229. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.gateway-with-loop-back.bpmn +71 -0
  230. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.happy-path.bpmn +71 -0
  231. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.implicit-start.bpmn +65 -0
  232. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-100.bpmn +222 -0
  233. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-131.bpmn +280 -0
  234. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-32.bpmn +209 -0
  235. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-79-1.bpmn +57 -0
  236. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-79-2.bpmn +57 -0
  237. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.issue-79-3.bpmn +57 -0
  238. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.link-events.bpmn +90 -0
  239. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.multiple-event-starts.bpmn +99 -0
  240. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.multiple-start-events.bpmn +175 -0
  241. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.multiple-task-gateways-columns.bpmn +197 -0
  242. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.no-outgoing.bpmn +68 -0
  243. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/scenario.simple.bpmn +55 -0
  244. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/sub-process.bpmn +156 -0
  245. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/sub-process.empty.bpmn +50 -0
  246. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/sub-process.nested.bpmn +96 -0
  247. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/text-annotation.bpmn +40 -0
  248. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/snapshots/transaction.bpmn +46 -0
  249. bpmn_io-0.1.0/tests/upstream/bpmn-auto-layout/test/template.html +780 -0
  250. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/lib/bpmn-moddle.js +104 -0
  251. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/lib/index.js +3 -0
  252. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/lib/simple.js +27 -0
  253. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/BPMN20.xsd +37 -0
  254. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/BPMNDI.xsd +100 -0
  255. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/DC.xsd +29 -0
  256. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/DI.xsd +100 -0
  257. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/resources/bpmn/xsd/Semantic.xsd +1562 -0
  258. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/expect.js +11 -0
  259. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/activity-children.bpmn +23 -0
  260. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/ad-hoc.bpmn +35 -0
  261. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/association.part.bpmn +3 -0
  262. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/attrs.bpmn +6 -0
  263. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/bpmn-in-color.bpmn +32 -0
  264. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/callActivity-calledElement.part.bpmn +7 -0
  265. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/catch-event-dataOutputAssociations.part.bpmn +5 -0
  266. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/category.bpmn +28 -0
  267. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/choreography-task.bpmn +24 -0
  268. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/compensate-event-definition.part.bpmn +1 -0
  269. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/complex.bpmn +3680 -0
  270. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/conversation-children.bpmn +23 -0
  271. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/data-input-association.assignment.bpmn +71 -0
  272. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/data-object-reference.bpmn +17 -0
  273. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/definitions-children.bpmn +13 -0
  274. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnDiagram-extension.part.bpmn +17 -0
  275. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnDiagram.part.bpmn +12 -0
  276. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnEdge-waypoint.part.bpmn +4 -0
  277. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnEdge.part.bpmn +5 -0
  278. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnShape-isMarkerVisible.part.bpmn +3 -0
  279. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di/bpmnShape.part.bpmn +4 -0
  280. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/di-extension.bpmn +26 -0
  281. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/documentation-extension-elements.bpmn +15 -0
  282. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/documentation.bpmn +11 -0
  283. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/empty-definitions-default-ns.bpmn +4 -0
  284. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/empty-definitions.bpmn +5 -0
  285. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/bad-encoding.bpmn +4 -0
  286. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/binary.png +0 -0
  287. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/categoryValue.bpmn +27 -0
  288. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/di-no-bpmn-element.bpmn +13 -0
  289. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/duplicate-ids.bpmn +8 -0
  290. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/extension-definition-missing.bpmn +6 -0
  291. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/invalid-attributes.bpmn +4 -0
  292. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/no-xml.txt +1 -0
  293. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/not-bpmn.bpmn +5 -0
  294. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/undeclared-ns-child.bpmn +6 -0
  295. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/unrecognized-child.bpmn +6 -0
  296. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/error/xmlns-redeclaration.bpmn +2 -0
  297. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/escalation-error.bpmn +6 -0
  298. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/event-definition-ref.bpmn +11 -0
  299. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/event-references.part.bpmn +6 -0
  300. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/example-colors.bpmn +40 -0
  301. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/expression-extension.part.bpmn +11 -0
  302. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/expression-plain.bpmn +40 -0
  303. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-list.part.bpmn +9 -0
  304. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-map.part.bpmn +12 -0
  305. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-mixed.part.bpmn +11 -0
  306. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-plain.part.bpmn +3 -0
  307. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput-script.part.bpmn +7 -0
  308. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/camunda/inputOutput.bpmn +22 -0
  309. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension/drools.part.bpmn +9 -0
  310. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension-attributes.bpmn +20 -0
  311. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/extension-elements.bpmn +9 -0
  312. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/i18n.bpmn +47 -0
  313. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/inputOutputSpecification-children.bpmn +19 -0
  314. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/interface-implementationRef.part.bpmn +2 -0
  315. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/itemDefinition-structureRef.part.bpmn +2 -0
  316. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/lane-childLaneSets.part.bpmn +8 -0
  317. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/lane-children.bpmn +45 -0
  318. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/link-event-definition-target.bpmn +25 -0
  319. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/local-ns-no-di.bpmn +16 -0
  320. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/multiInstanceLoopCharacteristics-completionCondition.part.bpmn +5 -0
  321. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/multiInstanceLoopCharacteristics.bpmn +181 -0
  322. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/namespace-prefix-collision.bpmn +18 -0
  323. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/namespace-redefinition.bpmn +10 -0
  324. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/nested-default-namespace-prefix.bpmn +13 -0
  325. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/nested-no-namespace-prefix.bpmn +13 -0
  326. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-implementationRef.part.bpmn +2 -0
  327. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-messageRef.bpmn +12 -0
  328. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-ref-as-attribute.bpmn +27 -0
  329. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/operation-ref-message-event-definition.bpmn +14 -0
  330. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/participant-interfaceRef.bpmn +20 -0
  331. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/participantMultiplicity.part.bpmn +3 -0
  332. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/potentialOwner.bpmn +11 -0
  333. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/process-children.bpmn +26 -0
  334. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/redundant-ns-declaration.bpmn +6 -0
  335. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/scriptTask-script.part.bpmn +4 -0
  336. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/sequenceFlow-conditionExpression.part.bpmn +5 -0
  337. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/simple-default-ns.bpmn +31 -0
  338. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/simple.bpmn +31 -0
  339. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/sub-process-flow-nodes.part.bpmn +8 -0
  340. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/sub-process.part.bpmn +10 -0
  341. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/subprocess-flow-nodes-outgoing.part.bpmn +16 -0
  342. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/throw-event-dataInputAssociations.part.bpmn +5 -0
  343. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/timerEventDefinition.part.bpmn +5 -0
  344. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/bizagi-nested-ns-definition.bpmn +151 -0
  345. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/case-agile-local-ns-declaration.bpmn +927 -0
  346. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/signavio-complex-no-extensions.bpmn +2151 -0
  347. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor/yaoqiang-event-definitions.bpmn +396 -0
  348. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/vendor.xsd +14 -0
  349. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/xml-lang.bpmn +8 -0
  350. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/bpmn/xsi-type.bpmn +61 -0
  351. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/json/model/camunda.json +224 -0
  352. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/json/model/drools.json +24 -0
  353. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/json/model/expr.json +14 -0
  354. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/xsd/BPMN20.xsd +39 -0
  355. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/fixtures/xsd/Vendor.xsd +14 -0
  356. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/helper.js +18 -0
  357. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/camunda/read.js +198 -0
  358. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/camunda/roundtrip.js +50 -0
  359. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/camunda/write.js +213 -0
  360. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/distro.cjs +27 -0
  361. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/integration/misc.js +97 -0
  362. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/matchers.js +17 -0
  363. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/bpmn-moddle.js +230 -0
  364. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/extension/expr-Guard.part.bpmn +7 -0
  365. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/extension/expr.js +86 -0
  366. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/edit.js +187 -0
  367. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/read.js +1170 -0
  368. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/roundtrip.js +900 -0
  369. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/spec/xml/write.js +979 -0
  370. bpmn_io-0.1.0/tests/upstream/bpmn-moddle/test/xml-helper.js +43 -0
  371. bpmn_io-0.1.0/tests/upstream/min-dash/lib/array.d.ts +12 -0
  372. bpmn_io-0.1.0/tests/upstream/min-dash/lib/array.js +13 -0
  373. bpmn_io-0.1.0/tests/upstream/min-dash/lib/collection.d.ts +174 -0
  374. bpmn_io-0.1.0/tests/upstream/min-dash/lib/collection.js +467 -0
  375. bpmn_io-0.1.0/tests/upstream/min-dash/lib/fn.d.ts +41 -0
  376. bpmn_io-0.1.0/tests/upstream/min-dash/lib/fn.js +128 -0
  377. bpmn_io-0.1.0/tests/upstream/min-dash/lib/index.d.ts +5 -0
  378. bpmn_io-0.1.0/tests/upstream/min-dash/lib/index.js +5 -0
  379. bpmn_io-0.1.0/tests/upstream/min-dash/lib/lang.d.ts +29 -0
  380. bpmn_io-0.1.0/tests/upstream/min-dash/lib/lang.js +74 -0
  381. bpmn_io-0.1.0/tests/upstream/min-dash/lib/object.d.ts +112 -0
  382. bpmn_io-0.1.0/tests/upstream/min-dash/lib/object.js +206 -0
  383. bpmn_io-0.1.0/tests/upstream/min-dash/test/array.spec.js +40 -0
  384. bpmn_io-0.1.0/tests/upstream/min-dash/test/bundling/index.js +7 -0
  385. bpmn_io-0.1.0/tests/upstream/min-dash/test/bundling/rollup.config.js +13 -0
  386. bpmn_io-0.1.0/tests/upstream/min-dash/test/collection.spec.js +780 -0
  387. bpmn_io-0.1.0/tests/upstream/min-dash/test/fn.spec.js +246 -0
  388. bpmn_io-0.1.0/tests/upstream/min-dash/test/index.spec.ts +62 -0
  389. bpmn_io-0.1.0/tests/upstream/min-dash/test/integration/bundle.spec.cjs +52 -0
  390. bpmn_io-0.1.0/tests/upstream/min-dash/test/integration/bundle.spec.js +59 -0
  391. bpmn_io-0.1.0/tests/upstream/min-dash/test/lang.spec.js +145 -0
  392. bpmn_io-0.1.0/tests/upstream/min-dash/test/object.spec.js +524 -0
  393. bpmn_io-0.1.0/tests/upstream/moddle/lib/base.js +64 -0
  394. bpmn_io-0.1.0/tests/upstream/moddle/lib/base.spec.ts +82 -0
  395. bpmn_io-0.1.0/tests/upstream/moddle/lib/descriptor-builder.js +363 -0
  396. bpmn_io-0.1.0/tests/upstream/moddle/lib/descriptor-builder.spec.ts +63 -0
  397. bpmn_io-0.1.0/tests/upstream/moddle/lib/factory.js +118 -0
  398. bpmn_io-0.1.0/tests/upstream/moddle/lib/factory.spec.ts +65 -0
  399. bpmn_io-0.1.0/tests/upstream/moddle/lib/index.js +13 -0
  400. bpmn_io-0.1.0/tests/upstream/moddle/lib/moddle.js +336 -0
  401. bpmn_io-0.1.0/tests/upstream/moddle/lib/moddle.spec.ts +176 -0
  402. bpmn_io-0.1.0/tests/upstream/moddle/lib/ns.js +45 -0
  403. bpmn_io-0.1.0/tests/upstream/moddle/lib/ns.spec.ts +14 -0
  404. bpmn_io-0.1.0/tests/upstream/moddle/lib/properties.js +192 -0
  405. bpmn_io-0.1.0/tests/upstream/moddle/lib/properties.spec.ts +41 -0
  406. bpmn_io-0.1.0/tests/upstream/moddle/lib/registry.js +295 -0
  407. bpmn_io-0.1.0/tests/upstream/moddle/lib/registry.spec.ts +33 -0
  408. bpmn_io-0.1.0/tests/upstream/moddle/lib/types.js +106 -0
  409. bpmn_io-0.1.0/tests/upstream/moddle/lib/types.spec.ts +80 -0
  410. bpmn_io-0.1.0/tests/upstream/moddle/resources/schema/moddle.json +164 -0
  411. bpmn_io-0.1.0/tests/upstream/moddle/test/expect.js +11 -0
  412. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/datatype-external.json +13 -0
  413. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/datatype.json +20 -0
  414. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/extension/base.json +22 -0
  415. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/extension/custom.json +37 -0
  416. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/meta.json +19 -0
  417. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/noalias.json +13 -0
  418. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/properties-extended.json +27 -0
  419. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/properties.json +182 -0
  420. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/redefines/base.json +22 -0
  421. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/replaces/base.json +22 -0
  422. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/schema-meta.json +28 -0
  423. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/self-extend.json +18 -0
  424. bpmn_io-0.1.0/tests/upstream/moddle/test/fixtures/model/shadow.json +21 -0
  425. bpmn_io-0.1.0/tests/upstream/moddle/test/helper.js +70 -0
  426. bpmn_io-0.1.0/tests/upstream/moddle/test/integration/distro.cjs +50 -0
  427. bpmn_io-0.1.0/tests/upstream/moddle/test/integration/distro.ts +156 -0
  428. bpmn_io-0.1.0/tests/upstream/moddle/test/matchers.js +21 -0
  429. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/extension.js +262 -0
  430. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/meta.js +62 -0
  431. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/moddle.js +652 -0
  432. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/ns.js +47 -0
  433. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/properties.js +559 -0
  434. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/schema.js +32 -0
  435. bpmn_io-0.1.0/tests/upstream/moddle/test/spec/types.js +116 -0
  436. bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/common.js +20 -0
  437. bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/index.js +7 -0
  438. bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/read.js +949 -0
  439. bpmn_io-0.1.0/tests/upstream/moddle-xml/lib/write.js +1117 -0
  440. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/expect.js +11 -0
  441. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/error/binary.png +0 -0
  442. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/error/no-xml.txt +1 -0
  443. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/attr-child-conflict.json +23 -0
  444. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/datatype-aliased.json +20 -0
  445. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/datatype-external.json +13 -0
  446. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/datatype.json +25 -0
  447. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/extension/base.json +29 -0
  448. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/extension/custom.json +30 -0
  449. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/extensions.json +17 -0
  450. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/fake-id.json +33 -0
  451. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/noalias.json +13 -0
  452. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/properties-extended.json +30 -0
  453. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/properties.json +217 -0
  454. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/redefine.json +22 -0
  455. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/replace.json +22 -0
  456. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/virtual.json +16 -0
  457. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/model/xmi.json +13 -0
  458. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/fixtures/xml/UML.xmi +15650 -0
  459. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/helper.js +50 -0
  460. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/integration/distro.cjs +35 -0
  461. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/matchers.js +17 -0
  462. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/performance.js +147 -0
  463. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/reader.js +2822 -0
  464. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/roundtrip.uml.js +56 -0
  465. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/rountrip.js +457 -0
  466. bpmn_io-0.1.0/tests/upstream/moddle-xml/test/spec/writer.js +2053 -0
  467. bpmn_io-0.1.0/tests/upstream/saxen/lib/decode.js +59 -0
  468. bpmn_io-0.1.0/tests/upstream/saxen/lib/index.js +7 -0
  469. bpmn_io-0.1.0/tests/upstream/saxen/lib/parser.js +1201 -0
  470. bpmn_io-0.1.0/tests/upstream/saxen/test/decode.js +53 -0
  471. bpmn_io-0.1.0/tests/upstream/saxen/test/elements.js +1755 -0
  472. bpmn_io-0.1.0/tests/upstream/saxen/test/errors.js +161 -0
  473. bpmn_io-0.1.0/tests/upstream/saxen/test/helper.js +172 -0
  474. bpmn_io-0.1.0/tests/upstream/saxen/test/modes.js +146 -0
  475. bpmn_io-0.1.0/tests/upstream/saxen/test/parser.js +32 -0
  476. bpmn_io-0.1.0/tests/upstream/saxen/test/perf/decode.cjs +22 -0
  477. bpmn_io-0.1.0/tests/upstream/saxen/test/perf/entities.txt +57 -0
  478. bpmn_io-0.1.0/tests/upstream/saxen/test/perf/exec.cjs +51 -0
  479. bpmn_io-0.1.0/tests/upstream/saxen/test/perf/index.cjs +4 -0
  480. bpmn_io-0.1.0/tests/upstream/saxen/test/perf/parse.cjs +166 -0
  481. bpmn_io-0.1.0/tests/upstream/saxen/test/perf/sample.xml +3825 -0
  482. bpmn_io-0.1.0/tests/upstream/saxen/test/stream.js +683 -0
@@ -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 |
@@ -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
+ ```