py-visactor-mermaid 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 (228) hide show
  1. py_visactor_mermaid-0.1.0/LICENSE +21 -0
  2. py_visactor_mermaid-0.1.0/PKG-INFO +159 -0
  3. py_visactor_mermaid-0.1.0/README.md +110 -0
  4. py_visactor_mermaid-0.1.0/THIRD_PARTY_NOTICES.md +71 -0
  5. py_visactor_mermaid-0.1.0/pyproject.toml +35 -0
  6. py_visactor_mermaid-0.1.0/references/licenses/chromium-LICENSE +27 -0
  7. py_visactor_mermaid-0.1.0/references/licenses/cose-base-1.0.3-LICENSE +21 -0
  8. py_visactor_mermaid-0.1.0/references/licenses/cose-base-2.2.0-LICENSE +21 -0
  9. py_visactor_mermaid-0.1.0/references/licenses/csswg-drafts-LICENSE.md +4 -0
  10. py_visactor_mermaid-0.1.0/references/licenses/cytoscape-cose-bilkent-4.1.0-LICENSE +21 -0
  11. py_visactor_mermaid-0.1.0/references/licenses/cytoscape-fcose-2.2.0-LICENSE +19 -0
  12. py_visactor_mermaid-0.1.0/references/licenses/d3-array-LICENSE +13 -0
  13. py_visactor_mermaid-0.1.0/references/licenses/d3-path-LICENSE +13 -0
  14. py_visactor_mermaid-0.1.0/references/licenses/d3-shape-LICENSE +13 -0
  15. py_visactor_mermaid-0.1.0/references/licenses/d3-time-LICENSE +13 -0
  16. py_visactor_mermaid-0.1.0/references/licenses/d3-time-format-LICENSE +13 -0
  17. py_visactor_mermaid-0.1.0/references/licenses/dayjs-1.11.21-LICENSE +21 -0
  18. py_visactor_mermaid-0.1.0/references/licenses/khroma-LICENSE +21 -0
  19. py_visactor_mermaid-0.1.0/references/licenses/langium-4.4.0-LICENSE +16 -0
  20. py_visactor_mermaid-0.1.0/references/licenses/layout-base-1.0.2-LICENSE +21 -0
  21. py_visactor_mermaid-0.1.0/references/licenses/layout-base-2.0.1-LICENSE +21 -0
  22. py_visactor_mermaid-0.1.0/references/licenses/mermaid-LICENSE +21 -0
  23. py_visactor_mermaid-0.1.0/references/licenses/non-layered-tidy-tree-layout-LICENSE +21 -0
  24. py_visactor_mermaid-0.1.0/references/licenses/roughjs-LICENSE +21 -0
  25. py_visactor_mermaid-0.1.0/references/licenses/skia-LICENSE +29 -0
  26. py_visactor_mermaid-0.1.0/references/licenses/w3c-css-color-NOTICE.txt +18 -0
  27. py_visactor_mermaid-0.1.0/references/licenses/w3c-software-document-license-2023.html +380 -0
  28. py_visactor_mermaid-0.1.0/references/licenses/w3c-software-document-short-notice-2023.html +32 -0
  29. py_visactor_mermaid-0.1.0/references/licenses/zenuml-core-LICENSE +21 -0
  30. py_visactor_mermaid-0.1.0/setup.cfg +4 -0
  31. py_visactor_mermaid-0.1.0/src/py_mermaid/__init__.py +20 -0
  32. py_visactor_mermaid-0.1.0/src/py_mermaid/__main__.py +5 -0
  33. py_visactor_mermaid-0.1.0/src/py_mermaid/api.py +166 -0
  34. py_visactor_mermaid-0.1.0/src/py_mermaid/cli.py +112 -0
  35. py_visactor_mermaid-0.1.0/src/py_mermaid/config/__init__.py +5 -0
  36. py_visactor_mermaid-0.1.0/src/py_mermaid/config/color_names.py +2 -0
  37. py_visactor_mermaid-0.1.0/src/py_mermaid/config/colors.py +158 -0
  38. py_visactor_mermaid-0.1.0/src/py_mermaid/config/elk.py +40 -0
  39. py_visactor_mermaid-0.1.0/src/py_mermaid/config/flowchart.py +272 -0
  40. py_visactor_mermaid-0.1.0/src/py_mermaid/config/source_keys.py +6 -0
  41. py_visactor_mermaid-0.1.0/src/py_mermaid/config/theme_rules.py +581 -0
  42. py_visactor_mermaid-0.1.0/src/py_mermaid/config/theme_rules_full.py +3038 -0
  43. py_visactor_mermaid-0.1.0/src/py_mermaid/config/themes.py +43 -0
  44. py_visactor_mermaid-0.1.0/src/py_mermaid/config/values.py +109 -0
  45. py_visactor_mermaid-0.1.0/src/py_mermaid/data/diagram_defaults.json +973 -0
  46. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/__init__.py +1 -0
  47. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/__init__.py +1 -0
  48. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_agent_parser.py +180 -0
  49. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_cynefin_geometry.py +36 -0
  50. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_flow_config.py +10 -0
  51. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_source_styles.py +19 -0
  52. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_intersect.py +68 -0
  53. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_prepare.py +86 -0
  54. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/__init__.py +70 -0
  55. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/detours.py +65 -0
  56. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/direction.py +91 -0
  57. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/endpoint_clip.py +158 -0
  58. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/geometry.py +236 -0
  59. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/label_anchoring.py +100 -0
  60. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/materialized.py +572 -0
  61. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/router.py +470 -0
  62. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/shared_tracks.py +107 -0
  63. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/terminal_routes.py +80 -0
  64. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_routing/validation.py +39 -0
  65. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/_swimlane_sugiyama.py +259 -0
  66. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/agentflow.py +56 -0
  67. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/cynefin.py +144 -0
  68. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/eventmodeling.py +261 -0
  69. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/ishikawa.py +118 -0
  70. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/swimlane.py +141 -0
  71. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/business/wardley.py +227 -0
  72. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/__init__.py +1 -0
  73. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/_scales.py +79 -0
  74. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/_syntax.py +102 -0
  75. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/_vchart_bridge.py +23 -0
  76. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/_xyaxis.py +71 -0
  77. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/pie.py +66 -0
  78. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/quadrant.py +128 -0
  79. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/radar.py +122 -0
  80. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/vchart.py +29 -0
  81. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/charts/xychart.py +171 -0
  82. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flowchart/__init__.py +5 -0
  83. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flowchart/lexical.py +42 -0
  84. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flowchart/parser.py +861 -0
  85. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flowchart/syntax.py +56 -0
  86. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/__init__.py +1 -0
  87. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/_circles.py +66 -0
  88. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/_optimize.py +67 -0
  89. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/_sankey.py +131 -0
  90. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/_venn.py +156 -0
  91. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/sankey.py +59 -0
  92. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/flows/venn.py +290 -0
  93. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/hierarchy/__init__.py +1 -0
  94. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/hierarchy/_cose_tree.py +158 -0
  95. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/hierarchy/_tidy.py +147 -0
  96. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/hierarchy/mindmap.py +171 -0
  97. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/hierarchy/tree_view.py +161 -0
  98. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/hierarchy/treemap.py +232 -0
  99. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/info/__init__.py +34 -0
  100. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/__init__.py +1 -0
  101. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/_support.py +198 -0
  102. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/_usecase_glyphs.py +62 -0
  103. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/c4.py +269 -0
  104. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/class_diagram.py +306 -0
  105. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/er.py +216 -0
  106. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/requirement.py +149 -0
  107. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/state_diagram.py +184 -0
  108. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/modeling/usecase.py +431 -0
  109. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/railroad/__init__.py +4 -0
  110. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/railroad/layout.py +132 -0
  111. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/railroad/model.py +25 -0
  112. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/railroad/parser.py +164 -0
  113. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/sequence/__init__.py +4 -0
  114. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/sequence/layout.py +315 -0
  115. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/sequence/message_geometry.py +148 -0
  116. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/sequence/model.py +46 -0
  117. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/sequence/parser.py +185 -0
  118. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/sequence/presentation.py +84 -0
  119. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/__init__.py +1 -0
  120. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/_architecture_icons.py +2 -0
  121. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/_block_arrows.py +29 -0
  122. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/_fcose.py +244 -0
  123. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/architecture.py +284 -0
  124. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/block.py +242 -0
  125. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/kanban.py +139 -0
  126. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/structures/packet.py +85 -0
  127. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/__init__.py +1 -0
  128. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/_civil.py +98 -0
  129. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/_dates.py +279 -0
  130. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/_git_layout.py +58 -0
  131. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/_paint.py +74 -0
  132. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/_source_styles.py +78 -0
  133. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/_syntax.py +73 -0
  134. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/gantt.py +226 -0
  135. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/gitgraph.py +189 -0
  136. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/journey.py +148 -0
  137. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/temporal/timeline.py +105 -0
  138. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/__init__.py +4 -0
  139. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/LICENSE-core +21 -0
  140. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/Microsoft_Terms_of_Use.pdf +0 -0
  141. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/actor.svg +6 -0
  142. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/alt-fragment.svg +4 -0
  143. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/azurefunction.svg +1 -0
  144. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/boundary.svg +5 -0
  145. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/control.svg +6 -0
  146. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/critical-fragment.svg +6 -0
  147. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/database.svg +3 -0
  148. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/ec2.svg +7 -0
  149. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/entity.svg +6 -0
  150. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/iam.svg +7 -0
  151. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/lambda.svg +7 -0
  152. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/loop-fragment.svg +2 -0
  153. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/opt-fragment.svg +4 -0
  154. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/par-fragment.svg +5 -0
  155. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/ref-fragment.svg +5 -0
  156. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/section-fragment.svg +9 -0
  157. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/sns.svg +7 -0
  158. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/sqs.svg +7 -0
  159. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/assets/try-catch-fragment.svg +6 -0
  160. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/emoji.py +19 -0
  161. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/geometry.py +104 -0
  162. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/layout.py +371 -0
  163. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/model.py +42 -0
  164. py_visactor_mermaid-0.1.0/src/py_mermaid/diagrams/zenuml/parser.py +347 -0
  165. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/__init__.py +7 -0
  166. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/edges/__init__.py +5 -0
  167. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/edges/alignment.py +36 -0
  168. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/edges/paths.py +164 -0
  169. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/edges/pipeline.py +116 -0
  170. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/flowchart.py +97 -0
  171. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/path_geometry.py +128 -0
  172. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/rough.py +142 -0
  173. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/shape_registry.py +21 -0
  174. py_visactor_mermaid-0.1.0/src/py_mermaid/geometry/shapes.py +471 -0
  175. py_visactor_mermaid-0.1.0/src/py_mermaid/layout/__init__.py +1 -0
  176. py_visactor_mermaid-0.1.0/src/py_mermaid/layout/elk/__init__.py +5 -0
  177. py_visactor_mermaid-0.1.0/src/py_mermaid/layout/elk/compound.py +582 -0
  178. py_visactor_mermaid-0.1.0/src/py_mermaid/layout/elk/flowchart.py +292 -0
  179. py_visactor_mermaid-0.1.0/src/py_mermaid/layout/elk/options.py +77 -0
  180. py_visactor_mermaid-0.1.0/src/py_mermaid/model/__init__.py +1 -0
  181. py_visactor_mermaid-0.1.0/src/py_mermaid/model/controls.py +83 -0
  182. py_visactor_mermaid-0.1.0/src/py_mermaid/model/flowchart.py +519 -0
  183. py_visactor_mermaid-0.1.0/src/py_mermaid/model/scene.py +72 -0
  184. py_visactor_mermaid-0.1.0/src/py_mermaid/model/vchart.py +62 -0
  185. py_visactor_mermaid-0.1.0/src/py_mermaid/model/vchart_dsl.py +61 -0
  186. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/__init__.py +6 -0
  187. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/preprocess.py +178 -0
  188. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/vchart_dsl/__init__.py +4 -0
  189. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/vchart_dsl/compiler.py +313 -0
  190. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/vchart_dsl/lexer.py +102 -0
  191. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/vchart_dsl/parser.py +250 -0
  192. py_visactor_mermaid-0.1.0/src/py_mermaid/parsing/yaml_json.py +435 -0
  193. py_visactor_mermaid-0.1.0/src/py_mermaid/py.typed +0 -0
  194. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/__init__.py +1 -0
  195. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/__init__.py +6 -0
  196. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/controls/__init__.py +1 -0
  197. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/controls/color_values.py +315 -0
  198. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/controls/layout.py +566 -0
  199. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/controls/semantic.py +466 -0
  200. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/math.py +62 -0
  201. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/plain.py +99 -0
  202. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/rich.py +652 -0
  203. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/labels/sanitize.py +155 -0
  204. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/skia/__init__.py +4 -0
  205. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/skia/controls.py +232 -0
  206. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/skia/graph_groups.py +133 -0
  207. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/skia/scene.py +664 -0
  208. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/skia/session.py +1042 -0
  209. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/styles/__init__.py +4 -0
  210. py_visactor_mermaid-0.1.0/src/py_mermaid/rendering/styles/flowchart.py +837 -0
  211. py_visactor_mermaid-0.1.0/src/py_mermaid/resources/__init__.py +77 -0
  212. py_visactor_mermaid-0.1.0/src/py_mermaid/resources/geometry.py +54 -0
  213. py_visactor_mermaid-0.1.0/src/py_mermaid/resources/svg.py +69 -0
  214. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/__init__.py +1 -0
  215. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/common.py +118 -0
  216. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/configuration.py +80 -0
  217. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/flow_variants.py +65 -0
  218. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/graph.py +184 -0
  219. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/layouts.py +65 -0
  220. py_visactor_mermaid-0.1.0/src/py_mermaid/runtime/registry.py +140 -0
  221. py_visactor_mermaid-0.1.0/src/py_mermaid/vchart_bridge.py +361 -0
  222. py_visactor_mermaid-0.1.0/src/py_mermaid/vchart_compilation.py +98 -0
  223. py_visactor_mermaid-0.1.0/src/py_visactor_mermaid.egg-info/PKG-INFO +159 -0
  224. py_visactor_mermaid-0.1.0/src/py_visactor_mermaid.egg-info/SOURCES.txt +250 -0
  225. py_visactor_mermaid-0.1.0/src/py_visactor_mermaid.egg-info/dependency_links.txt +1 -0
  226. py_visactor_mermaid-0.1.0/src/py_visactor_mermaid.egg-info/entry_points.txt +2 -0
  227. py_visactor_mermaid-0.1.0/src/py_visactor_mermaid.egg-info/requires.txt +9 -0
  228. py_visactor_mermaid-0.1.0/src/py_visactor_mermaid.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 玄魂
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,159 @@
1
+ Metadata-Version: 2.4
2
+ Name: py-visactor-mermaid
3
+ Version: 0.1.0
4
+ Summary: Static Mermaid and VChart diagrams in Python using py-skia-canvas, pyelk and py-katex
5
+ License-Expression: MIT
6
+ Project-URL: Repository, https://github.com/py-VisActor/py-mermaid
7
+ Project-URL: Documentation, https://github.com/py-VisActor/py-mermaid/blob/main/docs/NEW_SESSION.md
8
+ Project-URL: Issues, https://github.com/py-VisActor/py-mermaid/issues
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Programming Language :: Python :: 3.13
11
+ Classifier: Topic :: Multimedia :: Graphics
12
+ Requires-Python: <3.14,>=3.13
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ License-File: THIRD_PARTY_NOTICES.md
16
+ License-File: references/licenses/chromium-LICENSE
17
+ License-File: references/licenses/cose-base-1.0.3-LICENSE
18
+ License-File: references/licenses/cose-base-2.2.0-LICENSE
19
+ License-File: references/licenses/csswg-drafts-LICENSE.md
20
+ License-File: references/licenses/cytoscape-cose-bilkent-4.1.0-LICENSE
21
+ License-File: references/licenses/cytoscape-fcose-2.2.0-LICENSE
22
+ License-File: references/licenses/d3-array-LICENSE
23
+ License-File: references/licenses/d3-path-LICENSE
24
+ License-File: references/licenses/d3-shape-LICENSE
25
+ License-File: references/licenses/d3-time-LICENSE
26
+ License-File: references/licenses/d3-time-format-LICENSE
27
+ License-File: references/licenses/dayjs-1.11.21-LICENSE
28
+ License-File: references/licenses/khroma-LICENSE
29
+ License-File: references/licenses/langium-4.4.0-LICENSE
30
+ License-File: references/licenses/layout-base-1.0.2-LICENSE
31
+ License-File: references/licenses/layout-base-2.0.1-LICENSE
32
+ License-File: references/licenses/mermaid-LICENSE
33
+ License-File: references/licenses/non-layered-tidy-tree-layout-LICENSE
34
+ License-File: references/licenses/roughjs-LICENSE
35
+ License-File: references/licenses/skia-LICENSE
36
+ License-File: references/licenses/w3c-css-color-NOTICE.txt
37
+ License-File: references/licenses/w3c-software-document-license-2023.html
38
+ License-File: references/licenses/w3c-software-document-short-notice-2023.html
39
+ License-File: references/licenses/zenuml-core-LICENSE
40
+ Requires-Dist: py-skia-canvas==0.1.0a18
41
+ Requires-Dist: py-visactor-elk==0.1.0
42
+ Requires-Dist: py-visactor-katex==0.1.0
43
+ Requires-Dist: py-visactor-vchart==0.1.1
44
+ Provides-Extra: dev
45
+ Requires-Dist: build==1.6.1; extra == "dev"
46
+ Requires-Dist: setuptools==84.2.1; extra == "dev"
47
+ Requires-Dist: wheel==0.48.0; extra == "dev"
48
+ Dynamic: license-file
49
+
50
+ # py-mermaid
51
+
52
+ 中文 | [English](https://github.com/py-VisActor/py-mermaid/blob/main/README.en.md)
53
+
54
+ 正式发行名为 `py-visactor-mermaid`,导入名为 `py_mermaid`,命令行为 `py-mermaid`。源码版本为 `0.1.0`,实际验证和发布状态见[收口记录](https://github.com/py-VisActor/py-mermaid/blob/main/docs/CLOSURE_BATCH_PLAN.md)。图表能力及其供应方边界由 py-vchart 管理;本批集中补齐其余语法、日期、关系与静态绘制能力。所有输出均为静态图像。
55
+
56
+ 原生图表 DSL v1 使用 `vchart <类型>`、属性赋值、`table`、纯值变量、配置块及轴/系列声明,复用全部68个注册类型的正式渲染链路。语言范围与验证状态见[语法规范](https://github.com/py-VisActor/py-mermaid/blob/main/docs/VCHART_DSL_DESIGN.md)与[执行计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/VCHART_DSL_EXECUTION_PLAN.md)记录实际状态。
57
+
58
+ ```python
59
+ from pathlib import Path
60
+ from py_mermaid import compile_vchart, render
61
+
62
+ source = """vchart bar
63
+ size 640 360
64
+ data = { values: table(month, value) {
65
+ ["Jan", 120]
66
+ ["Feb", 180]
67
+ } }
68
+ xField = "month"
69
+ yField = "value"
70
+ """
71
+ compiled = compile_vchart(source)
72
+ print(compiled.spec())
73
+ Path("dsl.svg").write_bytes(render(source, format="svg").data)
74
+ ```
75
+
76
+ CLI 可用 `py-mermaid chart.vchart --compile -o compiled.json` 检查完整 spec、地图/SVG资源、来源映射和诊断;直接渲染仍使用原 `-f/--backend` 等参数。旧 `vchart` 加严格 JSON 及 Python spec API 保留。
77
+
78
+ 2026-11-07:已接入 `py-visactor-vchart` 0.1.1,以显式 VChart spec 支持全部 68 个二维静态类型,并恢复此前暂缓的 7 类 Mermaid 图表入口。依赖从 PyPI 解析 `py-visactor-vchart==0.1.1`,文件与 [GitHub 正式发行](https://github.com/py-VisActor/py-vchart/releases/tag/py-visactor-vchart-v0.1.1) 的验收 SHA-256 完全一致。[接入验收](https://github.com/py-VisActor/py-mermaid/blob/main/docs/VCHART_INTEGRATION.md)。下方 31 入口是历史批次范围;非图表22条旧缺口的修复和验证以最新收口记录为准。
79
+
80
+ ```python
81
+ from pathlib import Path
82
+ from py_mermaid import render_vchart, supported_vchart_types
83
+
84
+ print(supported_vchart_types())
85
+ result = render_vchart({
86
+ "type": "bar", "width": 400, "height": 240,
87
+ "data": [{"values": [{"name": "A", "value": 8}, {"name": "B", "value": -3}]}],
88
+ "xField": "name", "yField": "value",
89
+ }, format="svg", backend="auto")
90
+ Path("chart.svg").write_bytes(result.data)
91
+ ```
92
+
93
+ 文本入口为 `vchart` 首行加严格 JSON,可用现有 `render`/`arender` 和 CLI;异步 spec API 为 `arender_vchart`。图表规格不经 Mermaid directives/HTML 改写;图表配置写在 spec 中,独立资源使用 `maps`、`svgs` 与 `ResourceBundle`。全部类型指 py-vchart 的实际二维入口,不宣称 3D、交互或所有 JS 高级样式。运行时无 Node、浏览器或 skia-python;使用正式发行依赖,不读取相邻仓库源码。
94
+
95
+ CLI 通过 `--vchart-maps maps.json` 提供 name→GeoJSON 的离线映射,`--vchart-svgs svgs.json` 提供 name→SVG 源文本;图片和字体沿用 `--resources`。Venn 继承当前供应方最多三个集合的限制;Treemap 使用 VChart binary 布局,部分数值格式明确拒绝,自定义字体绑定单个 `fontFamily`,按内容哈希隔离;自定义 fallback 列表明确报错。具体边界与真实验证见上面的执行记录。
96
+
97
+ [py-VisActor/py-mermaid](https://github.com/py-VisActor/py-mermaid) 将 Mermaid 图语言迁移到 Python,使用 py-skia-canvas 测量、绘制和编码,使用独立 py-elk 布局。生产运行无需 Node、浏览器或 JavaScript 引擎。
98
+
99
+ **下表为历史静态批次的 31 个入口:29 个新增入口及 2 个流程图回归入口。** 范围见下表,统一 API、CLI 和资源合同见 [批次用法](https://github.com/py-VisActor/py-mermaid/blob/main/docs/BULK_USAGE.md),实际验收状态见[账本](https://github.com/py-VisActor/py-mermaid/blob/main/docs/execution-state.json)。已有流程图支持五个方向及别名、经典与新形状、静态边和双端标记、样式、子图、富文本、ELK、手绘及显式离线资源,详见 [F01.4 用法](https://github.com/py-VisActor/py-mermaid/blob/main/docs/F01_4_USAGE.md)。适用的 `htmlLabels=true` 标签通过正式 [py-visactor-katex](https://pypi.org/project/py-visactor-katex/0.1.0/) 原生绘制 `$$...$$`,导入名 `py_katex`;`htmlLabels=false` 保留原实现的文字分支。数学覆盖见 [py-katex 文档](https://github.com/py-VisActor/py-katex#readme)。所有模块只考虑静态渲染。源码版本为 `0.1.0`;发布状态由收口记录单独记实。
100
+
101
+ | 类型 | 本批入口 |
102
+ | --- | --- |
103
+ | 流程图 | flowchart-v2、flowchart-elk |
104
+ | 关系建模 | classDiagram、stateDiagram、er、requirement、usecase、c4 |
105
+ | 时序 | sequence、zenuml |
106
+ | 时间与过程 | gantt、journey、timeline、gitGraph |
107
+ | 层级 | mindmap、treeView |
108
+ | 结构 | block、packet、kanban、architecture |
109
+ | 业务 | swimlane、agentflow、eventmodeling、ishikawa、wardley、cynefin |
110
+ | 铁路语法 | railroad、railroadEbnf、railroadAbnf、railroadPeg |
111
+ | 信息 | info |
112
+
113
+ 上一批排除的统计图表(pie/quadrantChart/xychart/radar)、矩形树图(treemap)、桑基图(sankey)、韦恩图(venn)共 7 个入口,本轮已接入 `py-vchart`,以本页开头的新验收记录为准。原始来源清单保留全部 38 个入口。入口验收不代表全部语法和配置分支覆盖,后续功能复核见[当前计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/NEXT_ITERATION.md)。已接入 HTML 表单控件的初始静态绘制,包括 input、button、select、textarea、meter/progress 和 fieldset/legend;[本轮范围与验收状态](https://github.com/py-VisActor/py-mermaid/blob/main/docs/HTML_HOST_ACCEPTANCE.md) 单独记录,不代表任意浏览器 HTML/CSS 的完整兼容。`video` / `audio` 已由用户整体排除,包括播放、解码、封面/占位、控制条和初始静态外观;不作为待办或验收项,输入中遇到时保留明确拒绝。普通图片/图标继续保留。
114
+
115
+ ## 安装与调用
116
+
117
+ 需要 CPython 3.13(Windows AMD64 / Linux x86_64)。正式包安装命令如下,实际发布状态见[发行记录](https://github.com/py-VisActor/py-mermaid/blob/main/docs/RELEASE_STATUS.md);源码安装可用 `python -m pip install .`:
118
+
119
+ ```shell
120
+ python -m pip install py-visactor-mermaid==0.1.0
121
+ ```
122
+
123
+ ```python
124
+ from pathlib import Path
125
+ from py_mermaid import render
126
+
127
+ if __name__ == "__main__":
128
+ result = render("flowchart TD\nA[Start] --> B[End]")
129
+ Path("flowchart.png").write_bytes(result.data)
130
+ print(result.width, result.height, result.mime)
131
+ ```
132
+
133
+ ELK 使用进程 worker,脚本入口应有 main 保护。异步环境使用 `await arender(...)`,解析模型使用 `parse(...)`。Canvas 原生对象留在调用线程,只返回 bytes 和不可变数据。`backend="auto"` 保留默认策略,`cpu` 显式禁用 GPU,`gpu` 要求实际 GPU,否则失败。
134
+
135
+ ```shell
136
+ python examples/basic_flowchart.py --out test-runs/my-flowchart.png
137
+ python examples/enhanced_flowchart.py --out test-runs/my-enhanced-flowchart.png
138
+ python examples/rich_flowchart.py --out test-runs/my-rich-flowchart.png
139
+ ```
140
+
141
+ ## 支持边界
142
+
143
+ Mermaid 固定 12.2.0 / `1fb7869866dd619168d840291c9c54b4f129758b`;真实布局依赖 `py-visactor-elk==0.1.0`,测量/绘制依赖 `py-skia-canvas==0.1.0a18`。有效流程图默认为图种级 `redux-color/neo`:白矩形、深色边框/文字、普通黑箭头、阴影及实测文字换行。系统 fallback 字体不捆绑。
144
+
145
+ 经典形状支持 square、round、stadium、subroutine、cylinder、circle、doublecircle、diamond、hexagon、odd、trapezoid、inv_trapezoid、lean_right、lean_left。经典 `A(-Ellipse-)` 能解析,但固定上游缺少渲染处理器,渲染明确报告 `UPSTREAM_SHAPE_MISSING`。子图允许空组及只有组的图;组内方向支持 TD/TB/LR/RL/BT。
146
+
147
+ 前处理保留到原文字符/UTF-16 位置的映射,配置按 site/frontmatter/directive 及图种默认优先级解析,主题使用固定源码的 11 个名称与 `null`。富标签通过不可变文字 run 与公开 Canvas API 测量/绘制,生产不创建 DOM。`htmlLabels=false` 按上游 SVG 文本含义处理标签,不是通用剥 HTML;Markdown 保留上游实际支持的粗体、斜体等分支,不宣称完整 CommonMark。适用的主题 CSS 映射为原生字体/颜色/描边等意图,浏览器交互样式不进入生产运行。
148
+
149
+ F01.4 源码扩展涵盖五向及方向别名、批量连接、边 ID/标记/线型、style/class/linkStyle、`@{shape}` 新形状、初始折叠子图、ELK 家族选项、手绘、显式离线资源及 PNG/JPG/WebP/SVG/PDF 静态导出。数学依赖为正式 `py-visactor-katex==0.1.0`,无需相邻源码目录接线。关系图使用真实 ELK,mindmap/tidy、architecture、泳道、时间日历、Git、C4、铁路图和 ZenUML 保留各自专用算法;treeView 使用源 preorder 行布局。原生布局和图种可通过 Python provider 注册。Dagre 功能、选项、目标依赖与算法回退完全排除,见[布局策略](https://github.com/py-VisActor/py-mermaid/blob/main/docs/LAYOUT_POLICY.md)。各入口的实现、分组复验与同候选验收分别记账,不以源码存在或少量图片宣称完整兼容;本批执行同候选回归及 Windows/Linux 隔离安装门禁;实际结果和不同平台证据见[发行状态](https://github.com/py-VisActor/py-mermaid/blob/main/docs/RELEASE_STATUS.md)。
150
+
151
+ 验收比较功能、内容、关系、可读性和安全;跨 DOM/Canvas 像素仅诊断。正常字体/抗锯齿/自然尺寸/合法路由差异允许存在,漏内容和错误关系必须失败。
152
+
153
+ ## 研发入口
154
+
155
+ 本轮顺序为全部保留源码 → 来源独立测试 → 全分组首跑/批修 → 同候选最终验收。见[当前计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/CLOSURE_BATCH_PLAN.md)、[共享接口](https://github.com/py-VisActor/py-mermaid/blob/main/docs/BULK_STATIC_INTERFACES.md)、[统一批次日志/报告](https://github.com/py-VisActor/py-mermaid/blob/main/tools/BULK_REPORTS.md)及[发布状态](https://github.com/py-VisActor/py-mermaid/blob/main/docs/RELEASE_STATUS.md)。
156
+
157
+ [完整迁移计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/FULL_MIGRATION_PLAN.md)、[任务图](https://github.com/py-VisActor/py-mermaid/blob/main/references/migration-execution.json)、[完整功能分母](https://github.com/py-VisActor/py-mermaid/blob/main/docs/compatibility.json)及[依赖来源树](https://github.com/py-VisActor/py-mermaid/blob/main/docs/DEPENDENCY_MIGRATION.md)保留全范围来源;当前范围为全部38个 Mermaid 入口及 VChart 接线,按[收口计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/CLOSURE_BATCH_PLAN.md)与图表供应方职责验收;[31入口批次](https://github.com/py-VisActor/py-mermaid/blob/main/references/bulk-scope.json)仅为历史记录。[Canvas冒烟示例](https://github.com/py-VisActor/py-mermaid/blob/main/examples/canvas_smoke.py)只验证基础依赖。
158
+
159
+ 固定上游 ELK radial 容器可能产生子节点超出原外框的已知缺陷;保留真实引擎框与 A/B 图并单独标记,不通过扩大边框掩盖。外部 Font Awesome CSS 需以同名离线 IconResource 显式提供;字体、图片不自动联网。全语言自动断词字典不在当前原生标签合同中。
@@ -0,0 +1,110 @@
1
+ # py-mermaid
2
+
3
+ 中文 | [English](https://github.com/py-VisActor/py-mermaid/blob/main/README.en.md)
4
+
5
+ 正式发行名为 `py-visactor-mermaid`,导入名为 `py_mermaid`,命令行为 `py-mermaid`。源码版本为 `0.1.0`,实际验证和发布状态见[收口记录](https://github.com/py-VisActor/py-mermaid/blob/main/docs/CLOSURE_BATCH_PLAN.md)。图表能力及其供应方边界由 py-vchart 管理;本批集中补齐其余语法、日期、关系与静态绘制能力。所有输出均为静态图像。
6
+
7
+ 原生图表 DSL v1 使用 `vchart <类型>`、属性赋值、`table`、纯值变量、配置块及轴/系列声明,复用全部68个注册类型的正式渲染链路。语言范围与验证状态见[语法规范](https://github.com/py-VisActor/py-mermaid/blob/main/docs/VCHART_DSL_DESIGN.md)与[执行计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/VCHART_DSL_EXECUTION_PLAN.md)记录实际状态。
8
+
9
+ ```python
10
+ from pathlib import Path
11
+ from py_mermaid import compile_vchart, render
12
+
13
+ source = """vchart bar
14
+ size 640 360
15
+ data = { values: table(month, value) {
16
+ ["Jan", 120]
17
+ ["Feb", 180]
18
+ } }
19
+ xField = "month"
20
+ yField = "value"
21
+ """
22
+ compiled = compile_vchart(source)
23
+ print(compiled.spec())
24
+ Path("dsl.svg").write_bytes(render(source, format="svg").data)
25
+ ```
26
+
27
+ CLI 可用 `py-mermaid chart.vchart --compile -o compiled.json` 检查完整 spec、地图/SVG资源、来源映射和诊断;直接渲染仍使用原 `-f/--backend` 等参数。旧 `vchart` 加严格 JSON 及 Python spec API 保留。
28
+
29
+ 2026-11-07:已接入 `py-visactor-vchart` 0.1.1,以显式 VChart spec 支持全部 68 个二维静态类型,并恢复此前暂缓的 7 类 Mermaid 图表入口。依赖从 PyPI 解析 `py-visactor-vchart==0.1.1`,文件与 [GitHub 正式发行](https://github.com/py-VisActor/py-vchart/releases/tag/py-visactor-vchart-v0.1.1) 的验收 SHA-256 完全一致。[接入验收](https://github.com/py-VisActor/py-mermaid/blob/main/docs/VCHART_INTEGRATION.md)。下方 31 入口是历史批次范围;非图表22条旧缺口的修复和验证以最新收口记录为准。
30
+
31
+ ```python
32
+ from pathlib import Path
33
+ from py_mermaid import render_vchart, supported_vchart_types
34
+
35
+ print(supported_vchart_types())
36
+ result = render_vchart({
37
+ "type": "bar", "width": 400, "height": 240,
38
+ "data": [{"values": [{"name": "A", "value": 8}, {"name": "B", "value": -3}]}],
39
+ "xField": "name", "yField": "value",
40
+ }, format="svg", backend="auto")
41
+ Path("chart.svg").write_bytes(result.data)
42
+ ```
43
+
44
+ 文本入口为 `vchart` 首行加严格 JSON,可用现有 `render`/`arender` 和 CLI;异步 spec API 为 `arender_vchart`。图表规格不经 Mermaid directives/HTML 改写;图表配置写在 spec 中,独立资源使用 `maps`、`svgs` 与 `ResourceBundle`。全部类型指 py-vchart 的实际二维入口,不宣称 3D、交互或所有 JS 高级样式。运行时无 Node、浏览器或 skia-python;使用正式发行依赖,不读取相邻仓库源码。
45
+
46
+ CLI 通过 `--vchart-maps maps.json` 提供 name→GeoJSON 的离线映射,`--vchart-svgs svgs.json` 提供 name→SVG 源文本;图片和字体沿用 `--resources`。Venn 继承当前供应方最多三个集合的限制;Treemap 使用 VChart binary 布局,部分数值格式明确拒绝,自定义字体绑定单个 `fontFamily`,按内容哈希隔离;自定义 fallback 列表明确报错。具体边界与真实验证见上面的执行记录。
47
+
48
+ [py-VisActor/py-mermaid](https://github.com/py-VisActor/py-mermaid) 将 Mermaid 图语言迁移到 Python,使用 py-skia-canvas 测量、绘制和编码,使用独立 py-elk 布局。生产运行无需 Node、浏览器或 JavaScript 引擎。
49
+
50
+ **下表为历史静态批次的 31 个入口:29 个新增入口及 2 个流程图回归入口。** 范围见下表,统一 API、CLI 和资源合同见 [批次用法](https://github.com/py-VisActor/py-mermaid/blob/main/docs/BULK_USAGE.md),实际验收状态见[账本](https://github.com/py-VisActor/py-mermaid/blob/main/docs/execution-state.json)。已有流程图支持五个方向及别名、经典与新形状、静态边和双端标记、样式、子图、富文本、ELK、手绘及显式离线资源,详见 [F01.4 用法](https://github.com/py-VisActor/py-mermaid/blob/main/docs/F01_4_USAGE.md)。适用的 `htmlLabels=true` 标签通过正式 [py-visactor-katex](https://pypi.org/project/py-visactor-katex/0.1.0/) 原生绘制 `$$...$$`,导入名 `py_katex`;`htmlLabels=false` 保留原实现的文字分支。数学覆盖见 [py-katex 文档](https://github.com/py-VisActor/py-katex#readme)。所有模块只考虑静态渲染。源码版本为 `0.1.0`;发布状态由收口记录单独记实。
51
+
52
+ | 类型 | 本批入口 |
53
+ | --- | --- |
54
+ | 流程图 | flowchart-v2、flowchart-elk |
55
+ | 关系建模 | classDiagram、stateDiagram、er、requirement、usecase、c4 |
56
+ | 时序 | sequence、zenuml |
57
+ | 时间与过程 | gantt、journey、timeline、gitGraph |
58
+ | 层级 | mindmap、treeView |
59
+ | 结构 | block、packet、kanban、architecture |
60
+ | 业务 | swimlane、agentflow、eventmodeling、ishikawa、wardley、cynefin |
61
+ | 铁路语法 | railroad、railroadEbnf、railroadAbnf、railroadPeg |
62
+ | 信息 | info |
63
+
64
+ 上一批排除的统计图表(pie/quadrantChart/xychart/radar)、矩形树图(treemap)、桑基图(sankey)、韦恩图(venn)共 7 个入口,本轮已接入 `py-vchart`,以本页开头的新验收记录为准。原始来源清单保留全部 38 个入口。入口验收不代表全部语法和配置分支覆盖,后续功能复核见[当前计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/NEXT_ITERATION.md)。已接入 HTML 表单控件的初始静态绘制,包括 input、button、select、textarea、meter/progress 和 fieldset/legend;[本轮范围与验收状态](https://github.com/py-VisActor/py-mermaid/blob/main/docs/HTML_HOST_ACCEPTANCE.md) 单独记录,不代表任意浏览器 HTML/CSS 的完整兼容。`video` / `audio` 已由用户整体排除,包括播放、解码、封面/占位、控制条和初始静态外观;不作为待办或验收项,输入中遇到时保留明确拒绝。普通图片/图标继续保留。
65
+
66
+ ## 安装与调用
67
+
68
+ 需要 CPython 3.13(Windows AMD64 / Linux x86_64)。正式包安装命令如下,实际发布状态见[发行记录](https://github.com/py-VisActor/py-mermaid/blob/main/docs/RELEASE_STATUS.md);源码安装可用 `python -m pip install .`:
69
+
70
+ ```shell
71
+ python -m pip install py-visactor-mermaid==0.1.0
72
+ ```
73
+
74
+ ```python
75
+ from pathlib import Path
76
+ from py_mermaid import render
77
+
78
+ if __name__ == "__main__":
79
+ result = render("flowchart TD\nA[Start] --> B[End]")
80
+ Path("flowchart.png").write_bytes(result.data)
81
+ print(result.width, result.height, result.mime)
82
+ ```
83
+
84
+ ELK 使用进程 worker,脚本入口应有 main 保护。异步环境使用 `await arender(...)`,解析模型使用 `parse(...)`。Canvas 原生对象留在调用线程,只返回 bytes 和不可变数据。`backend="auto"` 保留默认策略,`cpu` 显式禁用 GPU,`gpu` 要求实际 GPU,否则失败。
85
+
86
+ ```shell
87
+ python examples/basic_flowchart.py --out test-runs/my-flowchart.png
88
+ python examples/enhanced_flowchart.py --out test-runs/my-enhanced-flowchart.png
89
+ python examples/rich_flowchart.py --out test-runs/my-rich-flowchart.png
90
+ ```
91
+
92
+ ## 支持边界
93
+
94
+ Mermaid 固定 12.2.0 / `1fb7869866dd619168d840291c9c54b4f129758b`;真实布局依赖 `py-visactor-elk==0.1.0`,测量/绘制依赖 `py-skia-canvas==0.1.0a18`。有效流程图默认为图种级 `redux-color/neo`:白矩形、深色边框/文字、普通黑箭头、阴影及实测文字换行。系统 fallback 字体不捆绑。
95
+
96
+ 经典形状支持 square、round、stadium、subroutine、cylinder、circle、doublecircle、diamond、hexagon、odd、trapezoid、inv_trapezoid、lean_right、lean_left。经典 `A(-Ellipse-)` 能解析,但固定上游缺少渲染处理器,渲染明确报告 `UPSTREAM_SHAPE_MISSING`。子图允许空组及只有组的图;组内方向支持 TD/TB/LR/RL/BT。
97
+
98
+ 前处理保留到原文字符/UTF-16 位置的映射,配置按 site/frontmatter/directive 及图种默认优先级解析,主题使用固定源码的 11 个名称与 `null`。富标签通过不可变文字 run 与公开 Canvas API 测量/绘制,生产不创建 DOM。`htmlLabels=false` 按上游 SVG 文本含义处理标签,不是通用剥 HTML;Markdown 保留上游实际支持的粗体、斜体等分支,不宣称完整 CommonMark。适用的主题 CSS 映射为原生字体/颜色/描边等意图,浏览器交互样式不进入生产运行。
99
+
100
+ F01.4 源码扩展涵盖五向及方向别名、批量连接、边 ID/标记/线型、style/class/linkStyle、`@{shape}` 新形状、初始折叠子图、ELK 家族选项、手绘、显式离线资源及 PNG/JPG/WebP/SVG/PDF 静态导出。数学依赖为正式 `py-visactor-katex==0.1.0`,无需相邻源码目录接线。关系图使用真实 ELK,mindmap/tidy、architecture、泳道、时间日历、Git、C4、铁路图和 ZenUML 保留各自专用算法;treeView 使用源 preorder 行布局。原生布局和图种可通过 Python provider 注册。Dagre 功能、选项、目标依赖与算法回退完全排除,见[布局策略](https://github.com/py-VisActor/py-mermaid/blob/main/docs/LAYOUT_POLICY.md)。各入口的实现、分组复验与同候选验收分别记账,不以源码存在或少量图片宣称完整兼容;本批执行同候选回归及 Windows/Linux 隔离安装门禁;实际结果和不同平台证据见[发行状态](https://github.com/py-VisActor/py-mermaid/blob/main/docs/RELEASE_STATUS.md)。
101
+
102
+ 验收比较功能、内容、关系、可读性和安全;跨 DOM/Canvas 像素仅诊断。正常字体/抗锯齿/自然尺寸/合法路由差异允许存在,漏内容和错误关系必须失败。
103
+
104
+ ## 研发入口
105
+
106
+ 本轮顺序为全部保留源码 → 来源独立测试 → 全分组首跑/批修 → 同候选最终验收。见[当前计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/CLOSURE_BATCH_PLAN.md)、[共享接口](https://github.com/py-VisActor/py-mermaid/blob/main/docs/BULK_STATIC_INTERFACES.md)、[统一批次日志/报告](https://github.com/py-VisActor/py-mermaid/blob/main/tools/BULK_REPORTS.md)及[发布状态](https://github.com/py-VisActor/py-mermaid/blob/main/docs/RELEASE_STATUS.md)。
107
+
108
+ [完整迁移计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/FULL_MIGRATION_PLAN.md)、[任务图](https://github.com/py-VisActor/py-mermaid/blob/main/references/migration-execution.json)、[完整功能分母](https://github.com/py-VisActor/py-mermaid/blob/main/docs/compatibility.json)及[依赖来源树](https://github.com/py-VisActor/py-mermaid/blob/main/docs/DEPENDENCY_MIGRATION.md)保留全范围来源;当前范围为全部38个 Mermaid 入口及 VChart 接线,按[收口计划](https://github.com/py-VisActor/py-mermaid/blob/main/docs/CLOSURE_BATCH_PLAN.md)与图表供应方职责验收;[31入口批次](https://github.com/py-VisActor/py-mermaid/blob/main/references/bulk-scope.json)仅为历史记录。[Canvas冒烟示例](https://github.com/py-VisActor/py-mermaid/blob/main/examples/canvas_smoke.py)只验证基础依赖。
109
+
110
+ 固定上游 ELK radial 容器可能产生子节点超出原外框的已知缺陷;保留真实引擎框与 A/B 图并单独标记,不通过扩大边框掩盖。外部 Font Awesome CSS 需以同名离线 IconResource 显式提供;字体、图片不自动联网。全语言自动断词字典不在当前原生标签合同中。
@@ -0,0 +1,71 @@
1
+ # 第三方来源与许可
2
+
3
+ 本项目沿用根 [MIT LICENSE](LICENSE)。
4
+
5
+ - Mermaid:固定 12.2.0 / `1fb7869866dd619168d840291c9c54b4f129758b`,MIT;版权原文保留于 [references/licenses/mermaid-LICENSE](references/licenses/mermaid-LICENSE),随本包分发。F01.1 基础流程图语法、配置、样式和几何职责的来源映射位于 `references/f011-*-sources.json`;F01.2 的经典形状、组/边标签、子图与复合布局来源位于 `references/f012-*-sources.json`;F01.3 的前处理、主题/样式、富标签和标题来源位于 `references/f013-*-sources.json`。完整参考 checkout 不进入发行包。
6
+ - py-skia-canvas:依赖 0.1.0a18,使用其公开 Python API。其 wheel 内含自身及 Rust/Skia 等第三方许可;本项目不复制其核心或原生库。
7
+ - Khroma:固定本地官方构建依赖 `khroma@2.1.0`,MIT;颜色通道、调整、反色、HSL 意图、透明度、序列化与颜色名规则移植为纯 Python,支持完整主题的连续派生计算。来源见 `references/f013-parser-sources.json` 与 `docs/changes/bulk-shared-khroma-P3.json`,许可证保留于 [khroma-LICENSE](references/licenses/khroma-LICENSE)。生产不导入或解释 JavaScript,不依赖 npm 包。
8
+ - py-visactor-elk:依赖 0.1.0,使用公开 `pyelk.ELK` 接口,不复制其算法源码。该独立分发包自行携带 `MIT AND (EPL-2.0 OR GPL-3.0-or-later) AND Apache-2.0` 许可及来源通知。
9
+ - Mermaid 的 Dagre/ELK/D3/RoughJS/KaTeX/Iconify/ZenUML 等依赖:锁定源码中的包/lock 只提供来源起点,实际移植/打包前逐项审计版本、传递依赖和许可。不能从 Mermaid 主仓库 MIT 推断所有依赖或资源均为 MIT。
10
+ - 系统/用户字体、图标及图片:不随本骨架复制,后续共享 fixture 资源须附独立许可、来源与 SHA。
11
+
12
+ 任何后续源码移植需要同步来源映射和本说明。发布前检查最终 wheel 实际携带的代码、资源、NOTICE 和许可证。
13
+
14
+ ## 2026-11-07 非图表收口来源
15
+
16
+ - `langium@4.4.0`,MIT,字符串单字符转义和 CommonValueConverter 的纯值规则按固定 Mermaid parser bundle 的 sourcesContent 移植;不包含或执行 Langium/JavaScript 运行时。原许可见 [langium-4.4.0-LICENSE](references/licenses/langium-4.4.0-LICENSE)。
17
+ - `dayjs@1.11.21`,MIT,固定 Gantt 日期解析、星期/ISO week/advancedFormat 语义作为 Python 日历实现的来源;生产不加载 Dayjs。原许可见 [dayjs-1.11.21-LICENSE](references/licenses/dayjs-1.11.21-LICENSE)。
18
+ - 两份许可来自对应 npm 精确版本 tarball,SHA512 integrity 已核验;原始元数据、tarball与许可指纹保存在 `CLOSURE-P1-SOURCES-record-20261107T075917Z-c684fc9f`。D3时间/格式规则继续使用已列原许可,不以源码参考引入npm运行依赖。
19
+
20
+ ## 2026-11-06 静态批次新增来源
21
+
22
+ 下列通知记录实际移植来源与已纳入的资产;功能、设备和导出验收状态由执行账本单独记录。
23
+ 统计图表、矩形树图、桑基图和韦恩图已由用户暂缓,其专用依赖不因保留源码而计入本批完成项。
24
+
25
+ - Mermaid 的全部 11 个主题构造与派生颜色规则:固定同一 12.2.0 commit,MIT;
26
+ Python 静态规则与原文件 SHA 见 `references/bulk-themes-sources.json`。
27
+ `tools/port_bulk_themes.mjs` 只在开发阶段读取固定源并生成 Python,不进入生产执行链。
28
+ - D3 的数值/时间/路径职责:时间与过程图使用的比例尺刻度、日期区间、格式和路径规则来自
29
+ 固定开发依赖中的 `d3-array`、`d3-time`、`d3-time-format`、`d3-path`、`d3-shape`。
30
+ 各包 ISC 许可原文分别保留于 `references/licenses/d3-*-LICENSE`;实际文件与算法来源由图种 source map 细化。
31
+ Python 生产不导入 D3,也不保留 selection、DOM 或调度器。
32
+ - `non-layered-tidy-tree-layout@2.0.2`:MIT,供原源可选 tidy-tree 布局的数值算法迁移;
33
+ 固定 npm tarball 已按 pnpm lock 的 SHA512 校验,只下载源码,没有安装或执行该包。
34
+ 来源回执位于 `.local/bulk-sources/non-layered-tidy-tree-layout-2.0.2/source-receipt.json`,
35
+ 许可随包保留于 `references/licenses/non-layered-tidy-tree-layout-LICENSE`。
36
+ - COSE-Bilkent 与 fCoSE 的专用数值职责:MIT。固定源分别为
37
+ `cytoscape-cose-bilkent@4.1.0` / `cose-base@1.0.3` / `layout-base@1.0.2`,以及
38
+ `cytoscape-fcose@2.2.0` / 其嵌套的 `cose-base@2.2.0` / `layout-base@2.0.1`。
39
+ 原许可按包名与版本分别保留于 `references/licenses/*-LICENSE`,未混合两套依赖版本。
40
+ Python 移植保留专用力学、谱初始化和约束职责;不复制 Cytoscape/浏览器宿主。
41
+ fCoSE 的原生数值适配与来源差异明确列于 `references/bulk-A-F08-sources.json`。
42
+ - `@zenuml/core@3.49.2`:MIT,Copyright (c) 2022 Peng Xiao;
43
+ 固定源 commit 为 `213c239587ffa1f3dbb54d8b64468c3038ced55d`。
44
+ 迁移其专用语法、模型、布局数值职责与自有静态 SVG;
45
+ 许可保留于 `references/licenses/zenuml-core-LICENSE` 及内置 assets 的 `LICENSE-core`。
46
+ 该 MIT 许可不覆盖下列厂商云服务图标。
47
+
48
+ ### ZenUML 云服务图标
49
+
50
+ 内置图标从上述固定 ZenUML 来源原字节保留,只用于图示对应的云服务,保留原色和比例;
51
+ 不将这些图标声明为本项目的 MIT 资产,也不将其用作项目标志。
52
+
53
+ - AWS:EC2、Lambda、IAM、SNS、SQS 图标来自源附带的 `AWS-Asset-Package_02062024`。
54
+ [AWS 官方图标说明](https://aws.amazon.com/architecture/icons/)允许客户和合作伙伴用这些资产制作架构图,
55
+ 并说明图标可出现在文档和演示材料中。本项目按该图示用途集成,厂商保留相关权利。
56
+ - Microsoft:Azure Function 图标来自源附带的 `Azure_Public_Service_Icons`。
57
+ [Azure 官方图标条款](https://learn.microsoft.com/en-us/azure/architecture/icons/)允许架构图、培训材料和文档用途的复制、分发和显示,
58
+ 并限制裁剪、翻转、旋转及改变图标形状等使用。
59
+ 原附带条款 `Microsoft_Terms_of_Use.pdf` 随内置资产一同保留;其他权利归 Microsoft。
60
+
61
+ 上述厂商资源集成依据其图示用途说明,资源文件名、来源 SHA 与具体用途在 ZenUML source map 中单独记录。
62
+
63
+ - RoughJS:固定 roughjs@4.6.6,MIT(Copyright (c) 2019 Preet Shihn)。F01.4 将必要的 seeded Random、线段/Bezier 扰动及手绘填充职责实现为纯 Python,生产不依赖 JavaScript;许可证随包保留于 [roughjs-LICENSE](references/licenses/roughjs-LICENSE),来源见 `references/f014-canvas-sources.json`。
64
+
65
+ - py-visactor-katex:固定正式版本 0.1.0,MIT,Python 导入名 `py_katex`,源码仓库 `py-VisActor/py-katex`。该独立发行包携带 KaTeX 0.18.11 数学字体、度量及来源许可;本项目只调用其 API,不复制其字体或数学实现。
66
+
67
+ - py-visactor-vchart:图表依赖版本 0.1.1,MIT,导入名 `py_vchart`,仓库 `py-VisActor/py-vchart`。发行包保留 VChart、venn.js、fmin 与统计色板的来源许可;本项目通过其公开静态 spec/布局/Canvas API 调用,不内嵌该包源码。NumPy 为该独立包声明的运行依赖;skia-python 仅属于其可选 reference 开发校验模式,不是本项目运行依赖。发行与安装实测状态见 [VChart 接入](docs/VCHART_INTEGRATION.md)。
68
+
69
+ - W3C CSS Color 4:控件初始色值的纯 Python 转换参考官方 `conversions.js` 示例中的矩阵与传递函数,未引入 JavaScript 运行依赖。来源、固定下载 SHA 与 `csswg-drafts` 根许可适用记录见 `references/html-host-semantics.json`。保留 [W3C notice](references/licenses/w3c-css-color-NOTICE.txt)、[完整 Software and Document License 2023](references/licenses/w3c-software-document-license-2023.html)、[官方 short notice](references/licenses/w3c-software-document-short-notice-2023.html) 及 [原仓库许可声明](references/licenses/csswg-drafts-LICENSE.md);这些来源权利与免责声明不被本项目 MIT 声明替换。
70
+
71
+ - Chromium / Skia 色彩状态数值:控件色值归一化还参考固定 Chrome 156.0.8078.76 的 Chromium `skcms_ext` / color-input 调用路径及其精确 DEPS 对应的 Skia `SkColorSpace.h` 传递函数与 D50/ICC 系数,独立改写为 Python 标量计算以保持静态初始色值;不调用或复制其栅格器、字体、设备或浏览器运行实现。Copyright 2025 The Chromium Authors;Copyright 2016 Google Inc.。适用 BSD 许可随包保留于 [chromium-LICENSE](references/licenses/chromium-LICENSE) 与 [skia-LICENSE](references/licenses/skia-LICENSE),固定 revision、原头部及 primary URL/SHA 见 `references/html-host-semantics.json`。
@@ -0,0 +1,35 @@
1
+ [build-system]
2
+ requires = ["setuptools==84.2.1", "wheel==0.48.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "py-visactor-mermaid"
7
+ version = "0.1.0"
8
+ description = "Static Mermaid and VChart diagrams in Python using py-skia-canvas, pyelk and py-katex"
9
+ readme = "README.md"
10
+ requires-python = ">=3.13,<3.14"
11
+ license = "MIT"
12
+ license-files = ["LICENSE", "THIRD_PARTY_NOTICES.md", "references/licenses/*"]
13
+ dependencies = ["py-skia-canvas==0.1.0a18", "py-visactor-elk==0.1.0", "py-visactor-katex==0.1.0", "py-visactor-vchart==0.1.1"]
14
+ classifiers = [
15
+ "Development Status :: 5 - Production/Stable",
16
+ "Programming Language :: Python :: 3.13",
17
+ "Topic :: Multimedia :: Graphics",
18
+ ]
19
+
20
+ [project.optional-dependencies]
21
+ dev = ["build==1.6.1", "setuptools==84.2.1", "wheel==0.48.0"]
22
+
23
+ [project.scripts]
24
+ py-mermaid = "py_mermaid.cli:main"
25
+
26
+ [project.urls]
27
+ Repository = "https://github.com/py-VisActor/py-mermaid"
28
+ Documentation = "https://github.com/py-VisActor/py-mermaid/blob/main/docs/NEW_SESSION.md"
29
+ Issues = "https://github.com/py-VisActor/py-mermaid/issues"
30
+
31
+ [tool.setuptools.packages.find]
32
+ where = ["src"]
33
+
34
+ [tool.setuptools.package-data]
35
+ py_mermaid = ["py.typed", "data/*.json", "diagrams/zenuml/assets/*"]
@@ -0,0 +1,27 @@
1
+ // Copyright 2015 The Chromium Authors
2
+ //
3
+ // Redistribution and use in source and binary forms, with or without
4
+ // modification, are permitted provided that the following conditions are
5
+ // met:
6
+ //
7
+ // * Redistributions of source code must retain the above copyright
8
+ // notice, this list of conditions and the following disclaimer.
9
+ // * Redistributions in binary form must reproduce the above
10
+ // copyright notice, this list of conditions and the following disclaimer
11
+ // in the documentation and/or other materials provided with the
12
+ // distribution.
13
+ // * Neither the name of Google LLC nor the names of its
14
+ // contributors may be used to endorse or promote products derived from
15
+ // this software without specific prior written permission.
16
+ //
17
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 - present, iVis@Bilkent.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 - present, iVis@Bilkent.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,4 @@
1
+ All documents in this Repository are licensed by contributors
2
+ under the
3
+ [W3C Software and Document License](https://www.w3.org/Consortium/Legal/copyright-software).
4
+
@@ -0,0 +1,21 @@
1
+
2
+
3
+ Copyright (c) 2016-2018, The Cytoscape Consortium.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the “Software”), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
+ of the Software, and to permit persons to whom the Software is furnished to do
10
+ so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2018 - present, iVis-at-Bilkent.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the “Software”), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1,13 @@
1
+ Copyright 2010-2026 Mike Bostock
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose
4
+ with or without fee is hereby granted, provided that the above copyright notice
5
+ and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13
+ THIS SOFTWARE.
@@ -0,0 +1,13 @@
1
+ Copyright 2015-2026 Mike Bostock
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose
4
+ with or without fee is hereby granted, provided that the above copyright notice
5
+ and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13
+ THIS SOFTWARE.
@@ -0,0 +1,13 @@
1
+ Copyright 2010-2026 Mike Bostock
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose
4
+ with or without fee is hereby granted, provided that the above copyright notice
5
+ and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13
+ THIS SOFTWARE.
@@ -0,0 +1,13 @@
1
+ Copyright 2010-2026 Mike Bostock
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose
4
+ with or without fee is hereby granted, provided that the above copyright notice
5
+ and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13
+ THIS SOFTWARE.
@@ -0,0 +1,13 @@
1
+ Copyright 2010-2026 Mike Bostock
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose
4
+ with or without fee is hereby granted, provided that the above copyright notice
5
+ and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13
+ THIS SOFTWARE.