Converts XML to Python objects
Python XSLT Makefile Shell
Latest commit fef80cf Jul 20, 2016 Christian Stefanescu Removed PyPi download icon


Build Status Code Quality Coverage Status PyPi version

Join the chat at


  • Converts XML to a Python object.
  • Siblings with similar names are grouped into a list.
  • Children can be accessed with parent.child, attributes with element['attribute'].
  • You can call the parse() method with a filename, an URL or an XML string.
  • Substitutes -, . and : with _ <foobar><foo-bar/></foobar> can be accessed with foobar.foo_bar, <> can be accessed with foo_bar_baz and <foo:bar><foo:baz/></foo:bar> can be accessed with foo_bar.foo_baz
  • Works with Python 2.5, 2.6, 2.7 and 3.3, 3.4, 3.5 and pypy


pip install untangle


try the latest .deb


(See and run or this blog post: Read XML painlessly for more info)

import untangle
obj = untangle.parse(resource)

resource can be:

  • a URL
  • a filename
  • an XML string

Running the above code and passing this XML:

<?xml version="1.0"?>
    <child name="child1"/>

allows it to be navigated from the untangled object like this:

obj.root.child['name'] # u'child1'