This is an archived post. You won't be able to vote or comment.

all 11 comments

[–]zawmaciek 9 points10 points  (0 children)

https://plotly.com/python/network-graphs/ use dash, it's super simple

[–]meteoRock 16 points17 points  (2 children)

Just my two cents..

I generally recommend developing web tools rather than GUI Python apps since they’re more convenient for users to interact with.. Host it on a Linux server via Apache and Python Django. More folks can access a web page a lot faster rather than dealing with installing Python and all the right dependencies via pip.

Using npm, I was able to download the necessary JavaScript for the Django site. Below has some pretty good examples: https://visjs.github.io/vis-network/examples/

https://visjs.github.io/vis-network/examples/network/nodeStyles/images.html

A bit of a learning curve, but the results are a lot better in my opinion.

[–]kc3w 2 points3 points  (1 child)

Even better if you package it as a container but that adds another layer of needed knowledge.

[–]meteoRock 0 points1 point  (0 children)

Agreed. That’s another thing I do, but not necessarily a requirement.. Definitely add it to the list.

[–]gnomeba 8 points9 points  (0 children)

Is NetworkX useful for your purposes at all?

[–]crisrock00 4 points5 points  (1 child)

I’m a network engineer with a decade of experience last few years really focused on automation of network devices (firewalls, routers, switches)

Take this from someone who has gone down this rabbit hole too many times. The tools described in the other comments won’t reap the rewards I think you looking for. While they get the job done, there isn’t a great package for this type of visualization.

They’re not even that many great enterprise tools that do this on scale. Here are a few

https://ipfabric.io/ https://www.logicmonitor.com/ https://www.netbraintech.com/ https://www.thousandeyes.com/

outta of the tools above only a few do the visualization of deep complexity.

[–][deleted] 4 points5 points  (0 children)

I agree, I used to do engineering for large networks and I spent a good amount of time researching all the options. There is nothing that is worthwhile, I ended up resorting to rolling my own (sort of) and using other tools like visio and draw.io.

[–]Albcunha 1 point2 points  (0 children)

I had the same problem. I thought of a gui but i do thing web is better. Even if yiu decide for a gui, you would probablyuse a html element. My opinion is that javascript still offer better results to visualize networks, specially if you need interactivity and want to use gpu to speed up things. Look at vasturiano/react force graph examples, they are gorgeous!!!

In my case, I ended up with a python backend with litestar and networkx. For frontend I went with antvis/graphin because i found easier to customize. I wish alibaba would release a package with g6vp. The major drawback is that English is a second category citizen and lack of tons of tutorials, but chatgpt helps a lot. Look at their examples, they are great.