Parsowanie YAML, powrót z numerem linii

Tworzę generator dokumentów z danych YAML, który określałby, z której linii pliku YAML generowany jest każdy element. Jak najlepiej to zrobić? Jeśli więc plik YAML wygląda tak:

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

Chcę coś takiego:

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

Obecnie używam PyYAML, ale każda inna biblioteka jest w porządku, jeśli mogę używać jej z Pythona.

questionAnswers(3)

yourAnswerToTheQuestion