Acho que um conteúdo que pode te ajudar muito é o treesitter provavelmente deve ter alguma implementação dele para python rodando a libs rust por tras dos panos. Se não tiver da pra fazer uma integração com uma lib.
Em resposta a Como Criar um analisador sintatico em python ?
1