================================================= Building a list of requirements from dependencies ================================================= We populate a custom working set and compute its dependency graph, arranging for one distribution to appear more than once in the graph: >>> anton_1 = make_dist("anton-1.egg", depends="""berta <3 ... charlie >=1.1, !=1.7""") >>> berta_2 = make_dist("berta-2.egg", depends="charlie <2") >>> charlie_1_4 = make_dist("charlie-1.4.egg") >>> ws = make_working_set(anton_1, berta_2, charlie_1_4) >>> from tl.eggdeps.graph import Graph >>> graph = Graph(working_set=ws) >>> graph.from_working_set() >>> sprint(graph) {'anton': {'berta': {None: set([])}, 'charlie': {None: set([])}}, 'berta': {'charlie': {None: set([])}}, 'charlie': {}} Unversioned requirements ======================== >>> from tl.eggdeps.requirements import print_list >>> print_list(graph, Options()) ['anton', 'berta', 'charlie'] Versioned requirements ====================== >>> print_list(graph, Options(version_numbers=True)) ['anton==1', 'berta==2', 'charlie==1.4'] Requirements with version specifications ======================================== >>> print_list(graph, Options(version_specs=True)) ['anton>=1', 'berta>=2,<3', 'charlie>=1.4,!=1.7,<2'] .. Local Variables: .. mode: rst .. End: