Developers Italia We develop public services, together

Follow us

elementpath v4.1.5


Python library that provides XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml




The vitality index, as explicited in the guidelines for the acquisition and reuse of software for Italian PA, is calculated according to the following four main categories:

  • Code activity: the daily number of commits and merges;
  • Release history: the daily number of releases;
  • User community: the number of unique authors;
  • Longevity: the age of the project.

The ranges of every measure can be found in the vitality-ranges.yml file.

Development status: stable

Software functionality

XPath 1.0, XPath 2.0, XPath 3.0 and XPath 3.1 implementations

detailed information

elementpath v4.1.5


Last release 2023-07-25 (v4.1.5)

Type of maintenance internal

Api documentation elementpath API

Extended description

This is a library for Python 3.7+ that provides XPath 1.0, 2.0, 3.0 and 3.1 selectors for Python’s ElementTree XML data structures, both for the standard ElementTree library and for the lxml library. For lxml this package can be useful for providing XPath 2.0+ selectors, because lxml already has it’s own implementation of XPath 1.0.

Installation and usage

You can install the package with pip in a Python 3.7+ environment:

pip install elementpath

For using it import the package and apply the selectors on ElementTree nodes:

>>> import elementpath
>>> from xml.etree import ElementTree
>>> root = ElementTree.XML('<A><B1/><B2><C1/><C2/><C3/></B2></A>')
>>>, '/A/B2/\*') [<Element 'C1' at ...>, <Element'C2' at ...>, <Element 'C3' at ...>]

back to contents