xunitparser
Read JUnit/XUnit XML files and map them to Python objects
Decision gist · record as of 2026-08-14
Yes, if you need to parse JUnit XML in a stable, legacy codebase and can accept that the package is no longer maintained. The low install friction and lack of dependencies make it a lightweight choice. No, if you require active maintenance, support for the latest Python versions, or expect to need bug fixes or feature updates. Consider alternatives if you are starting a new project.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with no runtime dependencies.
- However, the package is abandoned—last release was 1633 days ago—so expect no maintenance, bug fixes, or support for newer Python versions beyond those already declared.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute it freely with minimal restrictions.
last release 2022-02-23 (1633 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 113,318 downloads/mo, #12,345 on PyPI
Alternatives
Verify before relying
import xunitparser
ts, tr = xunitparser.parse(open('/path/to/unit.xml'))
for tc in ts:
print(tc.classname, tc.methodname, 'passed' if tc.good else 'failed')- Whether the package works reliably with Python versions beyond 3.10 or with modern test frameworks.
- Whether the XML parsing handles all JUnit/XUnit dialect variations in real-world use.
What it is and what it does
xunitparser is a minimal XML parser that reads JUnit/XUnit test result files and converts them into Python objects mirroring the standard unittest module's structure. It returns a TestSuite object containing TestCase objects and a TestResult object, letting you programmatically inspect test outcomes, class names, method names, and pass/fail/skip status.
The package has no runtime dependencies and installs cleanly, but it is no longer maintained. It was last released in February 2022 and has not been updated since. If you need to parse JUnit XML in a legacy codebase or as a one-time integration task, it will likely work; if you need active support or compatibility with the latest Python versions, you should evaluate alternatives or plan to maintain a fork.
Use it for
- Parse JUnit XML output from CI/CD pipelines to programmatically analyze test results in Python.
- Extract test metadata (class name, method name, pass/fail status) from XML reports for custom reporting or filtering.
- Integrate legacy test result files into a Python-based test analysis or aggregation tool.
- Inspect test suite structure and outcomes without writing custom XML parsing logic.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to parse JUnit XML in a stable, legacy codebase and can accept that the package is no longer maintained.
The low install friction and lack of dependencies make it a lightweight choice. No, if you require active maintenance, support for the latest Python versions, or expect to need bug fixes or feature updates. Consider alternatives if you are starting a new project.
Install
xunitparser on PyPI
Before you install
Low install friction with no runtime dependencies. However, the package is abandoned—last release was 1633 days ago—so expect no maintenance, bug fixes, or support for newer Python versions beyond those already declared.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute it freely with minimal restrictions.
Quickstart
import xunitparser
ts, tr = xunitparser.parse(open('/path/to/unit.xml'))
for tc in ts:
print(tc.classname, tc.methodname, 'passed' if tc.good else 'failed')
Verify before relying
- Whether the package works reliably with Python versions beyond 3.10 or with modern test frameworks.
- Whether the XML parsing handles all JUnit/XUnit dialect variations in real-world use.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 1,633 days since the last release |
| First released | |
| Downloads | 113,318 / month, #12,345 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Testing |
Evidence: xunitparser-1.3.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “parse junit xml”
- xunitparserParses JUnit/XUnit XML test result files and maps them to Python…
- junitparserParse, create, and manipulate JUnit/xUnit test result XML files,…
- flake8-junit-report-basicConverts flake8 linting output to JUnit XML format for display in CI…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also junitparser · testtools · unittest-xml-reporting · xmlunittest · junit-xml · junit2html · xmlrunner · junit-xml-2 · flake8-formatter-junit-xml · python-subunit