Skip to main content

Terminal AST visualizer for document trees

Project description

3viz, a terminal AST visualizer for document trees

3viz is designed to simplify reasoning about document trees. The one-line-per-node and columnar layout makes scanning and understanding structure easy, while the textual representations, icons and metadata provide additional information at a glance.

Being line-based, it makes diffing trees useful and can be invaluable in debugging parse trees.

This is a sample output:

⧉ Document                                                                                                                                         7L
  ¶ This is a paragraph:                                                                                                                         2L
    ↵ This is a paragraph:                                                                                                                       1L
    ↵ With two lines.                                                                                                                               1L
    ↵ This document is the nanos spec, showing all elements, but not covering their full variation   1L
  № List                                                                                                                            type=ordered 2L
    §"Session And titles                                                                                                                           2L
      ⊤"Session And titles                                                                                                                        1L
      ⊡ Content                                                                                                                                         1L
        № List                                                                                                                     type=ordered  1L
          •     2. Core Elements                                                                                                                  2L
            ◦     2. Core Elements                                                                                                               1L
            ⊡ Content                                                                                                                                  1L
              ¶         Which should have at least one item.                                                                          1L
                ↵ Which should have at least one item.                                                                                1L
  𝒱 4. A simple code block: (-)                                                                                              13L

Installing

3viz is available on PyPI as treeviz-py, and can be installed with your preferred Python package manager:

$ pipx install treeviz-py  # recommended for global availability

Using 3viz

3viz can be used as a CLI:

$ 3viz <tree_path> <tree_format>

Or as a library:

from treeviz import generate_viz

# Both document and format can be a path to a file, strings, or Python objects
generate_viz(document, format)

Built-in adapters

  • mdast: Markdown Abstract Syntax Tree format used by remark and other Markdown processors
  • unist: Universal Syntax Tree format, the base format for unified ecosystem parsers
  • pandoc: Pandoc's JSON AST format for converting between markup formats
  • restructuredtext: reStructuredText document trees from the docutils library

Learn more

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

treeviz_py-0.0.3.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

treeviz_py-0.0.3-py3-none-any.whl (64.0 kB view details)

Uploaded Python 3

File details

Details for the file treeviz_py-0.0.3.tar.gz.

File metadata

  • Download URL: treeviz_py-0.0.3.tar.gz
  • Upload date:
  • Size: 47.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for treeviz_py-0.0.3.tar.gz
Algorithm Hash digest
SHA256 04cdacc6f28494082f8ccb70d95d2552e1cffa9f6563d48b4a536699c6df23ea
MD5 70fa0ab69364f5d3959e0731ecace456
BLAKE2b-256 bc2add325f97acb3c46c9223780e8e4560eee9281d65d8d63589f2e0411167c2

See more details on using hashes here.

File details

Details for the file treeviz_py-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: treeviz_py-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 64.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for treeviz_py-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3ed04eb57ea3de51e1dbe878f7f05a420b47c6b5fa2c147d6af44bc9f008cddd
MD5 0ec38d8f01c57f38e387c4362efe6122
BLAKE2b-256 361b03a0f4bae85a6842b9d2dde9ea609a727a0ad70ede39a96438d4099ba3b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page