nutree 1.1.0
pip install nutree
Released:
A Python library for tree data structures with an intuitive, yet powerful, API.
Navigation
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT)
- Author: Martin Wendt
- Maintainer: Martin Wendt
- Tags tree, data structure, digraph, graph, nodes, hierarchy, treelib
-
Provides-Extra:
graph
,random
,all
Classifiers
- Development Status
- Environment
- Intended Audience
- License
- Operating System
- Programming Language
- Topic
Project description
nutree
Nutree is a Python library for tree data structures with an intuitive, yet powerful, API.
Nutree Facts
Handle multiple references of single objects ('clones')
Search by name pattern, id, or object reference
Compare two trees and calculate patches
Unobtrusive handling of arbitrary objects
Save as DOT file and graphwiz diagram
Nodes can be plain strings or objects
(De)Serialize to (compressed) JSON
Save as Mermaid flow diagram
Different traversal methods
Generate random trees
Convert to RDF graph
Fully type annotated
Typed child nodes
Pretty print
Navigation
Filtering
Fast
Example
A simple tree, with text nodes
from nutree import Tree, Node
tree = Tree("Store")
n = tree.add("Records")
n.add("Let It Be")
n.add("Get Yer Ya-Ya's Out!")
n = tree.add("Books")
n.add("The Little Prince")
tree.print()
Tree<'Store'>
├─── 'Records'
│ ├─── 'Let It Be'
│ ╰─── "Get Yer Ya-Ya's Out!"
╰─── 'Books'
╰─── 'The Little Prince'
Tree nodes wrap the data and also expose methods for navigation, searching, iteration, ...
records_node = tree["Records"]
assert isinstance(records_node, Node)
assert records_node.name == "Records"
print(records_node.first_child())
Node<'Let It Be', data_id=510268653885439170>
Nodes may be strings or arbitrary objects:
alice = Person("Alice", age=23, guid="{123-456}")
tree.add(alice)
# Lookup nodes by object, data_id, name pattern, ...
assert isinstance(tree[alice].data, Person)
del tree[alice]
Read the Docs for more.
Project details
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT)
- Author: Martin Wendt
- Maintainer: Martin Wendt
- Tags tree, data structure, digraph, graph, nodes, hierarchy, treelib
-
Provides-Extra:
graph
,random
,all
Classifiers
- Development Status
- Environment
- Intended Audience
- License
- Operating System
- Programming Language
- Topic
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nutree-1.1.0.tar.gz
.
File metadata
- Download URL: nutree-1.1.0.tar.gz
- Upload date:
- Size: 72.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98182a5f744235977e6ab4aa290c660bb3c2dafc37d3bc2da1cfd84872a8483d |
|
MD5 | c140fc51dce8372b309c804a6efa06ed |
|
BLAKE2b-256 | 838707875cd330ff1ce165858ec61ff68607d86dfcb7825c932f60045fa79a23 |
File details
Details for the file nutree-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: nutree-1.1.0-py3-none-any.whl
- Upload date:
- Size: 54.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d2333439bc003d89a8d2f4a84ab628f964c17da72dfa25222eea9f50effa7c |
|
MD5 | e0d21ff803de2743bf7e8a2adaba8b4e |
|
BLAKE2b-256 | dd107b0114ea12291ceb7d4eed77914cc43351e847e3b014f337deb65049c89d |