Analizando YAML, regresa con número de línea

Estoy creando un generador de documentos a partir de los datos YAML, que especificaría desde qué línea del archivo YAML se genera cada elemento. ¿Cuál es la mejor manera de hacer esto? Así que si el archivo YAML es así:

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

Quiero algo como esto:

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

Actualmente estoy usando PyYAML, pero cualquier otra biblioteca está bien si puedo usarla desde Python.

Respuestas a la pregunta(3)

Su respuesta a la pregunta