Analisando YAML, retorne com o número da linha

Eu estou fazendo um gerador de documentos de dados YAML, que especificaria qual linha do arquivo YAML cada item é gerado. Qual é a melhor maneira de fazer isso? Então, se o arquivo YAML é assim:

- key1: item 1
  key2: item 2
- key1: another item 1
  key2: another item 2

Eu quero algo assim:

[
     {'__line__': 1, 'key1': 'item 1', 'key2': 'item 2'},
     {'__line__': 3, 'key1': 'another item 1', 'key2': 'another item 2'},
]

Atualmente estou usando PyYAML, mas qualquer outra biblioteca está OK se eu puder usá-lo a partir do Python.

questionAnswers(3)

yourAnswerToTheQuestion