src/eric7/Documentation/Source/eric7.PipInterface.pipdeptree.html

branch
eric7
changeset 9218
71cf3979a6c9
child 9596
397f385b95d8
equal deleted inserted replaced
9217:0c34da0d7b76 9218:71cf3979a6c9
1 <!DOCTYPE html>
2 <html><head>
3 <title>eric7.PipInterface.pipdeptree</title>
4 <meta charset="UTF-8">
5 <link rel="stylesheet" href="styles.css">
6 </head>
7 <body>
8 <a NAME="top" ID="top"></a>
9 <h1>eric7.PipInterface.pipdeptree</h1>
10
11 <p>
12 Copyright (c) 2015 Vineet Naik (naikvin@gmail.com)
13 </p>
14 <p>
15 Permission is hereby granted, free of charge, to any person obtaining
16 a copy of this software and associated documentation files (the
17 "Software"), to deal in the Software without restriction, including
18 without limitation the rights to use, copy, modify, merge, publish,
19 distribute, sublicense, and/or sell copies of the Software, and to
20 permit persons to whom the Software is furnished to do so, subject to
21 the following conditions:
22 </p>
23 <p>
24 The above copyright notice and this permission notice shall be
25 included in all copies or substantial portions of the Software.
26 </p>
27 <p>
28 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35 </p>
36 <h3>Global Attributes</h3>
37
38 <table>
39 <tr><td>__version__</td></tr><tr><td>flatten</td></tr>
40 </table>
41 <h3>Classes</h3>
42
43 <table>
44
45 <tr>
46 <td><a href="#DistPackage">DistPackage</a></td>
47 <td>Wrapper class for pkg_resources.Distribution instances</td>
48 </tr>
49 <tr>
50 <td><a href="#Package">Package</a></td>
51 <td>Abstract class for wrappers around objects that pip returns.</td>
52 </tr>
53 <tr>
54 <td><a href="#PackageDAG">PackageDAG</a></td>
55 <td>Representation of Package dependencies as directed acyclic graph using a dict (Mapping) as the underlying datastructure.</td>
56 </tr>
57 <tr>
58 <td><a href="#ReqPackage">ReqPackage</a></td>
59 <td>Wrapper class for Requirements instance</td>
60 </tr>
61 <tr>
62 <td><a href="#ReversedPackageDAG">ReversedPackageDAG</a></td>
63 <td>Representation of Package dependencies in the reverse order.</td>
64 </tr>
65 </table>
66 <h3>Functions</h3>
67
68 <table>
69
70 <tr>
71 <td><a href="#_get_args">_get_args</a></td>
72 <td></td>
73 </tr>
74 <tr>
75 <td><a href="#aux">aux</a></td>
76 <td></td>
77 </tr>
78 <tr>
79 <td><a href="#aux_1">aux</a></td>
80 <td></td>
81 </tr>
82 <tr>
83 <td><a href="#conflicting_deps">conflicting_deps</a></td>
84 <td>Returns dependencies which are not present or conflict with the requirements of other packages.</td>
85 </tr>
86 <tr>
87 <td><a href="#cyclic_deps">cyclic_deps</a></td>
88 <td>Return cyclic dependencies as list of tuples</td>
89 </tr>
90 <tr>
91 <td><a href="#dump_graphviz">dump_graphviz</a></td>
92 <td>Output dependency graph as one of the supported GraphViz output formats.</td>
93 </tr>
94 <tr>
95 <td><a href="#frozen_req_from_dist">frozen_req_from_dist</a></td>
96 <td></td>
97 </tr>
98 <tr>
99 <td><a href="#get_installed_distributions">get_installed_distributions</a></td>
100 <td></td>
101 </tr>
102 <tr>
103 <td><a href="#get_parser">get_parser</a></td>
104 <td></td>
105 </tr>
106 <tr>
107 <td><a href="#guess_version">guess_version</a></td>
108 <td>Guess the version of a pkg when pip doesn't provide it</td>
109 </tr>
110 <tr>
111 <td><a href="#handle_non_host_target">handle_non_host_target</a></td>
112 <td></td>
113 </tr>
114 <tr>
115 <td><a href="#main">main</a></td>
116 <td></td>
117 </tr>
118 <tr>
119 <td><a href="#print_graphviz">print_graphviz</a></td>
120 <td>Dump the data generated by GraphViz to stdout.</td>
121 </tr>
122 <tr>
123 <td><a href="#render_conflicts_text">render_conflicts_text</a></td>
124 <td></td>
125 </tr>
126 <tr>
127 <td><a href="#render_cycles_text">render_cycles_text</a></td>
128 <td></td>
129 </tr>
130 <tr>
131 <td><a href="#render_json">render_json</a></td>
132 <td>Converts the tree into a flat json representation.</td>
133 </tr>
134 <tr>
135 <td><a href="#render_json_tree">render_json_tree</a></td>
136 <td>Converts the tree into a nested json representation.</td>
137 </tr>
138 <tr>
139 <td><a href="#render_text">render_text</a></td>
140 <td>Print tree as text on console</td>
141 </tr>
142 <tr>
143 <td><a href="#sorted_tree">sorted_tree</a></td>
144 <td>Sorts the dict representation of the tree</td>
145 </tr>
146 </table>
147 <hr />
148 <hr />
149 <a NAME="DistPackage" ID="DistPackage"></a>
150 <h2>DistPackage</h2>
151
152 <p>
153 Wrapper class for pkg_resources.Distribution instances
154 </p>
155 <p>
156 :param obj: pkg_resources.Distribution to wrap over
157 :param req: optional ReqPackage object to associate this
158 DistPackage with. This is useful for displaying the
159 tree in reverse
160 </p>
161 <h3>Derived from</h3>
162 Package
163 <h3>Class Attributes</h3>
164
165 <table>
166 <tr><td>None</td></tr>
167 </table>
168 <h3>Class Methods</h3>
169
170 <table>
171 <tr><td>None</td></tr>
172 </table>
173 <h3>Methods</h3>
174
175 <table>
176
177 <tr>
178 <td><a href="#DistPackage.__init__">DistPackage</a></td>
179 <td></td>
180 </tr>
181 <tr>
182 <td><a href="#DistPackage.as_dict">as_dict</a></td>
183 <td></td>
184 </tr>
185 <tr>
186 <td><a href="#DistPackage.as_parent_of">as_parent_of</a></td>
187 <td>Return a DistPackage instance associated to a requirement</td>
188 </tr>
189 <tr>
190 <td><a href="#DistPackage.as_requirement">as_requirement</a></td>
191 <td>Return a ReqPackage representation of this DistPackage</td>
192 </tr>
193 <tr>
194 <td><a href="#DistPackage.render_as_branch">render_as_branch</a></td>
195 <td></td>
196 </tr>
197 <tr>
198 <td><a href="#DistPackage.render_as_root">render_as_root</a></td>
199 <td></td>
200 </tr>
201 </table>
202 <h3>Static Methods</h3>
203
204 <table>
205 <tr><td>None</td></tr>
206 </table>
207
208 <a NAME="DistPackage.__init__" ID="DistPackage.__init__"></a>
209 <h4>DistPackage (Constructor)</h4>
210 <b>DistPackage</b>(<i>obj, req=None</i>)
211
212 <a NAME="DistPackage.as_dict" ID="DistPackage.as_dict"></a>
213 <h4>DistPackage.as_dict</h4>
214 <b>as_dict</b>(<i></i>)
215
216 <a NAME="DistPackage.as_parent_of" ID="DistPackage.as_parent_of"></a>
217 <h4>DistPackage.as_parent_of</h4>
218 <b>as_parent_of</b>(<i>req</i>)
219
220 <p>
221 Return a DistPackage instance associated to a requirement
222 </p>
223 <p>
224 This association is necessary for reversing the PackageDAG.
225 </p>
226 <p>
227 If `req` is None, and the `req` attribute of the current
228 instance is also None, then the same instance will be
229 returned.
230 </p>
231 <p>
232 :param ReqPackage req: the requirement to associate with
233 :returns: DistPackage instance
234 </p>
235 <p>
236
237 </p>
238 <a NAME="DistPackage.as_requirement" ID="DistPackage.as_requirement"></a>
239 <h4>DistPackage.as_requirement</h4>
240 <b>as_requirement</b>(<i></i>)
241
242 <p>
243 Return a ReqPackage representation of this DistPackage
244 </p>
245 <a NAME="DistPackage.render_as_branch" ID="DistPackage.render_as_branch"></a>
246 <h4>DistPackage.render_as_branch</h4>
247 <b>render_as_branch</b>(<i>frozen</i>)
248
249 <a NAME="DistPackage.render_as_root" ID="DistPackage.render_as_root"></a>
250 <h4>DistPackage.render_as_root</h4>
251 <b>render_as_root</b>(<i>frozen</i>)
252
253 <div align="right"><a href="#top">Up</a></div>
254 <hr />
255 <hr />
256 <a NAME="Package" ID="Package"></a>
257 <h2>Package</h2>
258
259 <p>
260 Abstract class for wrappers around objects that pip returns.
261 </p>
262 <p>
263 This class needs to be subclassed with implementations for
264 `render_as_root` and `render_as_branch` methods.
265 </p>
266 <p>
267
268 </p>
269 <h3>Derived from</h3>
270 object
271 <h3>Class Attributes</h3>
272
273 <table>
274 <tr><td>None</td></tr>
275 </table>
276 <h3>Class Methods</h3>
277
278 <table>
279 <tr><td>None</td></tr>
280 </table>
281 <h3>Methods</h3>
282
283 <table>
284
285 <tr>
286 <td><a href="#Package.__init__">Package</a></td>
287 <td></td>
288 </tr>
289 <tr>
290 <td><a href="#Package.__getattr__">__getattr__</a></td>
291 <td></td>
292 </tr>
293 <tr>
294 <td><a href="#Package.__lt__">__lt__</a></td>
295 <td></td>
296 </tr>
297 <tr>
298 <td><a href="#Package.__repr__">__repr__</a></td>
299 <td></td>
300 </tr>
301 <tr>
302 <td><a href="#Package.render">render</a></td>
303 <td></td>
304 </tr>
305 <tr>
306 <td><a href="#Package.render_as_branch">render_as_branch</a></td>
307 <td></td>
308 </tr>
309 <tr>
310 <td><a href="#Package.render_as_root">render_as_root</a></td>
311 <td></td>
312 </tr>
313 </table>
314 <h3>Static Methods</h3>
315
316 <table>
317
318 <tr>
319 <td><a href="#Package.frozen_repr">frozen_repr</a></td>
320 <td></td>
321 </tr>
322 </table>
323
324 <a NAME="Package.__init__" ID="Package.__init__"></a>
325 <h4>Package (Constructor)</h4>
326 <b>Package</b>(<i>obj</i>)
327
328 <a NAME="Package.__getattr__" ID="Package.__getattr__"></a>
329 <h4>Package.__getattr__</h4>
330 <b>__getattr__</b>(<i>key</i>)
331
332 <a NAME="Package.__lt__" ID="Package.__lt__"></a>
333 <h4>Package.__lt__</h4>
334 <b>__lt__</b>(<i>rhs</i>)
335
336 <a NAME="Package.__repr__" ID="Package.__repr__"></a>
337 <h4>Package.__repr__</h4>
338 <b>__repr__</b>(<i></i>)
339
340 <a NAME="Package.render" ID="Package.render"></a>
341 <h4>Package.render</h4>
342 <b>render</b>(<i>parent=None, frozen=False</i>)
343
344 <a NAME="Package.render_as_branch" ID="Package.render_as_branch"></a>
345 <h4>Package.render_as_branch</h4>
346 <b>render_as_branch</b>(<i>frozen</i>)
347
348 <a NAME="Package.render_as_root" ID="Package.render_as_root"></a>
349 <h4>Package.render_as_root</h4>
350 <b>render_as_root</b>(<i>frozen</i>)
351
352 <a NAME="Package.frozen_repr" ID="Package.frozen_repr"></a>
353 <h4>Package.frozen_repr (static)</h4>
354 <b>frozen_repr</b>(<i></i>)
355
356 <div align="right"><a href="#top">Up</a></div>
357 <hr />
358 <hr />
359 <a NAME="PackageDAG" ID="PackageDAG"></a>
360 <h2>PackageDAG</h2>
361
362 <p>
363 Representation of Package dependencies as directed acyclic graph
364 using a dict (Mapping) as the underlying datastructure.
365 </p>
366 <p>
367 The nodes and their relationships (edges) are internally
368 stored using a map as follows,
369 </p>
370 <p>
371 {a: [b, c],
372 b: [d],
373 c: [d, e],
374 d: [e],
375 e: [],
376 f: [b],
377 g: [e, f]}
378 </p>
379 <p>
380 Here, node `a` has 2 children nodes `b` and `c`. Consider edge
381 direction from `a` -> `b` and `a` -> `c` respectively.
382 </p>
383 <p>
384 A node is expected to be an instance of a subclass of
385 `Package`. The keys are must be of class `DistPackage` and each
386 item in values must be of class `ReqPackage`. (See also
387 ReversedPackageDAG where the key and value types are
388 interchanged).
389 </p>
390 <p>
391
392 </p>
393 <h3>Derived from</h3>
394 Mapping
395 <h3>Class Attributes</h3>
396
397 <table>
398 <tr><td>None</td></tr>
399 </table>
400 <h3>Class Methods</h3>
401
402 <table>
403
404 <tr>
405 <td><a href="#PackageDAG.from_pkgs">from_pkgs</a></td>
406 <td></td>
407 </tr>
408 </table>
409 <h3>Methods</h3>
410
411 <table>
412
413 <tr>
414 <td><a href="#PackageDAG.__init__">PackageDAG</a></td>
415 <td>Initialize the PackageDAG object</td>
416 </tr>
417 <tr>
418 <td><a href="#PackageDAG.__getitem__">__getitem__</a></td>
419 <td></td>
420 </tr>
421 <tr>
422 <td><a href="#PackageDAG.__iter__">__iter__</a></td>
423 <td></td>
424 </tr>
425 <tr>
426 <td><a href="#PackageDAG.__len__">__len__</a></td>
427 <td></td>
428 </tr>
429 <tr>
430 <td><a href="#PackageDAG.filter">filter</a></td>
431 <td>Filters nodes in a graph by given parameters</td>
432 </tr>
433 <tr>
434 <td><a href="#PackageDAG.get_children">get_children</a></td>
435 <td>Get child nodes for a node by it's key</td>
436 </tr>
437 <tr>
438 <td><a href="#PackageDAG.get_node_as_parent">get_node_as_parent</a></td>
439 <td>Get the node from the keys of the dict representing the DAG.</td>
440 </tr>
441 <tr>
442 <td><a href="#PackageDAG.reverse">reverse</a></td>
443 <td>Reverse the DAG, or turn it upside-down</td>
444 </tr>
445 <tr>
446 <td><a href="#PackageDAG.sort">sort</a></td>
447 <td>Return sorted tree in which the underlying _obj dict is an OrderedDict, sorted alphabetically by the keys</td>
448 </tr>
449 </table>
450 <h3>Static Methods</h3>
451
452 <table>
453 <tr><td>None</td></tr>
454 </table>
455
456 <a NAME="PackageDAG.from_pkgs" ID="PackageDAG.from_pkgs"></a>
457 <h4>PackageDAG.from_pkgs (class method)</h4>
458 <b>from_pkgs</b>(<i>pkgs</i>)
459
460 <a NAME="PackageDAG.__init__" ID="PackageDAG.__init__"></a>
461 <h4>PackageDAG (Constructor)</h4>
462 <b>PackageDAG</b>(<i>m</i>)
463
464 <p>
465 Initialize the PackageDAG object
466 </p>
467 <p>
468 :param dict m: dict of node objects (refer class docstring)
469 :returns: None
470 :rtype: NoneType
471 </p>
472 <p>
473
474 </p>
475 <a NAME="PackageDAG.__getitem__" ID="PackageDAG.__getitem__"></a>
476 <h4>PackageDAG.__getitem__</h4>
477 <b>__getitem__</b>(<i>*args</i>)
478
479 <a NAME="PackageDAG.__iter__" ID="PackageDAG.__iter__"></a>
480 <h4>PackageDAG.__iter__</h4>
481 <b>__iter__</b>(<i></i>)
482
483 <a NAME="PackageDAG.__len__" ID="PackageDAG.__len__"></a>
484 <h4>PackageDAG.__len__</h4>
485 <b>__len__</b>(<i></i>)
486
487 <a NAME="PackageDAG.filter" ID="PackageDAG.filter"></a>
488 <h4>PackageDAG.filter</h4>
489 <b>filter</b>(<i>include, exclude</i>)
490
491 <p>
492 Filters nodes in a graph by given parameters
493 </p>
494 <p>
495 If a node is included, then all it's children are also
496 included.
497 </p>
498 <p>
499 :param set include: set of node keys to include (or None)
500 :param set exclude: set of node keys to exclude (or None)
501 :returns: filtered version of the graph
502 :rtype: PackageDAG
503 </p>
504 <p>
505
506 </p>
507 <a NAME="PackageDAG.get_children" ID="PackageDAG.get_children"></a>
508 <h4>PackageDAG.get_children</h4>
509 <b>get_children</b>(<i>node_key</i>)
510
511 <p>
512 Get child nodes for a node by it's key
513 </p>
514 <p>
515 :param str node_key: key of the node to get children of
516 :returns: list of child nodes
517 :rtype: ReqPackage[]
518 </p>
519 <p>
520
521 </p>
522 <a NAME="PackageDAG.get_node_as_parent" ID="PackageDAG.get_node_as_parent"></a>
523 <h4>PackageDAG.get_node_as_parent</h4>
524 <b>get_node_as_parent</b>(<i>node_key</i>)
525
526 <p>
527 Get the node from the keys of the dict representing the DAG.
528 </p>
529 <p>
530 This method is useful if the dict representing the DAG
531 contains different kind of objects in keys and values. Use
532 this method to lookup a node obj as a parent (from the keys of
533 the dict) given a node key.
534 </p>
535 <p>
536 :param node_key: identifier corresponding to key attr of node obj
537 :returns: node obj (as present in the keys of the dict)
538 :rtype: Object
539 </p>
540 <p>
541
542 </p>
543 <a NAME="PackageDAG.reverse" ID="PackageDAG.reverse"></a>
544 <h4>PackageDAG.reverse</h4>
545 <b>reverse</b>(<i></i>)
546
547 <p>
548 Reverse the DAG, or turn it upside-down
549 </p>
550 <p>
551 In other words, the directions of edges of the nodes in the
552 DAG will be reversed.
553 </p>
554 <p>
555 Note that this function purely works on the nodes in the
556 graph. This implies that to perform a combination of filtering
557 and reversing, the order in which `filter` and `reverse`
558 methods should be applied is important. For eg. if reverse is
559 called on a filtered graph, then only the filtered nodes and
560 it's children will be considered when reversing. On the other
561 hand, if filter is called on reversed DAG, then the definition
562 of "child" nodes is as per the reversed DAG.
563 </p>
564 <p>
565 :returns: DAG in the reversed form
566 :rtype: ReversedPackageDAG
567 </p>
568 <p>
569
570 </p>
571 <a NAME="PackageDAG.sort" ID="PackageDAG.sort"></a>
572 <h4>PackageDAG.sort</h4>
573 <b>sort</b>(<i></i>)
574
575 <p>
576 Return sorted tree in which the underlying _obj dict is an
577 OrderedDict, sorted alphabetically by the keys
578 </p>
579 <p>
580 :returns: Instance of same class with OrderedDict
581 </p>
582 <p>
583
584 </p>
585 <div align="right"><a href="#top">Up</a></div>
586 <hr />
587 <hr />
588 <a NAME="ReqPackage" ID="ReqPackage"></a>
589 <h2>ReqPackage</h2>
590
591 <p>
592 Wrapper class for Requirements instance
593 </p>
594 <p>
595 :param obj: The `Requirements` instance to wrap over
596 :param dist: optional `pkg_resources.Distribution` instance for
597 this requirement
598 </p>
599 <h3>Derived from</h3>
600 Package
601 <h3>Class Attributes</h3>
602
603 <table>
604 <tr><td>UNKNOWN_VERSION</td></tr>
605 </table>
606 <h3>Class Methods</h3>
607
608 <table>
609 <tr><td>None</td></tr>
610 </table>
611 <h3>Methods</h3>
612
613 <table>
614
615 <tr>
616 <td><a href="#ReqPackage.__init__">ReqPackage</a></td>
617 <td></td>
618 </tr>
619 <tr>
620 <td><a href="#ReqPackage.as_dict">as_dict</a></td>
621 <td></td>
622 </tr>
623 <tr>
624 <td><a href="#ReqPackage.installed_version">installed_version</a></td>
625 <td></td>
626 </tr>
627 <tr>
628 <td><a href="#ReqPackage.is_conflicting">is_conflicting</a></td>
629 <td>If installed version conflicts with required version</td>
630 </tr>
631 <tr>
632 <td><a href="#ReqPackage.is_missing">is_missing</a></td>
633 <td></td>
634 </tr>
635 <tr>
636 <td><a href="#ReqPackage.render_as_branch">render_as_branch</a></td>
637 <td></td>
638 </tr>
639 <tr>
640 <td><a href="#ReqPackage.render_as_root">render_as_root</a></td>
641 <td></td>
642 </tr>
643 <tr>
644 <td><a href="#ReqPackage.version_spec">version_spec</a></td>
645 <td></td>
646 </tr>
647 </table>
648 <h3>Static Methods</h3>
649
650 <table>
651 <tr><td>None</td></tr>
652 </table>
653
654 <a NAME="ReqPackage.__init__" ID="ReqPackage.__init__"></a>
655 <h4>ReqPackage (Constructor)</h4>
656 <b>ReqPackage</b>(<i>obj, dist=None</i>)
657
658 <a NAME="ReqPackage.as_dict" ID="ReqPackage.as_dict"></a>
659 <h4>ReqPackage.as_dict</h4>
660 <b>as_dict</b>(<i></i>)
661
662 <a NAME="ReqPackage.installed_version" ID="ReqPackage.installed_version"></a>
663 <h4>ReqPackage.installed_version</h4>
664 <b>installed_version</b>(<i></i>)
665
666 <a NAME="ReqPackage.is_conflicting" ID="ReqPackage.is_conflicting"></a>
667 <h4>ReqPackage.is_conflicting</h4>
668 <b>is_conflicting</b>(<i></i>)
669
670 <p>
671 If installed version conflicts with required version
672 </p>
673 <a NAME="ReqPackage.is_missing" ID="ReqPackage.is_missing"></a>
674 <h4>ReqPackage.is_missing</h4>
675 <b>is_missing</b>(<i></i>)
676
677 <a NAME="ReqPackage.render_as_branch" ID="ReqPackage.render_as_branch"></a>
678 <h4>ReqPackage.render_as_branch</h4>
679 <b>render_as_branch</b>(<i>frozen</i>)
680
681 <a NAME="ReqPackage.render_as_root" ID="ReqPackage.render_as_root"></a>
682 <h4>ReqPackage.render_as_root</h4>
683 <b>render_as_root</b>(<i>frozen</i>)
684
685 <a NAME="ReqPackage.version_spec" ID="ReqPackage.version_spec"></a>
686 <h4>ReqPackage.version_spec</h4>
687 <b>version_spec</b>(<i></i>)
688
689 <div align="right"><a href="#top">Up</a></div>
690 <hr />
691 <hr />
692 <a NAME="ReversedPackageDAG" ID="ReversedPackageDAG"></a>
693 <h2>ReversedPackageDAG</h2>
694
695 <p>
696 Representation of Package dependencies in the reverse
697 order.
698 </p>
699 <p>
700 Similar to it's super class `PackageDAG`, the underlying
701 datastructure is a dict, but here the keys are expected to be of
702 type `ReqPackage` and each item in the values of type
703 `DistPackage`.
704 </p>
705 <p>
706 Typically, this object will be obtained by calling
707 `PackageDAG.reverse`.
708 </p>
709 <p>
710
711 </p>
712 <h3>Derived from</h3>
713 PackageDAG
714 <h3>Class Attributes</h3>
715
716 <table>
717 <tr><td>None</td></tr>
718 </table>
719 <h3>Class Methods</h3>
720
721 <table>
722 <tr><td>None</td></tr>
723 </table>
724 <h3>Methods</h3>
725
726 <table>
727
728 <tr>
729 <td><a href="#ReversedPackageDAG.reverse">reverse</a></td>
730 <td>Reverse the already reversed DAG to get the PackageDAG again</td>
731 </tr>
732 </table>
733 <h3>Static Methods</h3>
734
735 <table>
736 <tr><td>None</td></tr>
737 </table>
738
739 <a NAME="ReversedPackageDAG.reverse" ID="ReversedPackageDAG.reverse"></a>
740 <h4>ReversedPackageDAG.reverse</h4>
741 <b>reverse</b>(<i></i>)
742
743 <p>
744 Reverse the already reversed DAG to get the PackageDAG again
745 </p>
746 <p>
747 :returns: reverse of the reversed DAG
748 :rtype: PackageDAG
749 </p>
750 <p>
751
752 </p>
753 <div align="right"><a href="#top">Up</a></div>
754 <hr />
755 <hr />
756 <a NAME="_get_args" ID="_get_args"></a>
757 <h2>_get_args</h2>
758 <b>_get_args</b>(<i></i>)
759
760 <div align="right"><a href="#top">Up</a></div>
761 <hr />
762 <hr />
763 <a NAME="aux" ID="aux"></a>
764 <h2>aux</h2>
765 <b>aux</b>(<i>node, parent=None, indent=0, chain=None</i>)
766
767 <div align="right"><a href="#top">Up</a></div>
768 <hr />
769 <hr />
770 <a NAME="aux_1" ID="aux_1"></a>
771 <h2>aux</h2>
772 <b>aux</b>(<i>node, parent=None, chain=None</i>)
773
774 <div align="right"><a href="#top">Up</a></div>
775 <hr />
776 <hr />
777 <a NAME="conflicting_deps" ID="conflicting_deps"></a>
778 <h2>conflicting_deps</h2>
779 <b>conflicting_deps</b>(<i>tree</i>)
780
781 <p>
782 Returns dependencies which are not present or conflict with the
783 requirements of other packages.
784 </p>
785 <p>
786 e.g. will warn if pkg1 requires pkg2==2.0 and pkg2==1.0 is installed
787 </p>
788 <p>
789 :param tree: the requirements tree (dict)
790 :returns: dict of DistPackage -> list of unsatisfied/unknown ReqPackage
791 :rtype: dict
792 </p>
793 <p>
794
795 </p>
796 <div align="right"><a href="#top">Up</a></div>
797 <hr />
798 <hr />
799 <a NAME="cyclic_deps" ID="cyclic_deps"></a>
800 <h2>cyclic_deps</h2>
801 <b>cyclic_deps</b>(<i>tree</i>)
802
803 <p>
804 Return cyclic dependencies as list of tuples
805 </p>
806 <p>
807 :param PackageDAG pkgs: package tree/dag
808 :returns: list of tuples representing cyclic dependencies
809 :rtype: list
810 </p>
811 <p>
812
813 </p>
814 <div align="right"><a href="#top">Up</a></div>
815 <hr />
816 <hr />
817 <a NAME="dump_graphviz" ID="dump_graphviz"></a>
818 <h2>dump_graphviz</h2>
819 <b>dump_graphviz</b>(<i>tree, output_format='dot', is_reverse=False</i>)
820
821 <p>
822 Output dependency graph as one of the supported GraphViz output formats.
823 </p>
824 <p>
825 :param dict tree: dependency graph
826 :param string output_format: output format
827 :returns: representation of tree in the specified output format
828 :rtype: str or binary representation depending on the output format
829 </p>
830 <p>
831
832 </p>
833 <div align="right"><a href="#top">Up</a></div>
834 <hr />
835 <hr />
836 <a NAME="frozen_req_from_dist" ID="frozen_req_from_dist"></a>
837 <h2>frozen_req_from_dist</h2>
838 <b>frozen_req_from_dist</b>(<i>dist</i>)
839
840 <div align="right"><a href="#top">Up</a></div>
841 <hr />
842 <hr />
843 <a NAME="get_installed_distributions" ID="get_installed_distributions"></a>
844 <h2>get_installed_distributions</h2>
845 <b>get_installed_distributions</b>(<i>local_only=False, user_only=False</i>)
846
847 <div align="right"><a href="#top">Up</a></div>
848 <hr />
849 <hr />
850 <a NAME="get_parser" ID="get_parser"></a>
851 <h2>get_parser</h2>
852 <b>get_parser</b>(<i></i>)
853
854 <div align="right"><a href="#top">Up</a></div>
855 <hr />
856 <hr />
857 <a NAME="guess_version" ID="guess_version"></a>
858 <h2>guess_version</h2>
859 <b>guess_version</b>(<i>pkg_key, default='?'</i>)
860
861 <p>
862 Guess the version of a pkg when pip doesn't provide it
863 </p>
864 <p>
865 :param str pkg_key: key of the package
866 :param str default: default version to return if unable to find
867 :returns: version
868 :rtype: string
869 </p>
870 <p>
871
872 </p>
873 <div align="right"><a href="#top">Up</a></div>
874 <hr />
875 <hr />
876 <a NAME="handle_non_host_target" ID="handle_non_host_target"></a>
877 <h2>handle_non_host_target</h2>
878 <b>handle_non_host_target</b>(<i>args</i>)
879
880 <div align="right"><a href="#top">Up</a></div>
881 <hr />
882 <hr />
883 <a NAME="main" ID="main"></a>
884 <h2>main</h2>
885 <b>main</b>(<i></i>)
886
887 <div align="right"><a href="#top">Up</a></div>
888 <hr />
889 <hr />
890 <a NAME="print_graphviz" ID="print_graphviz"></a>
891 <h2>print_graphviz</h2>
892 <b>print_graphviz</b>(<i>dump_output</i>)
893
894 <p>
895 Dump the data generated by GraphViz to stdout.
896 </p>
897 <p>
898 :param dump_output: The output from dump_graphviz
899 </p>
900 <div align="right"><a href="#top">Up</a></div>
901 <hr />
902 <hr />
903 <a NAME="render_conflicts_text" ID="render_conflicts_text"></a>
904 <h2>render_conflicts_text</h2>
905 <b>render_conflicts_text</b>(<i>conflicts</i>)
906
907 <div align="right"><a href="#top">Up</a></div>
908 <hr />
909 <hr />
910 <a NAME="render_cycles_text" ID="render_cycles_text"></a>
911 <h2>render_cycles_text</h2>
912 <b>render_cycles_text</b>(<i>cycles</i>)
913
914 <div align="right"><a href="#top">Up</a></div>
915 <hr />
916 <hr />
917 <a NAME="render_json" ID="render_json"></a>
918 <h2>render_json</h2>
919 <b>render_json</b>(<i>tree, indent</i>)
920
921 <p>
922 Converts the tree into a flat json representation.
923 </p>
924 <p>
925 The json repr will be a list of hashes, each hash having 2 fields:
926 - package
927 - dependencies: list of dependencies
928 </p>
929 <p>
930 :param dict tree: dependency tree
931 :param int indent: no. of spaces to indent json
932 :returns: json representation of the tree
933 :rtype: str
934 </p>
935 <p>
936
937 </p>
938 <div align="right"><a href="#top">Up</a></div>
939 <hr />
940 <hr />
941 <a NAME="render_json_tree" ID="render_json_tree"></a>
942 <h2>render_json_tree</h2>
943 <b>render_json_tree</b>(<i>tree, indent</i>)
944
945 <p>
946 Converts the tree into a nested json representation.
947 </p>
948 <p>
949 The json repr will be a list of hashes, each hash having the following fields:
950 - package_name
951 - key
952 - required_version
953 - installed_version
954 - dependencies: list of dependencies
955 </p>
956 <p>
957 :param dict tree: dependency tree
958 :param int indent: no. of spaces to indent json
959 :returns: json representation of the tree
960 :rtype: str
961 </p>
962 <p>
963
964 </p>
965 <div align="right"><a href="#top">Up</a></div>
966 <hr />
967 <hr />
968 <a NAME="render_text" ID="render_text"></a>
969 <h2>render_text</h2>
970 <b>render_text</b>(<i>tree, list_all=True, frozen=False</i>)
971
972 <p>
973 Print tree as text on console
974 </p>
975 <p>
976 :param dict tree: the package tree
977 :param bool list_all: whether to list all the pgks at the root
978 level or only those that are the
979 sub-dependencies
980 :param bool frozen: whether or not show the names of the pkgs in
981 the output that's favourable to pip --freeze
982 :returns: None
983 </p>
984 <p>
985
986 </p>
987 <div align="right"><a href="#top">Up</a></div>
988 <hr />
989 <hr />
990 <a NAME="sorted_tree" ID="sorted_tree"></a>
991 <h2>sorted_tree</h2>
992 <b>sorted_tree</b>(<i>tree</i>)
993
994 <p>
995 Sorts the dict representation of the tree
996 </p>
997 <p>
998 The root packages as well as the intermediate packages are sorted
999 in the alphabetical order of the package names.
1000 </p>
1001 <p>
1002 :param dict tree: the pkg dependency tree obtained by calling
1003 `construct_tree` function
1004 :returns: sorted tree
1005 :rtype: collections.OrderedDict
1006 </p>
1007 <p>
1008
1009 </p>
1010 <div align="right"><a href="#top">Up</a></div>
1011 <hr />
1012 </body></html>

eric ide

mercurial