معرفی شرکت ها


drawio-network-plot-0.0.2b0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Plot Network using python , and output to DrawIO file
ویژگی مقدار
سیستم عامل -
نام فایل drawio-network-plot-0.0.2b0
نام drawio-network-plot
نسخه کتابخانه 0.0.2b0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Amr ElHusseiny
ایمیل نویسنده amroashram@hotmail.com
آدرس صفحه اصلی -
آدرس اینترنتی https://pypi.org/project/drawio-network-plot/
مجوز -
# drawio_network_plot ## Overview - Package is mainly created for Network Automation , can be used in conjunction with other libraries to generate DrawIO plot for your Network (Service Provider ot Data Centter Network). - Available devices : Router , L3_Switch , L2_switch , Firewall , Server ( More to be added ) - Output generated can be directly opened by DrawIO application (Desktop or Web version) ## Understanding the logic The "NetPlot" class is itself the plot , you initiate it and then you can do the following : - Add a Node or a Nodes list . - Add an Edge or a list of Edges . >Note : the edges has Source and Destination nodes , better to always put the Parent device in the Source node and the Child node in the Destination node , this will affect the way DrawIO does automatic Layouts . - After you open the file in DrawIO , you will see everything stacked on top of each other , simply go to "Arrange/Layout/Vertical Tree" and it will arrange the nodes and like the hirarichy of the Data center , you can also try out other layout options . ## Examples ### Example 1 : Datacenter Plot this example demonstrates how to use both the addition of object or list of objects at once : #### Code ```python from drawio_network_plot import NetPlot device_list = [ # Routers {'nodeName' : 'Router_1','nodeType' : 'router','nodeDescription' : 'External Peering Provider 1'}, {'nodeName' : 'Router_2','nodeType' : 'router','nodeDescription' : 'External Peering Provider 2'}, # Core {'nodeName' : 'Core_switch_1','nodeType' : 'l3_switch','nodeDescription' : 'Spine Switch 01'}, {'nodeName' : 'Core_switch_2','nodeType' : 'l3_switch','nodeDescription' : 'Spine Switch 02'}, # Firewalls {'nodeName' : 'FW_1','nodeType' : 'firewall','nodeDescription' : 'Firewall 01'}, {'nodeName' : 'FW_2','nodeType' : 'firewall','nodeDescription' : 'Firewall 02'}, # Leafs {'nodeName' : 'TOR_1','nodeType' : 'l2_switch','nodeDescription' : 'Leaf Switch 01'}, {'nodeName' : 'TOR_2','nodeType' : 'l2_switch','nodeDescription' : 'Leaf Switch 02'}, {'nodeName' : 'TOR_3','nodeType' : 'l2_switch','nodeDescription' : 'Leaf Switch 03'}, {'nodeName' : 'TOR_4','nodeType' : 'l2_switch','nodeDescription' : 'Leaf Switch 04'}, # Servers {'nodeName' : 'Server_1','nodeType' : 'server','nodeDescription' : 'Server 1'}, {'nodeName' : 'Server_2','nodeType' : 'server','nodeDescription' : 'Server 2'}, {'nodeName' : 'Server_3','nodeType' : 'server','nodeDescription' : 'Server 3'}, {'nodeName' : 'Server_4','nodeType' : 'server','nodeDescription' : 'Server 4'}, {'nodeName' : 'Server_5','nodeType' : 'server','nodeDescription' : 'Server 5'}, {'nodeName' : 'Server_6','nodeType' : 'server','nodeDescription' : 'Server 6'}, {'nodeName' : 'Server_7','nodeType' : 'server','nodeDescription' : 'Server 7'}, {'nodeName' : 'Server_8','nodeType' : 'server','nodeDescription' : 'Server 8'}, {'nodeName' : 'Server_9','nodeType' : 'server','nodeDescription' : 'Server 9'}, {'nodeName' : 'Server_10','nodeType' : 'server','nodeDescription' : 'Server 10'}, {'nodeName' : 'Server_11','nodeType' : 'server','nodeDescription' : 'Server 11'}, {'nodeName' : 'Server_12','nodeType' : 'server','nodeDescription' : 'Server 12'}, {'nodeName' : 'Server_13','nodeType' : 'server','nodeDescription' : 'Server 13'}, {'nodeName' : 'Server_14','nodeType' : 'server','nodeDescription' : 'Server 14'}, {'nodeName' : 'Server_15','nodeType' : 'server','nodeDescription' : 'Server 15'}, {'nodeName' : 'Server_16','nodeType' : 'server','nodeDescription' : 'Server 16'}, ] connection_list = [ # Router to Core {'sourceNodeID' : 'Router_1','destinationNodeID' : 'Core_switch_1'}, {'sourceNodeID' : 'Router_1','destinationNodeID' : 'Core_switch_2'}, {'sourceNodeID' : 'Router_2','destinationNodeID' : 'Core_switch_1'}, {'sourceNodeID' : 'Router_2','destinationNodeID' : 'Core_switch_2'}, # Core to FW {'sourceNodeID' : 'Core_switch_1','destinationNodeID' : 'FW_1'}, {'sourceNodeID' : 'Core_switch_2','destinationNodeID' : 'FW_2'}, # Core to TOR {'sourceNodeID' : 'Core_switch_1','destinationNodeID' : 'TOR_1'}, {'sourceNodeID' : 'Core_switch_1','destinationNodeID' : 'TOR_2'}, {'sourceNodeID' : 'Core_switch_1','destinationNodeID' : 'TOR_3'}, {'sourceNodeID' : 'Core_switch_1','destinationNodeID' : 'TOR_4'}, {'sourceNodeID' : 'Core_switch_2','destinationNodeID' : 'TOR_1'}, {'sourceNodeID' : 'Core_switch_2','destinationNodeID' : 'TOR_2'}, {'sourceNodeID' : 'Core_switch_2','destinationNodeID' : 'TOR_3'}, {'sourceNodeID' : 'Core_switch_2','destinationNodeID' : 'TOR_4'}, # TOR to Server {'sourceNodeID' : 'TOR_1','destinationNodeID' : 'Server_1'}, {'sourceNodeID' : 'TOR_2','destinationNodeID' : 'Server_2'}, {'sourceNodeID' : 'TOR_3','destinationNodeID' : 'Server_3'}, {'sourceNodeID' : 'TOR_4','destinationNodeID' : 'Server_4'}, {'sourceNodeID' : 'TOR_1','destinationNodeID' : 'Server_5'}, {'sourceNodeID' : 'TOR_2','destinationNodeID' : 'Server_6'}, {'sourceNodeID' : 'TOR_3','destinationNodeID' : 'Server_7'}, {'sourceNodeID' : 'TOR_4','destinationNodeID' : 'Server_8'}, {'sourceNodeID' : 'TOR_1','destinationNodeID' : 'Server_9'}, {'sourceNodeID' : 'TOR_2','destinationNodeID' : 'Server_10'}, {'sourceNodeID' : 'TOR_3','destinationNodeID' : 'Server_11'}, {'sourceNodeID' : 'TOR_4','destinationNodeID' : 'Server_12'}, {'sourceNodeID' : 'TOR_1','destinationNodeID' : 'Server_13'}, {'sourceNodeID' : 'TOR_2','destinationNodeID' : 'Server_14'}, {'sourceNodeID' : 'TOR_3','destinationNodeID' : 'Server_15'}, {'sourceNodeID' : 'TOR_4','destinationNodeID' : 'Server_16'}, ] # Initiating an Plot instance x = NetPlot() # Adding node by node and edge by edge x.addNode(nodeName='Router_17',nodeType='router') x.addNode(nodeName='Router_18',nodeType='router') # Adding lists of nodes and edges x.addLink('Router_17','Router_18') x.addLink('Router_17','Router_1') x.addNodeList(device_list) x.addLinkList(connection_list) # Output # 1- using method "display_xml" print(x.display_xml()) # 2- printing the class will automatically call the "display_xml" method print(x) # 3- Exporting to XML file directly x.exportXML('examples/output.xml') ``` #### Output ![Data Center Example output](examples/example_1_output_snapshot.png)


زبان مورد نیاز

مقدار نام
>=3.6 Python


نحوه نصب


نصب پکیج whl drawio-network-plot-0.0.2b0:

    pip install drawio-network-plot-0.0.2b0.whl


نصب پکیج tar.gz drawio-network-plot-0.0.2b0:

    pip install drawio-network-plot-0.0.2b0.tar.gz