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.4.0.tar.gz (51.1 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.4.0-py3-none-any.whl (68.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: treeviz_py-0.4.0.tar.gz
  • Upload date:
  • Size: 51.1 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.4.0.tar.gz
Algorithm Hash digest
SHA256 5231112b45425a584bc32b166bcf8e786af7b7271bb4a3a2b351b62cab9c1ee9
MD5 f5e8a0eaba4c2c33fc08079a330615a1
BLAKE2b-256 a7819badb2f704f5f21a209fceaf76d839a4f73973c5023fef32f808a0fff2d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: treeviz_py-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 68.7 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 761517fbb9e3aaab88527f2a308652a509f077cf928651d45464899c3f3a07d2
MD5 d77781f6b159e23904ac194ae02a5943
BLAKE2b-256 855755f7c77b2d919bc3b697a397b6739c6333388758a7afc4dd1bf040bef990

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