termaid 0.2.0__tar.gz → 0.2.1__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.
- {termaid-0.2.0 → termaid-0.2.1}/CHANGELOG.md +5 -0
- {termaid-0.2.0 → termaid-0.2.1}/PKG-INFO +5 -1
- {termaid-0.2.0 → termaid-0.2.1}/README.md +4 -0
- {termaid-0.2.0 → termaid-0.2.1}/pyproject.toml +1 -1
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/__init__.py +3 -1
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/cli.py +9 -1
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/layout/grid.py +6 -4
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/output/text.py +2 -1
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/draw.py +5 -2
- {termaid-0.2.0 → termaid-0.2.1}/.github/workflows/ci.yml +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/.github/workflows/publish.yml +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/.gitignore +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/CONTRIBUTING.md +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/LICENSE +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/demo/demo.tape +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/demo/erdiagram.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/demo/flowchart.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/demo/gitgraph.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/demo/sequence.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/demo/termaid-demo.gif +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/__main__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/graph/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/graph/model.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/graph/shapes.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/layout/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/blockdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/classdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/erdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/gitgraph.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/piechart.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/sequence.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/model/treemap.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/output/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/output/rich.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/output/widget.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/blockdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/classdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/erdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/flowchart.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/gitgraph.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/piechart.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/sequence.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/statediagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/tokens.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/parser/treemap.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/py.typed +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/blockdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/canvas.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/charset.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/classdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/erdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/gitgraph.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/piechart.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/sequence.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/shapes/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/themes.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/renderer/treemap.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/routing/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/routing/pathfinder.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/src/termaid/routing/router.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/__init__.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/conftest.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/blockdiagram/basic.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/blockdiagram/col_span.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/blockdiagram/grid.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/blockdiagram/links.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/classdiagram/annotation.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/classdiagram/basic.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/classdiagram/inheritance.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/classdiagram/relationships.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/erdiagram/attributes.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/erdiagram/basic.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/erdiagram/dashed.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/erdiagram/multiple_entities.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/all_shapes.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/ampersand_both.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/backlink_complex.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/bidir_dotted.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/bidir_labeled.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/bidir_td.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/bidir_thick.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/bidirectional.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/blockdiagram/basic.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/blockdiagram/col_span.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/blockdiagram/grid.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/blockdiagram/links.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/branching.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/chain.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/classdiagram/annotation.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/classdiagram/basic.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/classdiagram/inheritance.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/classdiagram/relationships.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/comments.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/cycle.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/diamond.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/dotted_arrow.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/duplicate_labels.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/empty_graph.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/erdiagram/attributes.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/erdiagram/basic.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/erdiagram/dashed.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/erdiagram/multiple_entities.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/fan_in.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/fan_out.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/flowchart_keyword.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/gitgraph/cherry_pick.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/gitgraph/feature_branch.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/gitgraph/linear.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/gitgraph/tags.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/gitgraph/tb_direction.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/graph_bt.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/graph_rl.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/labeled_edges.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/large_graph.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/long_labels.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/mermaid_comprehensive.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/mixed_arrow_styles.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/multiple_links.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/no_arrow_dotted.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/no_arrow_solid.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/no_arrow_thick.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/node_with_label.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/parallelogram.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/self_ref_with_edge.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/self_reference.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/semicolons.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/arrows.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/autonumber.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/basic.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/multiline_notes.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/nested_blocks.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/notes.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/participant_kinds.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/sequence/self_message.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/simple_lr.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/simple_tb.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/simple_td.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/single_node.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/statediagram/basic.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/statediagram/choice.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/statediagram/composite.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/statediagram/start_end.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/subgraph_basic.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/subgraph_nested.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/subgraph_three_levels.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/subgraph_two_separate.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/subgraph_with_labels.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/thick_arrow.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/three_nodes_inline.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/trapezoid.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/two_roots.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/expected/unicode_labels.txt +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/all_shapes.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/ampersand_both.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/backlink_complex.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/bidir_dotted.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/bidir_labeled.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/bidir_td.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/bidir_thick.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/bidirectional.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/branching.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/chain.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/comments.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/cycle.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/diamond.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/dotted_arrow.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/duplicate_labels.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/empty_graph.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/fan_in.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/fan_out.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/flowchart_keyword.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/graph_bt.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/graph_rl.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/labeled_edges.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/large_graph.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/long_labels.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/mermaid_comprehensive.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/mixed_arrow_styles.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/multiple_links.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/no_arrow_dotted.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/no_arrow_solid.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/no_arrow_thick.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/node_with_label.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/parallelogram.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/self_ref_with_edge.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/self_reference.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/semicolons.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/simple_lr.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/simple_tb.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/simple_td.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/single_node.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/subgraph_basic.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/subgraph_nested.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/subgraph_three_levels.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/subgraph_two_separate.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/subgraph_with_labels.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/thick_arrow.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/three_nodes_inline.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/trapezoid.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/two_roots.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/flowcharts/unicode_labels.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/gitgraph/cherry_pick.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/gitgraph/feature_branch.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/gitgraph/linear.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/gitgraph/tags.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/gitgraph/tb_direction.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/arrows.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/autonumber.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/basic.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/multiline_notes.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/nested_blocks.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/notes.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/participant_kinds.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/sequence/self_message.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/statediagram/basic.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/statediagram/choice.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/statediagram/composite.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/fixtures/statediagram/start_end.mmd +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_blockdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_classdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_cli.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_corner_cases.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_edge_styles.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_erdiagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_gitgraph.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_integration.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_layout.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_parser_comprehensive.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_piechart.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_renderer.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_routing.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_sequence.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_shapes.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_snapshots.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_state_diagram.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_themes.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_treemap.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/tests/test_warnings.py +0 -0
- {termaid-0.2.0 → termaid-0.2.1}/uv.lock +0 -0
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.1 (2026-03-25)
|
|
4
|
+
|
|
5
|
+
- Add `--gap` CLI flag and `gap` parameter for compact diagram spacing
|
|
6
|
+
- Document wide LR diagram workarounds in README
|
|
7
|
+
|
|
3
8
|
## 0.2.0 (2026-03-20)
|
|
4
9
|
|
|
5
10
|
- Add pie chart support (`pie` syntax, rendered as horizontal bar charts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: termaid
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Render Mermaid diagrams in your terminal or Python app
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -34,6 +34,8 @@ Description-Content-Type: text/markdown
|
|
|
34
34
|
<img src="demo/termaid-demo.gif" alt="termaid demo" width="800">
|
|
35
35
|
</p>
|
|
36
36
|
|
|
37
|
+
**[Try it online at termaid.com](https://termaid.com)**
|
|
38
|
+
|
|
37
39
|
## Features
|
|
38
40
|
|
|
39
41
|
- **9 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, and treemaps
|
|
@@ -409,6 +411,7 @@ treemap-beta
|
|
|
409
411
|
| `--theme NAME` | Color theme: `default`, `terra`, `neon`, `mono`, `amber`, `phosphor` (requires `pip install termaid[rich]`) |
|
|
410
412
|
| `--padding-x N` | Horizontal padding inside boxes (default: 4) |
|
|
411
413
|
| `--padding-y N` | Vertical padding inside boxes (default: 2) |
|
|
414
|
+
| `--gap N` | Space between nodes (default: 4). Use `1` or `2` for compact diagrams |
|
|
412
415
|
| `--sharp-edges` | Sharp corners on edge turns instead of rounded |
|
|
413
416
|
|
|
414
417
|
## Python API
|
|
@@ -457,6 +460,7 @@ pip install termaid[textual] # Textual TUI widget
|
|
|
457
460
|
|
|
458
461
|
- **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Graphs with many cross-layer edges may still produce crossings.
|
|
459
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.
|
|
460
464
|
|
|
461
465
|
## Acknowledgements
|
|
462
466
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
<img src="demo/termaid-demo.gif" alt="termaid demo" width="800">
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
|
+
**[Try it online at termaid.com](https://termaid.com)**
|
|
10
|
+
|
|
9
11
|
## Features
|
|
10
12
|
|
|
11
13
|
- **9 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, and treemaps
|
|
@@ -381,6 +383,7 @@ treemap-beta
|
|
|
381
383
|
| `--theme NAME` | Color theme: `default`, `terra`, `neon`, `mono`, `amber`, `phosphor` (requires `pip install termaid[rich]`) |
|
|
382
384
|
| `--padding-x N` | Horizontal padding inside boxes (default: 4) |
|
|
383
385
|
| `--padding-y N` | Vertical padding inside boxes (default: 2) |
|
|
386
|
+
| `--gap N` | Space between nodes (default: 4). Use `1` or `2` for compact diagrams |
|
|
384
387
|
| `--sharp-edges` | Sharp corners on edge turns instead of rounded |
|
|
385
388
|
|
|
386
389
|
## Python API
|
|
@@ -429,6 +432,7 @@ pip install termaid[textual] # Textual TUI widget
|
|
|
429
432
|
|
|
430
433
|
- **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Graphs with many cross-layer edges may still produce crossings.
|
|
431
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.
|
|
432
436
|
|
|
433
437
|
## Acknowledgements
|
|
434
438
|
|
|
@@ -42,6 +42,7 @@ def render(
|
|
|
42
42
|
padding_x: int = 4,
|
|
43
43
|
padding_y: int = 2,
|
|
44
44
|
rounded_edges: bool = True,
|
|
45
|
+
gap: int = 4,
|
|
45
46
|
) -> str:
|
|
46
47
|
"""Render mermaid syntax as Unicode (or ASCII) art.
|
|
47
48
|
|
|
@@ -50,6 +51,7 @@ def render(
|
|
|
50
51
|
use_ascii: Use ASCII characters instead of Unicode box-drawing
|
|
51
52
|
padding_x: Horizontal padding inside node boxes
|
|
52
53
|
padding_y: Vertical padding inside node boxes
|
|
54
|
+
gap: Space between nodes (default: 4)
|
|
53
55
|
|
|
54
56
|
Returns:
|
|
55
57
|
Rendered diagram as a string
|
|
@@ -104,7 +106,7 @@ def render(
|
|
|
104
106
|
|
|
105
107
|
graph = parse(text)
|
|
106
108
|
from .output.text import render_text
|
|
107
|
-
return render_text(graph, use_ascii=use_ascii, padding_x=padding_x, padding_y=padding_y, rounded_edges=rounded_edges)
|
|
109
|
+
return render_text(graph, use_ascii=use_ascii, padding_x=padding_x, padding_y=padding_y, rounded_edges=rounded_edges, gap=gap)
|
|
108
110
|
except Exception as exc:
|
|
109
111
|
return f"[termaid] Failed to render diagram: {exc}"
|
|
110
112
|
|
|
@@ -34,6 +34,12 @@ def main(argv: list[str] | None = None) -> int:
|
|
|
34
34
|
default=2,
|
|
35
35
|
help="Vertical padding inside node boxes (default: 2)",
|
|
36
36
|
)
|
|
37
|
+
parser.add_argument(
|
|
38
|
+
"--gap",
|
|
39
|
+
type=int,
|
|
40
|
+
default=4,
|
|
41
|
+
help="Space between nodes (default: 4). Use 1 or 2 for compact diagrams.",
|
|
42
|
+
)
|
|
37
43
|
parser.add_argument(
|
|
38
44
|
"--sharp-edges",
|
|
39
45
|
action="store_true",
|
|
@@ -53,7 +59,7 @@ def main(argv: list[str] | None = None) -> int:
|
|
|
53
59
|
parser.add_argument(
|
|
54
60
|
"--version",
|
|
55
61
|
action="version",
|
|
56
|
-
version="%(prog)s 0.1
|
|
62
|
+
version="%(prog)s 0.2.1",
|
|
57
63
|
)
|
|
58
64
|
|
|
59
65
|
args = parser.parse_args(argv)
|
|
@@ -104,6 +110,7 @@ def main(argv: list[str] | None = None) -> int:
|
|
|
104
110
|
padding_x=args.padding_x,
|
|
105
111
|
padding_y=args.padding_y,
|
|
106
112
|
rounded_edges=not args.sharp_edges,
|
|
113
|
+
gap=args.gap,
|
|
107
114
|
))
|
|
108
115
|
|
|
109
116
|
DiagramApp().run()
|
|
@@ -145,6 +152,7 @@ def main(argv: list[str] | None = None) -> int:
|
|
|
145
152
|
padding_x=args.padding_x,
|
|
146
153
|
padding_y=args.padding_y,
|
|
147
154
|
rounded_edges=not args.sharp_edges,
|
|
155
|
+
gap=args.gap,
|
|
148
156
|
)
|
|
149
157
|
print(result)
|
|
150
158
|
except Exception as e:
|
|
@@ -105,7 +105,8 @@ class GridLayout:
|
|
|
105
105
|
return x + w // 2, y + h // 2
|
|
106
106
|
|
|
107
107
|
|
|
108
|
-
def compute_layout(graph: Graph, padding_x: int = 4, padding_y: int = 2) -> GridLayout:
|
|
108
|
+
def compute_layout(graph: Graph, padding_x: int = 4, padding_y: int = 2, gap: int = 4) -> GridLayout:
|
|
109
|
+
gap = max(gap, 1) # minimum 1 for arrow visibility
|
|
109
110
|
"""Compute the grid layout for a graph."""
|
|
110
111
|
layout = GridLayout()
|
|
111
112
|
direction = graph.direction.normalized()
|
|
@@ -123,7 +124,7 @@ def compute_layout(graph: Graph, padding_x: int = 4, padding_y: int = 2) -> Grid
|
|
|
123
124
|
_place_nodes(graph, layout, layer_order, direction)
|
|
124
125
|
|
|
125
126
|
# Step 4: Compute column widths and row heights (with word wrapping)
|
|
126
|
-
_compute_sizes(graph, layout, padding_x, padding_y)
|
|
127
|
+
_compute_sizes(graph, layout, padding_x, padding_y, gap)
|
|
127
128
|
|
|
128
129
|
# Step 4b: Normalize sizes (per-layer, capped)
|
|
129
130
|
_normalize_sizes(graph, layout)
|
|
@@ -483,6 +484,7 @@ def _compute_sizes(
|
|
|
483
484
|
layout: GridLayout,
|
|
484
485
|
padding_x: int,
|
|
485
486
|
padding_y: int,
|
|
487
|
+
gap: int = 4,
|
|
486
488
|
) -> None:
|
|
487
489
|
"""Compute column widths and row heights based on node content."""
|
|
488
490
|
for nid, placement in layout.placements.items():
|
|
@@ -545,10 +547,10 @@ def _compute_sizes(
|
|
|
545
547
|
max_row = max(all_rows) if all_rows else 0
|
|
546
548
|
for c in range(max_col + 2):
|
|
547
549
|
if c not in layout.col_widths:
|
|
548
|
-
layout.col_widths[c] =
|
|
550
|
+
layout.col_widths[c] = gap # gap columns
|
|
549
551
|
for r in range(max_row + 2):
|
|
550
552
|
if r not in layout.row_heights:
|
|
551
|
-
layout.row_heights[r] =
|
|
553
|
+
layout.row_heights[r] = max(gap - 1, 1) # gap rows
|
|
552
554
|
|
|
553
555
|
# Expand gaps to fit edge labels
|
|
554
556
|
_expand_gaps_for_edge_labels(graph, layout)
|
|
@@ -11,6 +11,7 @@ def render_text(
|
|
|
11
11
|
padding_x: int = 4,
|
|
12
12
|
padding_y: int = 2,
|
|
13
13
|
rounded_edges: bool = True,
|
|
14
|
+
gap: int = 4,
|
|
14
15
|
) -> str:
|
|
15
16
|
"""Render a graph to plain text."""
|
|
16
|
-
return render_graph(graph, use_ascii=use_ascii, padding_x=padding_x, padding_y=padding_y, rounded_edges=rounded_edges)
|
|
17
|
+
return render_graph(graph, use_ascii=use_ascii, padding_x=padding_x, padding_y=padding_y, rounded_edges=rounded_edges, gap=gap)
|
|
@@ -27,6 +27,7 @@ def render_graph(
|
|
|
27
27
|
padding_x: int = 4,
|
|
28
28
|
padding_y: int = 2,
|
|
29
29
|
rounded_edges: bool = True,
|
|
30
|
+
gap: int = 4,
|
|
30
31
|
) -> str:
|
|
31
32
|
"""Render a graph to a string.
|
|
32
33
|
|
|
@@ -36,13 +37,14 @@ def render_graph(
|
|
|
36
37
|
padding_x: Horizontal padding inside node boxes
|
|
37
38
|
padding_y: Vertical padding inside node boxes
|
|
38
39
|
rounded_edges: Use rounded corners on edge turns (╭╮╰╯ vs ┌┐└┘)
|
|
40
|
+
gap: Space between nodes (default: 4)
|
|
39
41
|
|
|
40
42
|
Returns:
|
|
41
43
|
The rendered diagram as a string
|
|
42
44
|
"""
|
|
43
45
|
canvas = render_graph_canvas(
|
|
44
46
|
graph, use_ascii=use_ascii, padding_x=padding_x, padding_y=padding_y,
|
|
45
|
-
rounded_edges=rounded_edges,
|
|
47
|
+
rounded_edges=rounded_edges, gap=gap,
|
|
46
48
|
)
|
|
47
49
|
if canvas is None:
|
|
48
50
|
return ""
|
|
@@ -55,6 +57,7 @@ def render_graph_canvas(
|
|
|
55
57
|
padding_x: int = 4,
|
|
56
58
|
padding_y: int = 2,
|
|
57
59
|
rounded_edges: bool = True,
|
|
60
|
+
gap: int = 4,
|
|
58
61
|
) -> Canvas | None:
|
|
59
62
|
"""Render a graph and return the Canvas (with style info).
|
|
60
63
|
|
|
@@ -77,7 +80,7 @@ def render_graph_canvas(
|
|
|
77
80
|
graph.direction = Direction.LR
|
|
78
81
|
|
|
79
82
|
# Layout
|
|
80
|
-
layout = compute_layout(graph, padding_x, padding_y)
|
|
83
|
+
layout = compute_layout(graph, padding_x, padding_y, gap)
|
|
81
84
|
|
|
82
85
|
# Route edges
|
|
83
86
|
routed = route_edges(graph, layout)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|