Skip to main content

Package to draw tree structures (tree linux command style)

Project description

lxtree

PyPI version PyPI version

Package to draw tree structures (tree linux command style)


Basic usage

Build the tree structure using TreeNodes. A TreeNode can contain other TreeNodes to represent the tree. When builded you car get a string representation of it, or get string of a sub-tree using some child as root.

Code samples

from lxtree import TreeNode


# Creating root
root = TreeNode('root')

# Adding a list of nodes
root.children = [TreeNode('branch1'), TreeNode('branch3')]

# Insert node
root.insert_child(TreeNode('branch2'), 1)

# Appending to a branch 1 by index
root[0].append_child(TreeNode('branch11'))

# Using index to assign children to branch11
root[0][0] = [TreeNode('leaf111'), TreeNode('leaf112')]

# Use `set_children` to add nodes as argv
root[1].set_children(TreeNode('leaf21'), TreeNode('leaf22'), TreeNode('leaf23'))

# Print tree
print(root)
Creating all structure at once
root = TreeNode('root').set_children(
  TreeNode('branch1').append_child(
      TreeNode('branch11').set_children(
          TreeNode('leaf111'),
          TreeNode('leaf112')
      )
  ),
  TreeNode('branch2').set_children(
      TreeNode('leaf21'),
      TreeNode('leaf22'),
      TreeNode('leaf23')
  ),
  TreeNode('branch3')
)

print(root)
Creating the tree from a dict
tree_data = {
  'root': {
      'branch1': {
        'branch11': {
          'leaf111': None,
          'leaf112': None
        }
      },
      'branch2': {
        'leaf21': None,
        'leaf22': None,
        'leaf23': None
      },
      'branch3': None
  }
}

print(TreeNode.tree_from_dict(tree_data))

Output

tree_output

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

lxtree-1.0.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

lxtree-1.0.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file lxtree-1.0.0.tar.gz.

File metadata

  • Download URL: lxtree-1.0.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/58.3.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.12

File hashes

Hashes for lxtree-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2cd9ea4e2e7aa3731d38518249b04e8de5654d0838efc8a0c49c9b0a7be7d395
MD5 f568a9cf96f2e1f966a7ed1dc940705c
BLAKE2b-256 ec7bde45d3969a0ce94646014901ce0e5ce23a187af188f352dfa384e3a7e172

See more details on using hashes here.

File details

Details for the file lxtree-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: lxtree-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/58.3.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.12

File hashes

Hashes for lxtree-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bfcbaa2850f2ad5f6cf3ace6248ab7af7f952485a8b888608a0046edf97c99d8
MD5 6f666fc660a5bd57cce3e5d91c146049
BLAKE2b-256 a759ce5e6b846614c3bb8f4872a671d66cb506f5025b32e569816c03d7e58963

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