Skip to main content

Python library for creating graphs, trees, and gemini structures.

Project description

EasyGraphLib

This is a simple package for working with graphs in Python 3.

Tasks:

  • Add weighted graph.
  • Add unweighted graph.
  • Add tree's.

"class weighted_graph" methods:

  • add_node("node name", "connect or connections", "values for con/con's") - This method create Node with connections, and Nodes for connections.

  • add_connections("node name", "connection or connections", "values for con/con's") - This method adding connections to Node, and create new Nodes for connections.

  • update_connection("node name", "connection", "value") - This method update weight for connection.

  • remove_node("node name") - Remove node with connections.

  • remove_connection("node name", "connection") - Remove connection from node.

  • compile_graph() - Compile EasyGraphLib struct.

  • find_tnw_d("EasyGraphLib struct") - Dijkstra algorythm.

    import easygraphlib as egl
    
    wg = egl.weighted_graph()
    
    wg.add_node("start", ("a", "b"), (6,2))
    wg.add_connections("start", ("c"), (3))
    wg.add_connections("c", ("a", "fin"), (2, 2))
    wg.add_connections("a", ("fin"), (3))
    wg.add_connections("b", ("a", "fin"), (3, 5))
    wg.update_connection("start", "c", (4))
    wg.update_connection("a", ("fin"), (1))
    
    input_graph = wg.compile_graph()
    print(input_graph)
    

"class unweighted_graph" methods:

  • add_node("node name", "value", "connections", "auto create node flag True/False") - This method create Node with connections, and Nodes for connections.

  • add_connections("node name", "connection or connections", "auto create node flag True/False") - This method adding connections to Node, and create new Nodes for connections.

  • update_value("node name", "value") - Update value for Node.

  • remove_node("node name") - Remove node with connections.

  • remove_connection("node name", "connection") - remove connection from node.

  • get_graph()

  • wide_search("node name", "value", "condition")

    import easygraphlib as egl
    
    uwg = egl.unweighted_graph()
    
    uwg.add_node("me", False, ("Patrick", "Carry", "Josh"))
    uwg.add_node("Joseph", False, ("Lora"))
    uwg.add_connections("Patrick", ("Henry", "July", "me"))
    
    print(uwg.get_graph())
    
    uwg.add_connections("me", ("Henry", "Harry"))
    uwg.add_connections("Patrick", "Henry")
    print(uwg.get_graph())
    

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

EasyGraphLib-0.3.5.tar.gz (4.6 kB view hashes)

Uploaded Source

Built Distribution

EasyGraphLib-0.3.5-py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page