meld3
Unmaintained templating system used by old versions of Supervisor
What it is and what it does
meld3 is a templating library that uses ElementTree to parse and manipulate HTML or XML documents. Templates are marked up with namespace-qualified identifiers (meld:id attributes), and Python code then locates and modifies those elements by name, adding content, attributes, or repeating sections over data. The library outputs well-formed HTML, XHTML, or XML depending on the write method used.
The package was created as a variation of earlier templating systems (Meld2 and PyMeld) and was maintained primarily as a dependency of Supervisor until version 4.1.0 (October 2019). Since then, no further development has been planned, and the package is considered unmaintained. It has received only minimal updates since 2007 to keep compatible with newer Python versions.
Use it for:
- Generating dynamic HTML documents from templates in legacy systems that depend on meld3 (e.g., older Supervisor versions).
- Transforming XML documents by locating elements via meld:id identifiers and modifying their content or attributes programmatically.
- Repeating template sections (like table rows) over collections of data using the repeat() method.
- Outputting templates in different formats (HTML 4.01, XHTML, or XML) from a single parsed tree.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
meld3 is an HTML/XML templating system that separates template markup from rendering logic using ElementTree-based element manipulation and namespace-qualified identifiers.
No. The package is explicitly unmaintained as of April 2020 and archived. Install only if you are maintaining legacy code that already depends on it (e.g., Supervisor versions before 4.1.0). For new projects, use a modern templating library such as Jinja2 or similar. No known security vulnerabilities are recorded, but lack of maintenance means future issues will not be addressed.
Install
meld3 on PyPI
pip
pip install meld3uv
uv add meld3poetry
poetry add meld3Installing meld3
Before you install
Installation is straightforward with no runtime dependencies, but the package is explicitly unmaintained as of April 2020 and has received only minimal updates since 2007 to maintain Python compatibility. The repository is archived.
License in practice
Licensed under a BSD-derived license (permissive), which allows commercial and private use with minimal restrictions, though the exact terms should be verified at the stated license URL.
Quickstart
from meld3 import parse_xmlstring
root = parse_xmlstring(xml_string)
root.findmeld('element_id').content('new content')
root.write_xml(sys.stdout)
Requires Python 2.7 or later on Python 2, or Python 3.4 or later on Python 3; input must be well-formed XML for parse_xmlstring or HTML for parse_htmlstring.
Verify before relying
- Whether meld3 works reliably with modern Python versions beyond 3.8 (last tested version in classifiers).
- Current state of compatibility with contemporary web frameworks or whether it is used only in legacy systems.
- Security implications of using an unmaintained package in production environments.
Package facts
| License | BSD-derived (http://www.repoze.org/LICENSE.txt) (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,319 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 101,416/month — #12,936 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: meld3-2.0.1-py2.py3-none-any.whl
Tags
More HTML packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
lxmllxml provides Python bindings to libxml2 and…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
MarkdownConverts Markdown text to HTML using a Python…
permissive · top 1,000 on PyPI
html5taggerGenerates HTML5 markup programmatically using…
permissive · top 5,000 on PyPI
htmlBuilderRender HTML by writing Python code, using…
permissive · top 15,000 on PyPI
html-void-elementsProvides a list of HTML void element tag names…
copyleft · top 15,000 on PyPI
xmlformatterFormats and compresses XML documents by…
permissive · top 15,000 on PyPI
htbuilderhtbuilder lets you construct HTML strings using…
permissive · top 15,000 on PyPI
dominateDominate is a Python library for writing HTML…
copyleft · top 5,000 on PyPI
elementpathProvides XPath 1.0, 2.0, 3.0, and 3.1 selectors…
permissive · top 5,000 on PyPI
defusedxmlDefusedxml hardens Python's standard XML…
permissive · top 1,000 on PyPI
ChameleonChameleon is an HTML/XML template engine that…
permissive · top 15,000 on PyPI
html-tag-namesProvides a curated list of valid HTML tag names…
copyleft · top 15,000 on PyPI