Existe um analisador XML rápido em Python que permite que eu inicie a tag como deslocamento de bytes no fluxo?

Estou trabalhando com arquivos XML potencialmente grandes que contêm informações complexas de rastreamento de meus projetos.

Eu gostaria de criar índices para esses arquivos XML, para que você possa encontrar rapidamente subseções do documento XML sem precisar carregar tudo na memória.

Se eu criei um índice "arquivar" que poderia conter informações como "livros para o autor Joe" estão em desvios [22322, 35446, 54545], então posso simplesmente abrir o arquivo xml como um arquivo de texto comum e procurar esses desvios e, em seguida, tinha isso para um dos analisadores DOM que leva um arquivo ou seqüências de caracteres.

A parte que ainda não descobri é como analisar rapidamente o XML e criar um índice desse tipo.

Então, o que eu preciso como um analisador SAX rápido que me permita encontrar o deslocamento inicial das tags no arquivo junto com os eventos de início. Para que eu possa analisar uma subseção do XML junto com o ponto de partida no documento, extrair as informações da chave e armazenar a chave e o deslocamento no índice de arquivamento.