You could use Sverchok or Animation Nodes, if you are comfortable with Nodes (and don't want to write any Python). Because I am a developer of Sverchok I'll show how you might approach it using using that add-on.
Generating the meandering vertices is what looks most complicated here, but it's sampling points on a perlin-like 3d noise system. How you generate the position of your 3d points is up to you; could be read from a text file with xyz position per frame.
Making Edges is done with a single Node (KDTree Closest Edges) which makes K-Dimensional Tree of the incoming vertices and spits out the possible edges given the configuration parameters
- min distance
- max distance
- max num edges per vert
- skip first n edges per vert
That gets the basic concept going, then it's a matter of choice how to represent the Circles (verts) and Lines (probably flat shaded Curve Objects (straight) with thickness).
Then after experimenting with the meandering algorithm and min/max edge length, you'd add a few Viewer Nodes (BmeshViewer and Curve Viewer)
It can be animated by keyframing the left most Float node labelled Driver Value.