<story><title>NetworkX 3.0 - create, manipulate, and study complex networks in Python</title><url>https://networkx.org/documentation/stable/release/release_3.0.html</url></story><parent_chain></parent_chain><comment><author>samsquire</author><text>I use NetworkX rather unusually to parse Graphviz dot specification files in my devops pipeline tool, mazzle.&lt;p&gt;They allow me to define infrastructure build instructions as a dot file that looks similar to this. It&amp;#x27;s similar to an advanced makefile.&lt;p&gt;This segment of the infrastructure specification sets a dependency on the bastion box, the vault AMI (Amazon Machine Image) and web server provisioned by terraform on the source AMI. Then it sets a dependency of uploading nodejs to the repository server and a dependency on dpkg scan packages. It also tells machines to join themselves to a Kubernetes cluster.&lt;p&gt;&lt;pre&gt;&lt;code&gt;  digraph G {
    label=&amp;quot;pipeline&amp;quot;;
    rankdir=TB;



  &amp;quot;packer&amp;#x2F;source-ami*&amp;quot; -&amp;gt; { &amp;quot;terraform&amp;#x2F;bastion&amp;quot;;
                          &amp;quot;packer&amp;#x2F;vault-ami*&amp;quot;;
                          &amp;quot;terraform&amp;#x2F;web&amp;quot;
                        }

  &amp;quot;terraform&amp;#x2F;bastion&amp;quot; -&amp;gt; &amp;quot;@repository-upload&amp;#x2F;nodejs_12.13.1_amd64&amp;quot;
  &amp;quot;terraform&amp;#x2F;repository&amp;quot; -&amp;gt; &amp;quot;@repository-upload&amp;#x2F;nodejs_12.13.1_amd64&amp;quot;

  &amp;quot;@repository-upload&amp;#x2F;nodejs_12.13.1_amd64&amp;quot; -&amp;gt; &amp;quot;@shell&amp;#x2F;dpkg-scanpackages&amp;quot;

  &amp;quot;terraform&amp;#x2F;web&amp;quot; -&amp;gt; &amp;quot;@ansible&amp;#x2F;kubernetes-join&amp;quot;;
  &amp;quot;terraform&amp;#x2F;bastion&amp;quot; -&amp;gt; &amp;quot;@ansible&amp;#x2F;kubernetes-join&amp;quot;;
  &amp;quot;terraform&amp;#x2F;services&amp;quot; -&amp;gt; &amp;quot;@ansible&amp;#x2F;kubernetes-join&amp;quot;;
  &amp;quot;@ansible&amp;#x2F;kubernetes&amp;quot; -&amp;gt; &amp;quot;@ansible&amp;#x2F;kubernetes-join&amp;quot;;

   ...

   }
&lt;/code&gt;&lt;/pre&gt;
Graph formats are really flexible and compact and I would like to see them used for more things.&lt;p&gt;A topological search solves many problems.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;devops-pipeline.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;devops-pipeline.com&amp;#x2F;&lt;/a&gt;</text></comment>
<story><title>NetworkX 3.0 - create, manipulate, and study complex networks in Python</title><url>https://networkx.org/documentation/stable/release/release_3.0.html</url></story><parent_chain></parent_chain><comment><author>anigbrowl</author><text>By the way if you want to explore network science but don&amp;#x27;t really know where to start, consider Gephi (currently being refactored, and just updated a few days ago) or Cytoscape (if you&amp;#x27;re more drawn to bioinformatics).&lt;p&gt;Both make it easy to load&amp;#x2F;generate standard datasets, import tabular data, and have a good selection of plugins. It&amp;#x27;s easy to kick stuff out to either from NetworkX using &amp;#x2F;gefx or graphml, and you&amp;#x27;ll be able to experiment with a wide variety of layout algorithms and metrics. If you don&amp;#x27;t find the toy&amp;#x2F;benchmark networks intuitive, considering hitting the HN API for your source material; it&amp;#x27;s a lot easier to grasp the topic by studying relationships that are already familiar.</text></comment>