skillfed

jxmlease

jxmlease converts between XML and intelligent Python data structures.

jxmlease v1.0.3 205.8K downloads/30d#9,582 on PyPI82
Permissive license MIT Abandoned released

What it is and what it does

jxmlease bridges the gap between XML and Python by subclassing native Python types (list, dict, string) to create smart XML classes that hold both data and metadata. When you parse XML, you get a standard Python object you can iterate, compare, and manipulate like any dict or list, but you can also call methods like get_xml_attr() to access XML attributes and other metadata that would normally be lost. It also works in reverse: you can pass a plain Python dict to emit_xml() and get valid XML output.

The package supports flexible parsing modes—you can stream results as the parser encounters specific tags, iterate over the full tree, or search for nodes by tag name. This makes it useful for both small configuration files and selective extraction from larger documents. However, the project has been abandoned since 2020 with no active maintenance, so it should only be adopted if you need a stable, unchanging XML layer and can accept no future updates.

Use it for:

  • Parse XML configuration files and access both tag content and attributes as a single Python dict.
  • Convert REST API XML responses into Python objects for easier data manipulation and comparison.
  • Generate XML output from Python dictionaries without manually constructing XML strings.
  • Extract specific nodes from large XML documents using generator-based parsing to avoid loading the entire tree.
  • Maintain XML metadata (attributes, element order) while working with XML data as native Python types.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts XML to Python data structures (lists, dicts, strings) that preserve XML metadata, and converts Python objects back to XML.

Yes, if you need lightweight XML-to-dict conversion and can accept an abandoned package. The zero runtime dependencies and low install friction make it easy to add, and the MIT license is unencumbered. However, do not use it for new projects requiring active maintenance, security updates, or support for modern Python versions beyond 3.5. For actively maintained alternatives, consider other XML libraries.

Install

jxmlease on PyPI

pip

pip install jxmlease

uv

uv add jxmlease

poetry

poetry add jxmlease

Installing jxmlease

Before you install

Low install friction with no runtime dependencies. However, the package is abandoned—last release was 2020-05-29 and no commits since. Use only if you need a stable, unchanging XML-to-dict layer and can accept no future maintenance or security updates.

License in practice

MIT license is permissive; you can use, modify, and distribute jxmlease freely in commercial and private projects with minimal restrictions.

Quickstart

import jxmlease
xml_string = '<a><b>hello</b></a>'
root = jxmlease.parse(xml_string)
print(root)  # {u'a': {u'b': u'hello'}}
print(jxmlease.emit_xml({'a': {'b': 'hello'}}))

Verify before relying

  • Whether the package handles modern XML features (namespaces, CDATA, processing instructions) adequately for your use case.
  • Performance characteristics on large XML documents or deeply nested structures.
  • Compatibility with Python versions beyond 3.5 (classifiers list 3.5 as the highest, but actual support is unspecified).

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,268 days since the last release
Last repo commit
First released
Downloads 205,774/month — #9,582 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jxmlease-1.0.3-py2.py3-none-any.whl

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: Implementation :: PyPyTopic :: Text Processing :: Markup :: XML

Tags

xml to python dictparse xml pythonxml metadata preservationpython xml conversionxml to data structures
xml-parsingdata-structure-conversion

More XML packages