(original) (raw)

{"info":{"author":"Christian Stefanescu","author_email":"hello@stchris.net","bugtrack_url":null,"classifiers":["License :: OSI Approved :: MIT License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9"],"description":"untangle\n========\n\n[![Build Status](https://github.com/stchris/untangle/actions/workflows/build.yml/badge.svg)\](https://github.com/stchris/untangle/actions)\\n\[!\[PyPi version](https://img.shields.io/pypi/v/untangle.svg)\](https://pypi.python.org/pypi/untangle)\\n[![\"Code](https://pypi.org/%22https://img.shields.io/badge/code%20style-black-000000.svg/%22)](\"https://github.com/psf/black\")\\n\\n\[Documentation\](http://readthedocs.org/docs/untangle/en/latest/)\\n\\n\* Converts XML to a Python object.\n* Siblings with similar names are grouped into a list.\n* Children can be accessed with ``parent.child``, attributes with ``element['attribute']``.\n* You can call the ``parse()`` method with a filename, an URL or an XML string.\n* Substitutes ``-``, ``.`` and ``:`` with ``_`` ```` can be accessed with ``foobar.foo_bar``, ```` can be accessed with ``foo_bar_baz`` and ```` can be accessed with ``foo_bar.foo_baz``\n* Works with Python 3.7 - 3.10\n\nInstallation\n------------\n\nWith pip:\n```\npip install untangle\n```\n\nWith conda:\n```\nconda install -c conda-forge untangle\n```\n\nConda feedstock maintained by @htenkanen. Issues and questions about conda-forge packaging / installation can be done [here](https://github.com/conda-forge/untangle-feedstock/issues).\\n\\nUsage\\n-----\\n(See and run examples.py or this blog post: [Read XML painlessly](http://pythonadventures.wordpress.com/2011/10/30/read-xml-painlessly/) for more info)\n\n```python\nimport untangle\nobj = untangle.parse(resource)\n```\n\n``resource`` can be:\n\n* a URL\n* a filename\n* an XML string\n\nRunning the above code and passing this XML:\n\n```xml\n\n\n\t\n\n```\nallows it to be navigated from the ``untangle``d object like this:\n\n```python\nobj.root.child['name'] # u'child1'\n```\n\nChangelog\n---------\n\nsee CHANGELOG.md\n\n","description_content_type":"text/markdown","docs_url":null,"download_url":"","downloads":{"last_day":-1,"last_month":-1,"last_week":-1},"dynamic":null,"home_page":"","keywords":"","license":"MIT","license_expression":null,"license_files":null,"maintainer":"","maintainer_email":"","name":"untangle","package_url":"https://pypi.org/project/untangle/","platform":null,"project\_url":"https://pypi.org/project/untangle/","project\_urls":null,"provides\_extra":null,"release\_url":"https://pypi.org/project/untangle/1.2.1/","requires\_dist":\["defusedxml (>=0.7.1,<0.8.0)"],"requires_python":">=3.7,<4.0","summary":"Converts XML to Python objects","version":"1.2.1","yanked":false,"yanked_reason":null},"last_serial":14355553,"releases":{"0.3":[{"comment_text":"","digests":{"blake2b_256":"3f5a25d79d5891aa1ddb336fb39c3c942b4079139f53d618a669e2c1a57f61dd","md5":"65c525083aea82f12c779cc5b351dc0b","sha256":"87c49366fe5838d517d2986945e03fdecbf000c5249ae8ebc56890401680affb"},"downloads":-1,"filename":"untangle-0.3.tar.gz","has_sig":false,"md5_digest":"65c525083aea82f12c779cc5b351dc0b","packagetype":"sdist","python_version":"source","requires_python":null,"size":2672,"upload_time":"2011-06-08T21:43:02","upload_time_iso_8601":"2011-06-08T21:43:02.926840Z","url":"=3.7" title="undefined" rel="noopener noreferrer">https://files.pythonhosted.org/packages/3f/5a/25d79d5891aa1ddb336fb39c3c942b4079139f53d618a669e2c1a57f61dd/untangle-0.3.tar.gz","yanked":false,"yanked\_reason":null}\],"0.3.1":\[{"comment\_text":"","digests":{"blake2b\_256":"9e69f21102f49e55a6232e5011a6457e1a0aa1ce09b6ff1886220a1ce6b833d3","md5":"75ae4c09a1e7d85417d7353c48bd3ccb","sha256":"0e6a5722a48148050dcef930f6ef77ef12754031d105c47ff8b62ccabfb81019"},"downloads":-1,"filename":"untangle-0.3.1.tar.gz","has\_sig":false,"md5\_digest":"75ae4c09a1e7d85417d7353c48bd3ccb","packagetype":"sdist","python\_version":"source","requires\_python":null,"size":2224,"upload\_time":"2011-06-13T16:42:52","upload\_time\_iso\_8601":"2011-06-13T16:42:52.565407Z","url":"https://files.pythonhosted.org/packages/9e/69/f21102f49e55a6232e5011a6457e1a0aa1ce09b6ff1886220a1ce6b833d3/untangle-0.3.1.tar.gz","yanked":false,"yanked\_reason":null}\],"0.4.0":\[{"comment\_text":"","digests":{"blake2b\_256":"1d533ed3fc9e5c43600486c210d0fc6b7dd2820164003d95915582202561c539","md5":"00ddcbb72ac87e845bc669983fc3097c","sha256":"6a4db1aa482ed64b725c553cc21a0ffc53b995e7db115d7a7ff1a665bd66ace5"},"downloads":-1,"filename":"untangle-0.4.0.tar.gz","has\_sig":false,"md5\_digest":"00ddcbb72ac87e845bc669983fc3097c","packagetype":"sdist","python\_version":"source","requires\_python":null,"size":2311,"upload\_time":"2012-02-28T21:54:51","upload\_time\_iso\_8601":"2012-02-28T21:54:51.555821Z","url":"https://files.pythonhosted.org/packages/1d/53/3ed3fc9e5c43600486c210d0fc6b7dd2820164003d95915582202561c539/untangle-0.4.0.tar.gz","yanked":false,"yanked\_reason":null}\],"1.0.0":\[{"comment\_text":"","digests":{"blake2b\_256":"5de9e053791e99b9aa61e52caaf0a282ef591563c67be902c69500f177e06069","md5":"7db1415cdfdefc3c73d75323e05665c4","sha256":"e3a9f877557bc6f9f4a410538328151507e20f375d854eadad94c73713066273"},"downloads":-1,"filename":"untangle-1.0.0.tar.gz","has\_sig":false,"md5\_digest":"7db1415cdfdefc3c73d75323e05665c4","packagetype":"sdist","python\_version":"source","requires\_python":null,"size":2622,"upload\_time":"2012-04-23T20:38:51","upload\_time\_iso\_8601":"2012-04-23T20:38:51.576363Z","url":"https://files.pythonhosted.org/packages/5d/e9/e053791e99b9aa61e52caaf0a282ef591563c67be902c69500f177e06069/untangle-1.0.0.tar.gz","yanked":false,"yanked\_reason":null}\],"1.1.0":\[{"comment\_text":"","digests":{"blake2b\_256":"e885435cd3540c4a3fd443f22faf83fdf848db37e1880e4da77b23c0f119caa5","md5":"5ce6e50009d408b9f36794d0ffaae0dd","sha256":"d16a5afe0cd426071f3b043132f1d8195e3ebc294ad26461f90543d6d1d90d68"},"downloads":-1,"filename":"untangle-1.1.0.tar.gz","has\_sig":false,"md5\_digest":"5ce6e50009d408b9f36794d0ffaae0dd","packagetype":"sdist","python\_version":"source","requires\_python":null,"size":2666,"upload\_time":"2012-12-17T22🔞51","upload\_time\_iso\_8601":"2012-12-17T22🔞51.977525Z","url":"https://files.pythonhosted.org/packages/e8/85/435cd3540c4a3fd443f22faf83fdf848db37e1880e4da77b23c0f119caa5/untangle-1.1.0.tar.gz","yanked":false,"yanked\_reason":null}\],"1.1.1":\[{"comment\_text":"","digests":{"blake2b\_256":"f4eba19a34858cd702b09524bd2ddb01c0d75a71f993a96aec8755a76e867911","md5":"b8744e11d3f3a5aa15b72283d7378d84","sha256":"e7cfa1ad57707e6b74cfea8b9fc50f7cbe9bbaf18401cc9d72192002bcd80bcb"},"downloads":-1,"filename":"untangle-1.1.1.tar.gz","has\_sig":false,"md5\_digest":"b8744e11d3f3a5aa15b72283d7378d84","packagetype":"sdist","python\_version":"source","requires\_python":null,"size":3089,"upload\_time":"2017-05-07T11:00:30","upload\_time\_iso\_8601":"2017-05-07T11:00:30.776534Z","url":"https://files.pythonhosted.org/packages/f4/eb/a19a34858cd702b09524bd2ddb01c0d75a71f993a96aec8755a76e867911/untangle-1.1.1.tar.gz","yanked":false,"yanked\_reason":null}\],"1.2.0":\[{"comment\_text":"","digests":{"blake2b\_256":"427f942663bed7872dbb7f02e35d4f455d7942465423adb213634068140b37e0","md5":"7b352932941685c77b952896dec7bf92","sha256":"a527b234e930df124120684cbcd3dcc24061bf3c9a95fe0e1dfc5e51835a2a2c"},"downloads":-1,"filename":"untangle-1.2.0-py3-none-any.whl","has\_sig":false,"md5\_digest":"7b352932941685c77b952896dec7bf92","packagetype":"bdist\_wheel","python\_version":"py3","requires\_python":null,"size":5385,"upload\_time":"2022-07-01T18:37:36","upload\_time\_iso\_8601":"2022-07-01T18:37:36.325271Z","url":"https://files.pythonhosted.org/packages/42/7f/942663bed7872dbb7f02e35d4f455d7942465423adb213634068140b37e0/untangle-1.2.0-py3-none-any.whl","yanked":true,"yanked\_reason":null},{"comment\_text":"","digests":{"blake2b\_256":"43182086eec49e2a83d51a3c48f96725fe1655b5195229e8fa54283ce45ad3b5","md5":"74e3a16af8c3e26c6214ac1a82fe2bfd","sha256":"dda75a60bfe69d76f116c3aea91c478885d25288d798f290201daa1400c1b5d4"},"downloads":-1,"filename":"untangle-1.2.0.tar.gz","has\_sig":false,"md5\_digest":"74e3a16af8c3e26c6214ac1a82fe2bfd","packagetype":"sdist","python\_version":"source","requires\_python":null,"size":5161,"upload\_time":"2022-07-01T18:37:37","upload\_time\_iso\_8601":"2022-07-01T18:37:37.911596Z","url":"https://files.pythonhosted.org/packages/43/18/2086eec49e2a83d51a3c48f96725fe1655b5195229e8fa54283ce45ad3b5/untangle-1.2.0.tar.gz","yanked":true,"yanked\_reason":null}\],"1.2.1":\[{"comment\_text":"","digests":{"blake2b\_256":"c74a7f7857e04d5499af7c20b82b6bae13cb4ca7543aabcef06b4069a09462d9","md5":"b67fc1c895e85e26933f71b98c6ba6fd","sha256":"1e783bb75996daf46ff7239ba049ee0eb54c056e235ac34809d74ea9e9898dd1"},"downloads":-1,"filename":"untangle-1.2.1-py3-none-any.whl","has\_sig":false,"md5\_digest":"b67fc1c895e85e26933f71b98c6ba6fd","packagetype":"bdist\_wheel","python\_version":"py3","requires\_python":">=3.7,<4.0","size":4816,"upload_time":"2022-07-02T14:09:28","upload_time_iso_8601":"2022-07-02T14:09:28.861485Z","url":"=3.7" title="undefined" rel="noopener noreferrer">https://files.pythonhosted.org/packages/c7/4a/7f7857e04d5499af7c20b82b6bae13cb4ca7543aabcef06b4069a09462d9/untangle-1.2.1-py3-none-any.whl","yanked":false,"yanked\_reason":null},{"comment\_text":"","digests":{"blake2b\_256":"a1694fbd17bc16143343c022d845fd0fc2fc3bd89f85a5dce897cf00ad2c0e70","md5":"60b402a34d2d854ee8f7e3b39f7875b4","sha256":"ae76522472722b31b303d5100c3c6f8b7dd4952b7b6c9d31e6d7b4a56f1a6d30"},"downloads":-1,"filename":"untangle-1.2.1.tar.gz","has\_sig":false,"md5\_digest":"60b402a34d2d854ee8f7e3b39f7875b4","packagetype":"sdist","python\_version":"source","requires\_python":">=3.7,<4.0","size":4809,"upload_time":"2022-07-02T14:09:30","upload_time_iso_8601":"2022-07-02T14:09:30.670493Z","url":"=3.7" title="undefined" rel="noopener noreferrer">https://files.pythonhosted.org/packages/a1/69/4fbd17bc16143343c022d845fd0fc2fc3bd89f85a5dce897cf00ad2c0e70/untangle-1.2.1.tar.gz","yanked":false,"yanked\_reason":null}\]},"urls":\[{"comment\_text":"","digests":{"blake2b\_256":"c74a7f7857e04d5499af7c20b82b6bae13cb4ca7543aabcef06b4069a09462d9","md5":"b67fc1c895e85e26933f71b98c6ba6fd","sha256":"1e783bb75996daf46ff7239ba049ee0eb54c056e235ac34809d74ea9e9898dd1"},"downloads":-1,"filename":"untangle-1.2.1-py3-none-any.whl","has\_sig":false,"md5\_digest":"b67fc1c895e85e26933f71b98c6ba6fd","packagetype":"bdist\_wheel","python\_version":"py3","requires\_python":">=3.7,<4.0","size":4816,"upload_time":"2022-07-02T14:09:28","upload_time_iso_8601":"2022-07-02T14:09:28.861485Z","url":"=3.7" title="undefined" rel="noopener noreferrer">https://files.pythonhosted.org/packages/c7/4a/7f7857e04d5499af7c20b82b6bae13cb4ca7543aabcef06b4069a09462d9/untangle-1.2.1-py3-none-any.whl","yanked":false,"yanked\_reason":null},{"comment\_text":"","digests":{"blake2b\_256":"a1694fbd17bc16143343c022d845fd0fc2fc3bd89f85a5dce897cf00ad2c0e70","md5":"60b402a34d2d854ee8f7e3b39f7875b4","sha256":"ae76522472722b31b303d5100c3c6f8b7dd4952b7b6c9d31e6d7b4a56f1a6d30"},"downloads":-1,"filename":"untangle-1.2.1.tar.gz","has\_sig":false,"md5\_digest":"60b402a34d2d854ee8f7e3b39f7875b4","packagetype":"sdist","python\_version":"source","requires\_python":">=3.7,<4.0","size":4809,"upload_time":"2022-07-02T14:09:30","upload_time_iso_8601":"2022-07-02T14:09:30.670493Z","url":"https://files.pythonhosted.org/packages/a1/69/4fbd17bc16143343c022d845fd0fc2fc3bd89f85a5dce897cf00ad2c0e70/untangle-1.2.1.tar.gz","yanked":false,"yanked\_reason":null}\],"vulnerabilities":\[\]}