Metadata-Version: 2.1 Name: anytree Version: 2.4.3 Summary: Powerful and Lightweight Python Tree Data Structure.. Home-page: https://github.com/c0fec0de/anytree Author: c0fec0de Author-email: c0fec0de@gmail.com License: Apache 2.0 Keywords: tree,tree data,treelib,tree walk,tree structure Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Requires-Dist: six (>=1.9.0) Provides-Extra: dev Requires-Dist: check-manifest ; extra == 'dev' Provides-Extra: test Requires-Dist: coverage ; extra == 'test' .. image:: https://badge.fury.io/py/anytree.svg :target: https://badge.fury.io/py/anytree .. image:: https://travis-ci.org/c0fec0de/anytree.svg?branch=master :target: https://travis-ci.org/c0fec0de/anytree .. image:: https://coveralls.io/repos/github/c0fec0de/anytree/badge.svg :target: https://coveralls.io/github/c0fec0de/anytree .. image:: https://readthedocs.org/projects/anytree/badge/?version=2.4.3 :target: http://anytree.readthedocs.io/en/2.4.3/?badge=2.4.3 .. image:: https://codeclimate.com/github/c0fec0de/anytree.png :target: https://codeclimate.com/github/c0fec0de/anytree .. image:: https://img.shields.io/pypi/pyversions/anytree.svg :target: https://pypi.python.org/pypi/anytree .. image:: https://landscape.io/github/c0fec0de/anytree/master/landscape.svg?style=flat :target: https://landscape.io/github/c0fec0de/anytree/master .. image:: https://img.shields.io/badge/code%20style-pep8-brightgreen.svg :target: https://www.python.org/dev/peps/pep-0008/ .. image:: https://img.shields.io/badge/code%20style-pep257-brightgreen.svg :target: https://www.python.org/dev/peps/pep-0257/ Documentation ============= The Documentation_ is hosted on http://anytree.readthedocs.io/en/2.4.3/ .. _Documentation: http://anytree.readthedocs.io/en/2.4.3/ Getting started =============== .. _getting_started: Usage is simple. **Construction** >>> from anytree import Node, RenderTree >>> udo = Node("Udo") >>> marc = Node("Marc", parent=udo) >>> lian = Node("Lian", parent=marc) >>> dan = Node("Dan", parent=udo) >>> jet = Node("Jet", parent=dan) >>> jan = Node("Jan", parent=dan) >>> joe = Node("Joe", parent=dan) **Node** >>> print(udo) Node('/Udo') >>> print(joe) Node('/Udo/Dan/Joe') **Tree** >>> for pre, fill, node in RenderTree(udo): ... print("%s%s" % (pre, node.name)) Udo ├── Marc │ └── Lian └── Dan ├── Jet ├── Jan └── Joe >>> from anytree.exporter import DotExporter >>> # graphviz needs to be installed for the next line! >>> DotExporter(udo).to_picture("udo.png") .. image:: http://anytree.readthedocs.io/en/latest/_images/udo.png **Manipulation** A second tree: >>> mary = Node("Mary") >>> urs = Node("Urs", parent=mary) >>> chris = Node("Chris", parent=mary) >>> marta = Node("Marta", parent=mary) >>> print(RenderTree(mary)) Node('/Mary') ├── Node('/Mary/Urs') ├── Node('/Mary/Chris') └── Node('/Mary/Marta') Append: >>> udo.parent = mary >>> print(RenderTree(mary)) Node('/Mary') ├── Node('/Mary/Urs') ├── Node('/Mary/Chris') ├── Node('/Mary/Marta') └── Node('/Mary/Udo') ├── Node('/Mary/Udo/Marc') │ └── Node('/Mary/Udo/Marc/Lian') └── Node('/Mary/Udo/Dan') ├── Node('/Mary/Udo/Dan/Jet') ├── Node('/Mary/Udo/Dan/Jan') └── Node('/Mary/Udo/Dan/Joe') Subtree rendering: >>> print(RenderTree(marc)) Node('/Mary/Udo/Marc') └── Node('/Mary/Udo/Marc/Lian') Cut: >>> dan.parent = None >>> print(RenderTree(dan)) Node('/Dan') ├── Node('/Dan/Jet') ├── Node('/Dan/Jan') └── Node('/Dan/Joe') Installation ============ To install the `anytree` module run:: pip install anytree If you do not have write-permissions to the python installation, try:: pip install anytree --user