Creates tree data structures easily
Project description
Overview
SuperNodes is a Python package that creates tree data structures easily. It is designed to be similar to Python dictionaries but with more functions. The trees can be used:
- For storing data
- As decision trees
- Both for storing data and as decision trees.
How to install
Run this command to install SuperNodes:
pip install supernodes
How to create a tree
To create a tree, first create the root node:
from supernodes import SuperNode
root_node = SuperNode(name="root")
You can add children nodes to the root node using different methods:
- Using
append
function:
child_1 = SuperNode(name="child-1")
child_2 = SuperNode(name="child-2")
root_node.append(child_1)
root_node.append(child_2)
- Using indexer:
root_node['child-1'] = SuperNode()
root_node['child-2'] = SuperNode()
- Using
split
:
root_node.split(num=2, names=['child-1', 'child-2'])
You can view more methods for adding children nodes SuperNodes methods.
How to use as a decision tree
To create a tree that can be used as a decision tree,
create the root node and add an inequality string or
a function inside the function
parameter:
root_node = SuperNode(name="root-node", function="x > 10")
Then create the children and add their names to the attributes,
child_name_if_true
and child_name_if_false
.
root_node['first-child'] = SuperNode()
root_node['second-child'] = SuperNode()
root_node.child_name_if_true = "first-child"
root_node.child_name_if_false = "second-child"
Run the decision tree:
leaf = root_node.run_as_binary_tree(x=11)
Documentation
You can find the documentation in this link: SuperNodes docs.
More examples
You can find more examples this link: SuperNodes examples.
License and Copyrights
Copyrights (c) 2023 Mubarak Almehairbi. This package is licensed under the MIT license.
Project details
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
Hashes for supernodes-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79ed7f33feb58f7c31040f06b9cedd4b52471a6460de3d40a153a499db6556f7 |
|
MD5 | d80d82fd979131a1cf32c297c478709d |
|
BLAKE2b-256 | bf5615e7a3d8b35fd5fb8097533489b911723e92f4e95f8285a3652b913640aa |