Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: simdxml/simdxml-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: simdxml/simdxml-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: et-compat
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 12 files changed
  • 2 contributors

Commits on Mar 27, 2026

  1. ElementTree read-only drop-in compatibility

    Element now has find(), findall(), iterfind(), findtext() — the core
    ElementTree query API. Path syntax (tag, .//tag, *, .., [@attrib],
    [tag='text']) is translated to XPath and evaluated by the SIMD engine.
    
    Also adds:
    - extend(), makeelement() on Element (raise TypeError)
    - iter() now includes self (matching stdlib behavior)
    - itertext() now yields text/tail in correct stdlib order
    - ET module: fromstringlist, tostringlist, dump, iselement
    - ET module: SubElement, Comment, PI, indent (raise TypeError)
    - ET module: register_namespace (no-op), ElementTree.write (TypeError)
    - ET module: ElementTree.iter, findtext, iterfind
    
    131 new tests (322 total):
    - 49 ET compat tests (parse, ElementTree class, find/findall, read-only)
    - 82 exhaustive drop-in tests cross-validating every operation against
      stdlib xml.etree.ElementTree on 7 corpus types
    - Property tests (Hypothesis) for iter, itertext, find, len, text/tail
    - Adversarial: empty docs, deep nesting, entities, mixed content, CDATA
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    cigrainger and claude committed Mar 27, 2026
    Configuration menu
    Copy the full SHA
    5432453 View commit details
    Browse the repository at this point in the history
Loading