{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/2"},{"label":"XML","url":"https://skillfed.io/packages/category/text-processing-markup-xml"}],"enrichment":{"capability":"Provides XPath 1.0, 2.0, 3.0, and 3.1 selectors for querying ElementTree and lxml XML data structures using standard XPath expressions.","skillfed_tags":["xml-parsing","xpath-query"],"use_cases":["Query XML documents using XPath 2.0+ expressions when ElementTree's built-in XPath 1.0 support is insufficient.","Migrate XPath queries from other tools to Python by using standard XPath 2.0/3.0 syntax on ElementTree data.","Apply the same compiled XPath selector to multiple XML documents efficiently using the Selector class.","Use advanced XPath 3.0 features like math functions when processing scientific or technical XML data.","Extract nested XML elements and attributes with complex path expressions without manual tree traversal."],"what_it_does":"elementpath is an XPath parser and selector library that extends ElementTree and lxml with support for XPath 2.0, 3.0, and 3.1 expressions. While lxml already provides XPath 1.0 natively, elementpath fills the gap for higher XPath versions on both standard ElementTree and lxml data structures. The package implements a Pratt-style top-down operator precedence parser and exposes a simple API: the `select()` function returns results in standard XPath format (a list or elementary datatype), while `iter_select()` provides a generator for iteration. For repeated queries, you can instantiate a `Selector` object with a compiled XPath expression and apply it to multiple XML trees.\n\nThe library defaults to XPath 2.0 but allows you to specify alternative parsers via the `parser` argument. XPath 3.0 and 3.1 are available through subpackages to keep the default import focused. It has no runtime dependencies, installs cleanly, and is actively maintained with support for Python 3.10 through 3.15.","worth_installing":"Yes. The package is actively maintained, has no dependencies, supports current Python versions, carries no known vulnerabilities, and solves a real gap\u2014providing XPath 2.0+ support for ElementTree and lxml. Install it if you need to query XML with XPath expressions beyond version 1.0."},"id":"elementpath","links":{"html":"https://skillfed.io/packages/elementpath","md":"https://skillfed.io/packages/elementpath.md","pypi":"https://pypi.org/project/elementpath/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-08-08","license_spdx":"MIT","license_treatment":"permissive","name":"elementpath","python_support":"supports_current","summary":"XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml"},"popularity":{"monthly_downloads":8932722,"position":1576,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"5.1.4"}
