Skip to content

SuperNodes is a Python package that creates tree data structures easily.

License

Notifications You must be signed in to change notification settings

mubarakalmehairbi/SuperNodes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

SuperNodes is a Python package that creates tree data structures easily.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages