︠2e250f8b-b903-4e7f-8dd9-9dc3e99bfd21s︠ import re import glob mod_path = 'modular/' D = DiGraph() # add vertices all_py = glob.glob(mod_path+'*/all.py') Vs = [x.split('/')[-2] for x in all_py] for V in Vs: D.add_vertex(V) # add edges for V in Vs: for s in glob.glob(mod_path+V+'/*'): with open(s,'r') as f: for l in f: if re.match('from sage.modular', l): B = l.split(' ')[1].split('.')[2] if B in Vs: D.add_edge(V, B) show(D) D.plot() ︡d3852b40-c271-4190-8bc2-e13acd567e8f︡{"d3":{"data":{"charge":-120,"directed":true,"edge_labels":false,"edge_thickness":2,"gravity":0.04,"height":null,"link_distance":50,"link_strength":1,"links":[{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":3},{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":5},{"color":"#aaa","curve":0,"name":"","source":0,"strength":0,"target":7},{"color":"#aaa","curve":15,"name":"","source":1,"strength":0,"target":7},{"color":"#aaa","curve":0,"name":"","source":2,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":2,"strength":0,"target":3},{"color":"#aaa","curve":0,"name":"","source":2,"strength":0,"target":9},{"color":"#aaa","curve":0,"name":"","source":3,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":4,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":4,"strength":0,"target":5},{"color":"#aaa","curve":0,"name":"","source":4,"strength":0,"target":7},{"color":"#aaa","curve":0,"name":"","source":5,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":5,"strength":0,"target":7},{"color":"#aaa","curve":15,"name":"","source":7,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":8,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":8,"strength":0,"target":5},{"color":"#aaa","curve":0,"name":"","source":9,"strength":0,"target":1},{"color":"#aaa","curve":0,"name":"","source":9,"strength":0,"target":7},{"color":"#aaa","curve":0,"name":"","source":10,"strength":0,"target":3},{"color":"#aaa","curve":0,"name":"","source":11,"strength":0,"target":1}],"loops":[],"nodes":[{"group":"0","name":"abvar"},{"group":"0","name":"arithgroup"},{"group":"0","name":"btquotients"},{"group":"0","name":"hecke"},{"group":"0","name":"local_comp"},{"group":"0","name":"modform"},{"group":"0","name":"modform_hecketriangle"},{"group":"0","name":"modsym"},{"group":"0","name":"overconvergent"},{"group":"0","name":"pollack_stevens"},{"group":"0","name":"quatalg"},{"group":"0","name":"ssmod"}],"pos":[],"vertex_labels":true,"vertex_size":7,"width":null},"viewer":"graph"}}︡{"file":{"filename":"/projects/bc7372d4-e390-432d-8c81-9f69a578f480/.sage/temp/compute4-us/15695/tmp_Jcbc4Q.svg","show":true,"text":null,"uuid":"8034031d-2004-4152-80e6-6944461dcb40"},"once":false}︡{"done":true}︡ ︠277f3785-cc7d-4a59-bc98-05c6dc6c65ee︠