termaid 0.2.1__tar.gz → 0.3.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 (257) hide show
  1. termaid-0.3.0/.gitignore +20 -0
  2. {termaid-0.2.1 → termaid-0.3.0}/PKG-INFO +38 -5
  3. {termaid-0.2.1 → termaid-0.3.0}/README.md +37 -4
  4. termaid-0.3.0/docs/gallery.md +2150 -0
  5. {termaid-0.2.1 → termaid-0.3.0}/pyproject.toml +1 -1
  6. termaid-0.3.0/scripts/generate_gallery.py +94 -0
  7. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/__init__.py +14 -0
  8. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/__main__.py +3 -1
  9. termaid-0.3.0/src/termaid/cli.py +328 -0
  10. termaid-0.3.0/src/termaid/layout/coordinates.py +51 -0
  11. termaid-0.3.0/src/termaid/layout/grid.py +194 -0
  12. termaid-0.3.0/src/termaid/layout/layers.py +443 -0
  13. termaid-0.3.0/src/termaid/layout/placement.py +295 -0
  14. termaid-0.3.0/src/termaid/layout/subgraphs.py +186 -0
  15. termaid-0.3.0/src/termaid/model/mindmap.py +23 -0
  16. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/flowchart.py +33 -2
  17. termaid-0.3.0/src/termaid/parser/mindmap.py +81 -0
  18. termaid-0.3.0/src/termaid/renderer/canvas.py +301 -0
  19. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/draw.py +40 -16
  20. termaid-0.3.0/src/termaid/renderer/mindmap.py +294 -0
  21. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/routing/router.py +101 -2
  22. {termaid-0.2.1 → termaid-0.3.0}/tests/test_cli.py +51 -0
  23. {termaid-0.2.1 → termaid-0.3.0}/tests/test_corner_cases.py +163 -1
  24. {termaid-0.2.1 → termaid-0.3.0}/tests/test_edge_styles.py +10 -8
  25. termaid-0.3.0/tests/test_mindmap.py +102 -0
  26. termaid-0.3.0/tests/test_rendering_quality.py +236 -0
  27. termaid-0.2.1/.gitignore +0 -10
  28. termaid-0.2.1/demo/demo.tape +0 -68
  29. termaid-0.2.1/demo/erdiagram.mmd +0 -19
  30. termaid-0.2.1/demo/flowchart.mmd +0 -6
  31. termaid-0.2.1/demo/gitgraph.mmd +0 -10
  32. termaid-0.2.1/demo/sequence.mmd +0 -13
  33. termaid-0.2.1/src/termaid/cli.py +0 -166
  34. termaid-0.2.1/src/termaid/layout/grid.py +0 -881
  35. termaid-0.2.1/src/termaid/renderer/canvas.py +0 -254
  36. termaid-0.2.1/tests/fixtures/expected/all_shapes.txt +0 -45
  37. termaid-0.2.1/tests/fixtures/expected/ampersand_both.txt +0 -13
  38. termaid-0.2.1/tests/fixtures/expected/backlink_complex.txt +0 -13
  39. termaid-0.2.1/tests/fixtures/expected/bidir_dotted.txt +0 -5
  40. termaid-0.2.1/tests/fixtures/expected/bidir_labeled.txt +0 -5
  41. termaid-0.2.1/tests/fixtures/expected/bidir_td.txt +0 -13
  42. termaid-0.2.1/tests/fixtures/expected/bidir_thick.txt +0 -5
  43. termaid-0.2.1/tests/fixtures/expected/bidirectional.txt +0 -5
  44. termaid-0.2.1/tests/fixtures/expected/blockdiagram/basic.txt +0 -7
  45. termaid-0.2.1/tests/fixtures/expected/blockdiagram/col_span.txt +0 -14
  46. termaid-0.2.1/tests/fixtures/expected/blockdiagram/grid.txt +0 -14
  47. termaid-0.2.1/tests/fixtures/expected/blockdiagram/links.txt +0 -7
  48. termaid-0.2.1/tests/fixtures/expected/branching.txt +0 -13
  49. termaid-0.2.1/tests/fixtures/expected/chain.txt +0 -5
  50. termaid-0.2.1/tests/fixtures/expected/classdiagram/annotation.txt +0 -21
  51. termaid-0.2.1/tests/fixtures/expected/classdiagram/basic.txt +0 -10
  52. termaid-0.2.1/tests/fixtures/expected/classdiagram/inheritance.txt +0 -20
  53. termaid-0.2.1/tests/fixtures/expected/classdiagram/relationships.txt +0 -19
  54. termaid-0.2.1/tests/fixtures/expected/comments.txt +0 -5
  55. termaid-0.2.1/tests/fixtures/expected/cycle.txt +0 -7
  56. termaid-0.2.1/tests/fixtures/expected/diamond.txt +0 -23
  57. termaid-0.2.1/tests/fixtures/expected/dotted_arrow.txt +0 -5
  58. termaid-0.2.1/tests/fixtures/expected/duplicate_labels.txt +0 -13
  59. termaid-0.2.1/tests/fixtures/expected/empty_graph.txt +0 -5
  60. termaid-0.2.1/tests/fixtures/expected/erdiagram/attributes.txt +0 -20
  61. termaid-0.2.1/tests/fixtures/expected/erdiagram/basic.txt +0 -19
  62. termaid-0.2.1/tests/fixtures/expected/erdiagram/dashed.txt +0 -12
  63. termaid-0.2.1/tests/fixtures/expected/erdiagram/multiple_entities.txt +0 -12
  64. termaid-0.2.1/tests/fixtures/expected/fan_in.txt +0 -13
  65. termaid-0.2.1/tests/fixtures/expected/fan_out.txt +0 -13
  66. termaid-0.2.1/tests/fixtures/expected/flowchart_keyword.txt +0 -5
  67. termaid-0.2.1/tests/fixtures/expected/gitgraph/cherry_pick.txt +0 -7
  68. termaid-0.2.1/tests/fixtures/expected/gitgraph/feature_branch.txt +0 -7
  69. termaid-0.2.1/tests/fixtures/expected/gitgraph/linear.txt +0 -4
  70. termaid-0.2.1/tests/fixtures/expected/gitgraph/tags.txt +0 -4
  71. termaid-0.2.1/tests/fixtures/expected/gitgraph/tb_direction.txt +0 -18
  72. termaid-0.2.1/tests/fixtures/expected/graph_bt.txt +0 -25
  73. termaid-0.2.1/tests/fixtures/expected/graph_rl.txt +0 -5
  74. termaid-0.2.1/tests/fixtures/expected/labeled_edges.txt +0 -13
  75. termaid-0.2.1/tests/fixtures/expected/large_graph.txt +0 -53
  76. termaid-0.2.1/tests/fixtures/expected/long_labels.txt +0 -7
  77. termaid-0.2.1/tests/fixtures/expected/mermaid_comprehensive.txt +0 -13
  78. termaid-0.2.1/tests/fixtures/expected/mixed_arrow_styles.txt +0 -5
  79. termaid-0.2.1/tests/fixtures/expected/multiple_links.txt +0 -21
  80. termaid-0.2.1/tests/fixtures/expected/no_arrow_dotted.txt +0 -5
  81. termaid-0.2.1/tests/fixtures/expected/no_arrow_solid.txt +0 -5
  82. termaid-0.2.1/tests/fixtures/expected/no_arrow_thick.txt +0 -5
  83. termaid-0.2.1/tests/fixtures/expected/node_with_label.txt +0 -5
  84. termaid-0.2.1/tests/fixtures/expected/parallelogram.txt +0 -5
  85. termaid-0.2.1/tests/fixtures/expected/self_ref_with_edge.txt +0 -5
  86. termaid-0.2.1/tests/fixtures/expected/self_reference.txt +0 -5
  87. termaid-0.2.1/tests/fixtures/expected/semicolons.txt +0 -5
  88. termaid-0.2.1/tests/fixtures/expected/sequence/arrows.txt +0 -16
  89. termaid-0.2.1/tests/fixtures/expected/sequence/autonumber.txt +0 -12
  90. termaid-0.2.1/tests/fixtures/expected/sequence/basic.txt +0 -12
  91. termaid-0.2.1/tests/fixtures/expected/sequence/multiline_notes.txt +0 -19
  92. termaid-0.2.1/tests/fixtures/expected/sequence/nested_blocks.txt +0 -22
  93. termaid-0.2.1/tests/fixtures/expected/sequence/notes.txt +0 -16
  94. termaid-0.2.1/tests/fixtures/expected/sequence/participant_kinds.txt +0 -14
  95. termaid-0.2.1/tests/fixtures/expected/sequence/self_message.txt +0 -12
  96. termaid-0.2.1/tests/fixtures/expected/simple_lr.txt +0 -5
  97. termaid-0.2.1/tests/fixtures/expected/simple_tb.txt +0 -13
  98. termaid-0.2.1/tests/fixtures/expected/simple_td.txt +0 -13
  99. termaid-0.2.1/tests/fixtures/expected/single_node.txt +0 -5
  100. termaid-0.2.1/tests/fixtures/expected/statediagram/basic.txt +0 -21
  101. termaid-0.2.1/tests/fixtures/expected/statediagram/choice.txt +0 -31
  102. termaid-0.2.1/tests/fixtures/expected/statediagram/composite.txt +0 -28
  103. termaid-0.2.1/tests/fixtures/expected/statediagram/start_end.txt +0 -29
  104. termaid-0.2.1/tests/fixtures/expected/subgraph_basic.txt +0 -12
  105. termaid-0.2.1/tests/fixtures/expected/subgraph_nested.txt +0 -27
  106. termaid-0.2.1/tests/fixtures/expected/subgraph_three_levels.txt +0 -24
  107. termaid-0.2.1/tests/fixtures/expected/subgraph_two_separate.txt +0 -12
  108. termaid-0.2.1/tests/fixtures/expected/subgraph_with_labels.txt +0 -12
  109. termaid-0.2.1/tests/fixtures/expected/thick_arrow.txt +0 -5
  110. termaid-0.2.1/tests/fixtures/expected/three_nodes_inline.txt +0 -5
  111. termaid-0.2.1/tests/fixtures/expected/trapezoid.txt +0 -5
  112. termaid-0.2.1/tests/fixtures/expected/two_roots.txt +0 -13
  113. termaid-0.2.1/tests/fixtures/expected/unicode_labels.txt +0 -5
  114. {termaid-0.2.1 → termaid-0.3.0}/.github/workflows/ci.yml +0 -0
  115. {termaid-0.2.1 → termaid-0.3.0}/.github/workflows/publish.yml +0 -0
  116. {termaid-0.2.1 → termaid-0.3.0}/CHANGELOG.md +0 -0
  117. {termaid-0.2.1 → termaid-0.3.0}/CONTRIBUTING.md +0 -0
  118. {termaid-0.2.1 → termaid-0.3.0}/LICENSE +0 -0
  119. {termaid-0.2.1 → termaid-0.3.0}/demo/termaid-demo.gif +0 -0
  120. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/graph/__init__.py +0 -0
  121. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/graph/model.py +0 -0
  122. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/graph/shapes.py +0 -0
  123. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/layout/__init__.py +0 -0
  124. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/__init__.py +0 -0
  125. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/blockdiagram.py +0 -0
  126. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/classdiagram.py +0 -0
  127. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/erdiagram.py +0 -0
  128. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/gitgraph.py +0 -0
  129. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/piechart.py +0 -0
  130. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/sequence.py +0 -0
  131. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/model/treemap.py +0 -0
  132. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/output/__init__.py +0 -0
  133. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/output/rich.py +0 -0
  134. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/output/text.py +0 -0
  135. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/output/widget.py +0 -0
  136. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/__init__.py +0 -0
  137. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/blockdiagram.py +0 -0
  138. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/classdiagram.py +0 -0
  139. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/erdiagram.py +0 -0
  140. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/gitgraph.py +0 -0
  141. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/piechart.py +0 -0
  142. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/sequence.py +0 -0
  143. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/statediagram.py +0 -0
  144. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/tokens.py +0 -0
  145. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/parser/treemap.py +0 -0
  146. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/py.typed +0 -0
  147. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/__init__.py +0 -0
  148. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/blockdiagram.py +0 -0
  149. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/charset.py +0 -0
  150. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/classdiagram.py +0 -0
  151. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/erdiagram.py +0 -0
  152. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/gitgraph.py +0 -0
  153. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/piechart.py +0 -0
  154. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/sequence.py +0 -0
  155. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/shapes/__init__.py +0 -0
  156. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/themes.py +0 -0
  157. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/renderer/treemap.py +0 -0
  158. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/routing/__init__.py +0 -0
  159. {termaid-0.2.1 → termaid-0.3.0}/src/termaid/routing/pathfinder.py +0 -0
  160. {termaid-0.2.1 → termaid-0.3.0}/tests/__init__.py +0 -0
  161. {termaid-0.2.1 → termaid-0.3.0}/tests/conftest.py +0 -0
  162. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/blockdiagram/basic.mmd +0 -0
  163. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/blockdiagram/col_span.mmd +0 -0
  164. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/blockdiagram/grid.mmd +0 -0
  165. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/blockdiagram/links.mmd +0 -0
  166. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/classdiagram/annotation.mmd +0 -0
  167. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/classdiagram/basic.mmd +0 -0
  168. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/classdiagram/inheritance.mmd +0 -0
  169. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/classdiagram/relationships.mmd +0 -0
  170. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/erdiagram/attributes.mmd +0 -0
  171. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/erdiagram/basic.mmd +0 -0
  172. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/erdiagram/dashed.mmd +0 -0
  173. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/erdiagram/multiple_entities.mmd +0 -0
  174. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/all_shapes.mmd +0 -0
  175. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/ampersand_both.mmd +0 -0
  176. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/backlink_complex.mmd +0 -0
  177. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_dotted.mmd +0 -0
  178. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_labeled.mmd +0 -0
  179. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_td.mmd +0 -0
  180. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_thick.mmd +0 -0
  181. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/bidirectional.mmd +0 -0
  182. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/branching.mmd +0 -0
  183. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/chain.mmd +0 -0
  184. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/comments.mmd +0 -0
  185. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/cycle.mmd +0 -0
  186. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/diamond.mmd +0 -0
  187. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/dotted_arrow.mmd +0 -0
  188. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/duplicate_labels.mmd +0 -0
  189. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/empty_graph.mmd +0 -0
  190. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/fan_in.mmd +0 -0
  191. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/fan_out.mmd +0 -0
  192. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/flowchart_keyword.mmd +0 -0
  193. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/graph_bt.mmd +0 -0
  194. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/graph_rl.mmd +0 -0
  195. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/labeled_edges.mmd +0 -0
  196. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/large_graph.mmd +0 -0
  197. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/long_labels.mmd +0 -0
  198. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/mermaid_comprehensive.mmd +0 -0
  199. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/mixed_arrow_styles.mmd +0 -0
  200. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/multiple_links.mmd +0 -0
  201. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/no_arrow_dotted.mmd +0 -0
  202. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/no_arrow_solid.mmd +0 -0
  203. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/no_arrow_thick.mmd +0 -0
  204. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/node_with_label.mmd +0 -0
  205. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/parallelogram.mmd +0 -0
  206. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/self_ref_with_edge.mmd +0 -0
  207. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/self_reference.mmd +0 -0
  208. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/semicolons.mmd +0 -0
  209. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/simple_lr.mmd +0 -0
  210. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/simple_tb.mmd +0 -0
  211. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/simple_td.mmd +0 -0
  212. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/single_node.mmd +0 -0
  213. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_basic.mmd +0 -0
  214. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_nested.mmd +0 -0
  215. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_three_levels.mmd +0 -0
  216. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_two_separate.mmd +0 -0
  217. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_with_labels.mmd +0 -0
  218. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/thick_arrow.mmd +0 -0
  219. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/three_nodes_inline.mmd +0 -0
  220. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/trapezoid.mmd +0 -0
  221. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/two_roots.mmd +0 -0
  222. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/flowcharts/unicode_labels.mmd +0 -0
  223. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/gitgraph/cherry_pick.mmd +0 -0
  224. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/gitgraph/feature_branch.mmd +0 -0
  225. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/gitgraph/linear.mmd +0 -0
  226. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/gitgraph/tags.mmd +0 -0
  227. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/gitgraph/tb_direction.mmd +0 -0
  228. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/arrows.mmd +0 -0
  229. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/autonumber.mmd +0 -0
  230. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/basic.mmd +0 -0
  231. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/multiline_notes.mmd +0 -0
  232. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/nested_blocks.mmd +0 -0
  233. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/notes.mmd +0 -0
  234. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/participant_kinds.mmd +0 -0
  235. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/sequence/self_message.mmd +0 -0
  236. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/statediagram/basic.mmd +0 -0
  237. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/statediagram/choice.mmd +0 -0
  238. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/statediagram/composite.mmd +0 -0
  239. {termaid-0.2.1 → termaid-0.3.0}/tests/fixtures/statediagram/start_end.mmd +0 -0
  240. {termaid-0.2.1 → termaid-0.3.0}/tests/test_blockdiagram.py +0 -0
  241. {termaid-0.2.1 → termaid-0.3.0}/tests/test_classdiagram.py +0 -0
  242. {termaid-0.2.1 → termaid-0.3.0}/tests/test_erdiagram.py +0 -0
  243. {termaid-0.2.1 → termaid-0.3.0}/tests/test_gitgraph.py +0 -0
  244. {termaid-0.2.1 → termaid-0.3.0}/tests/test_integration.py +0 -0
  245. {termaid-0.2.1 → termaid-0.3.0}/tests/test_layout.py +0 -0
  246. {termaid-0.2.1 → termaid-0.3.0}/tests/test_parser_comprehensive.py +0 -0
  247. {termaid-0.2.1 → termaid-0.3.0}/tests/test_piechart.py +0 -0
  248. {termaid-0.2.1 → termaid-0.3.0}/tests/test_renderer.py +0 -0
  249. {termaid-0.2.1 → termaid-0.3.0}/tests/test_routing.py +0 -0
  250. {termaid-0.2.1 → termaid-0.3.0}/tests/test_sequence.py +0 -0
  251. {termaid-0.2.1 → termaid-0.3.0}/tests/test_shapes.py +0 -0
  252. {termaid-0.2.1 → termaid-0.3.0}/tests/test_snapshots.py +0 -0
  253. {termaid-0.2.1 → termaid-0.3.0}/tests/test_state_diagram.py +0 -0
  254. {termaid-0.2.1 → termaid-0.3.0}/tests/test_themes.py +0 -0
  255. {termaid-0.2.1 → termaid-0.3.0}/tests/test_treemap.py +0 -0
  256. {termaid-0.2.1 → termaid-0.3.0}/tests/test_warnings.py +0 -0
  257. {termaid-0.2.1 → termaid-0.3.0}/uv.lock +0 -0
@@ -0,0 +1,20 @@
1
+ .DS_Store
2
+ __pycache__/
3
+ *.pyc
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .venv/
8
+ .pytest_cache/
9
+ # Scratch diagram files in root
10
+ /*.mmd
11
+
12
+ # Demo source files (tape scripts, scratch mmd) — keep only the gif
13
+ demo/*.tape
14
+ demo/*.mmd
15
+ demo/.DS_Store
16
+
17
+ # Other scratch files
18
+ .coverage
19
+ *.txt
20
+ screenshot.png
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: termaid
3
- Version: 0.2.1
3
+ Version: 0.3.0
4
4
  Summary: Render Mermaid diagrams in your terminal or Python app
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -38,8 +38,9 @@ Description-Content-Type: text/markdown
38
38
 
39
39
  ## Features
40
40
 
41
- - **9 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, and treemaps
41
+ - **10 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, treemaps, and mindmaps
42
42
  - **Zero dependencies:** pure Python, nothing to install beyond the package itself
43
+ - **Terminal-aware:** auto-fits diagrams to terminal width with progressive compaction
43
44
  - **Rich and Textual integration:** colored output and TUI widgets with optional extras
44
45
  - **6 color themes:** default, terra, neon, mono, amber, phosphor
45
46
  - **ASCII fallback:** works on any terminal, even the most basic ones
@@ -402,6 +403,30 @@ treemap-beta
402
403
 
403
404
  **Features:** nested sections via indentation, `"label": value` syntax, proportional sizing, `%%` comments
404
405
 
406
+ ### Mindmaps
407
+
408
+ ```mermaid
409
+ mindmap
410
+ Project
411
+ Design
412
+ Wireframes
413
+ Mockups
414
+ Development
415
+ Frontend
416
+ Backend
417
+ Testing
418
+ ```
419
+
420
+ ```
421
+ ╭─ Design ──╭─ Wireframes
422
+ │ ╰─ Mockups
423
+ Project ──├─ Development ──╭─ Frontend
424
+ │ ╰─ Backend
425
+ ╰─ Testing
426
+ ```
427
+
428
+ **Features:** indentation-based nesting, automatic overflow to the left when many children, rounded/sharp/ASCII branch characters, Mermaid shape markers stripped (`(round)`, `[square]`, `{{hexagon}}`, `)cloud(`)
429
+
405
430
  ## CLI options
406
431
 
407
432
  | Flag | Description |
@@ -412,7 +437,11 @@ treemap-beta
412
437
  | `--padding-x N` | Horizontal padding inside boxes (default: 4) |
413
438
  | `--padding-y N` | Vertical padding inside boxes (default: 2) |
414
439
  | `--gap N` | Space between nodes (default: 4). Use `1` or `2` for compact diagrams |
440
+ | `--width N` | Max output width. Re-renders with smaller gap/padding if exceeded |
441
+ | `--no-auto-fit` | Disable automatic compaction when diagram exceeds terminal width |
415
442
  | `--sharp-edges` | Sharp corners on edge turns instead of rounded |
443
+ | `-o FILE` | Write output to file instead of stdout |
444
+ | `--show-ids` | Show node IDs alongside labels for debugging (e.g. `myId: My Label`) |
416
445
 
417
446
  ## Python API
418
447
 
@@ -458,9 +487,13 @@ pip install termaid[textual] # Textual TUI widget
458
487
 
459
488
  ## Limitations
460
489
 
461
- - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Graphs with many cross-layer edges may still produce crossings.
462
- - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. Very dense graphs may have overlapping edges.
463
- - **Wide LR diagrams.** Long horizontal chains can exceed terminal width. Use `--gap 1` or `--padding-x 0` for compact output, or pipe through `less -S` for horizontal scrolling.
490
+ - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Very dense graphs may still produce some edge crossings.
491
+ - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. The engine auto-expands gaps for crossing edges and biases toward flow-aligned routes.
492
+ - **Wide diagrams.** The CLI auto-compacts when the diagram exceeds terminal width. For very wide LR chains, use `--width N`, `--gap 1`, or pipe through `less -S`.
493
+
494
+ ## Gallery
495
+
496
+ See [docs/gallery.md](docs/gallery.md) for rendered examples of all 78 supported diagram fixtures.
464
497
 
465
498
  ## Acknowledgements
466
499
 
@@ -10,8 +10,9 @@
10
10
 
11
11
  ## Features
12
12
 
13
- - **9 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, and treemaps
13
+ - **10 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, treemaps, and mindmaps
14
14
  - **Zero dependencies:** pure Python, nothing to install beyond the package itself
15
+ - **Terminal-aware:** auto-fits diagrams to terminal width with progressive compaction
15
16
  - **Rich and Textual integration:** colored output and TUI widgets with optional extras
16
17
  - **6 color themes:** default, terra, neon, mono, amber, phosphor
17
18
  - **ASCII fallback:** works on any terminal, even the most basic ones
@@ -374,6 +375,30 @@ treemap-beta
374
375
 
375
376
  **Features:** nested sections via indentation, `"label": value` syntax, proportional sizing, `%%` comments
376
377
 
378
+ ### Mindmaps
379
+
380
+ ```mermaid
381
+ mindmap
382
+ Project
383
+ Design
384
+ Wireframes
385
+ Mockups
386
+ Development
387
+ Frontend
388
+ Backend
389
+ Testing
390
+ ```
391
+
392
+ ```
393
+ ╭─ Design ──╭─ Wireframes
394
+ │ ╰─ Mockups
395
+ Project ──├─ Development ──╭─ Frontend
396
+ │ ╰─ Backend
397
+ ╰─ Testing
398
+ ```
399
+
400
+ **Features:** indentation-based nesting, automatic overflow to the left when many children, rounded/sharp/ASCII branch characters, Mermaid shape markers stripped (`(round)`, `[square]`, `{{hexagon}}`, `)cloud(`)
401
+
377
402
  ## CLI options
378
403
 
379
404
  | Flag | Description |
@@ -384,7 +409,11 @@ treemap-beta
384
409
  | `--padding-x N` | Horizontal padding inside boxes (default: 4) |
385
410
  | `--padding-y N` | Vertical padding inside boxes (default: 2) |
386
411
  | `--gap N` | Space between nodes (default: 4). Use `1` or `2` for compact diagrams |
412
+ | `--width N` | Max output width. Re-renders with smaller gap/padding if exceeded |
413
+ | `--no-auto-fit` | Disable automatic compaction when diagram exceeds terminal width |
387
414
  | `--sharp-edges` | Sharp corners on edge turns instead of rounded |
415
+ | `-o FILE` | Write output to file instead of stdout |
416
+ | `--show-ids` | Show node IDs alongside labels for debugging (e.g. `myId: My Label`) |
388
417
 
389
418
  ## Python API
390
419
 
@@ -430,9 +459,13 @@ pip install termaid[textual] # Textual TUI widget
430
459
 
431
460
  ## Limitations
432
461
 
433
- - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Graphs with many cross-layer edges may still produce crossings.
434
- - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. Very dense graphs may have overlapping edges.
435
- - **Wide LR diagrams.** Long horizontal chains can exceed terminal width. Use `--gap 1` or `--padding-x 0` for compact output, or pipe through `less -S` for horizontal scrolling.
462
+ - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Very dense graphs may still produce some edge crossings.
463
+ - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. The engine auto-expands gaps for crossing edges and biases toward flow-aligned routes.
464
+ - **Wide diagrams.** The CLI auto-compacts when the diagram exceeds terminal width. For very wide LR chains, use `--width N`, `--gap 1`, or pipe through `less -S`.
465
+
466
+ ## Gallery
467
+
468
+ See [docs/gallery.md](docs/gallery.md) for rendered examples of all 78 supported diagram fixtures.
436
469
 
437
470
  ## Acknowledgements
438
471