gpxpy icon indicating copy to clipboard operation
gpxpy copied to clipboard

Force stdlib etree instead of lxml?

Open narfel opened this issue 3 years ago • 4 comments

For my use case, when lxml is installed I get drastically less performance. In the init.py it says "

parser may be 'lxml', 'minidom' or None (then it will be automatically detected, lxml if possible).

How do I tell gpxpy to use that? parse(xml_or_file: Union[AnyStr, IO[str]], version: Optional[str] = None) has no option for a parser, or am I missing something?

narfel avatar Apr 28 '22 20:04 narfel

No, you're right. When I first implemented this lxml was faster, so I made to be default. But it absolutely makes sense to use the default parser by default. Maybe something like this: https://github.com/tkrajina/gpxpy/commit/b75314df87b9fd5e7e267bbfc13159624da16533

That way, you gahe a global gpxpy.set_xml_etree() function where you can set lxml if you want.

tkrajina avatar Nov 16 '23 17:11 tkrajina