saxonche
Official Saxonica python package for the SaxonC-HE 13.0.0 processor: for XSLT 3.0, XQuery 3.1, XPath 3.1 and XML Schema processing.
What it is and what it does
SaxonC-HE is the open-source Home Edition of Saxon, a standards-compliant XML processor developed by Saxonica. It provides Python bindings to a native C/C++ implementation of Saxon, making W3C-standard XML processing available without a Java runtime. The package supports XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1 validation—all the latest W3C standards for XML processing.
You use it by instantiating a PySaxonProcessor, then creating specialized processors (XSLT, XQuery, XPath) or validators as needed. The API lets you parse XML, compile stylesheets or queries, and execute transformations or evaluations, returning results as strings or XDM data model objects. It's designed for developers who need strict W3C compliance and don't want to depend on Java or pure-Python XML libraries that may lag behind standards.
Use it for:
- Run XSLT 3.0 stylesheets against XML documents in production pipelines without a Java dependency
- Validate XML documents against XSD 1.1 schemas with full W3C compliance
- Execute XQuery 3.1 queries against XML data for complex document transformations
- Perform XPath 3.1 queries on XML documents when standard library XPath support is insufficient
- Integrate standards-compliant XML processing into Python applications that require strict W3C conformance
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SaxonC-HE is a Python wrapper for Saxon, an XML processor that runs XSLT 3.0 transformations, XQuery 3.1 queries, XPath 3.1 expressions, and XML Schema validation.
Yes, if you need W3C-compliant XSLT 3.0, XQuery 3.1, or XPath 3.1 processing and want to avoid Java dependencies. The package is actively maintained, has no known vulnerabilities, and supports modern Python versions. License treatment is unclear in metadata—verify Saxonica's terms before deployment. Medium install friction is acceptable for a compiled extension.
Install
saxonche on PyPI
pip
pip install saxoncheuv
uv add saxonchepoetry
poetry add saxoncheInstalling saxonche
Before you install
Medium install friction due to compiled wheels for multiple Python versions and platforms. Package is actively maintained with a recent release 77 days ago and supports current Python versions (3.9+).
License in practice
License treatment is unclear in the metadata. The package itself is open-source (Home Edition), but commercial editions (PE, EE) require paid licenses. Review Saxonica's terms and conditions before use.
Quickstart
pip install saxonche
from saxonche import PySaxonProcessor
proc = PySaxonProcessor(license=False)
print(proc.version)
Requires Python 3.9 or later. License configuration via SAXONC_HOME environment variable or licenseFileLocation property may be needed for commercial editions.
Verify before relying
- Whether the package works reliably on all listed platform/Python combinations in production environments
- Performance characteristics compared to other XML processors for large documents
- Community adoption and real-world usage patterns beyond download counts
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 77 days since the last release |
| First released | |
| Downloads | 1,320,441/month — #4,063 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: saxonche-13.0.0-cp310-cp310-macosx_10_11_x86_64.whl; saxonche-13.0.0-cp310-cp310-macosx_11_0_arm64.whl; saxonche-13.0.0-cp310-cp310-manylinux_2_24_aarch64.whl; saxonche-13.0.0-cp310-cp310-manylinux_2_24_x86_64.whl; saxonche-13.0.0-cp310-cp310-win_amd64.whl; saxonche-13.0.0-cp311-cp311-macosx_10_11_x86_64.whl; saxonche-13.0.0-cp311-cp311-macosx_11_0_arm64.whl; saxonche-13.0.0-cp311-cp311-manylinux_2_24_aarch64.whl; saxonche-13.0.0-cp311-cp311-manylinux_2_24_x86_64.whl; saxonche-13.0.0-cp311-cp311-win_amd64.whl; saxonche-13.0.0-cp312-cp312-macosx_10_11_x86_64.whl; saxonche-13.0.0-cp312-cp312-macosx_11_0_arm64.whl; saxonche-13.0.0-cp312-cp312-manylinux_2_24_aarch64.whl; saxonche-13.0.0-cp312-cp312-manylinux_2_24_x86_64.whl; saxonche-13.0.0-cp312-cp312-win_amd64.whl; saxonche-13.0.0-cp313-cp313-macosx_10_11_x86_64.whl; saxonche-13.0.0-cp313-cp313-macosx_11_0_arm64.whl; saxonche-13.0.0-cp313-cp313-manylinux_2_24_aarch64.whl; saxonche-13.0.0-cp313-cp313-manylinux_2_24_x86_64.whl; saxonche-13.0.0-cp313-cp313-win_amd64.whl
Tags
More Markup packages
PyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
markdown-it-pyA Python markdown parser that converts markdown…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
et-xmlfileet_xmlfile writes large XML files with minimal…
permissive · top 1,000 on PyPI
tomlkitParses and edits TOML files while preserving…
permissive · top 1,000 on PyPI
docstring-parserParses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
elementpathProvides XPath 1.0, 2.0, 3.0, and 3.1 selectors…
permissive · top 5,000 on PyPI
lxmllxml provides Python bindings to libxml2 and…
permissive · top 1,000 on PyPI
cssselectcssselect parses CSS3 selectors and translates…
permissive · top 1,000 on PyPI
factur-xGenerates, validates, and extracts Factur-X,…
permissive · top 15,000 on PyPI
turbohtmlParse, query, edit, and serialize HTML and XML…
permissive · top 15,000 on PyPI
xmlunittestExtends Python's unittest framework to compare…
permissive · top 5,000 on PyPI
xmlschemaValidates XML documents against XSD schemas and…
permissive · top 5,000 on PyPI
signxmlSignXML implements W3C XML Signature (XMLDSig)…
permissive · top 5,000 on PyPI
parselParsel extracts data from HTML, JSON, and XML…
permissive · top 5,000 on PyPI
itemloadersItemloaders extracts and standardizes…
permissive · top 5,000 on PyPI