Python: alcance todos os meses?

Quero ter todos os meses entre agora e agosto de 2010, como uma lista formatada assim:

['2010-08-01', '2010-09-01', .... , '2016-02-01']

Agora, é isso que eu tenho:

months = []
for y in range(2010, 2016):
    for m in range(1, 13):
        if (y == 2010) and m < 8:
            continue
        if (y == 2016) and m > 2:
            continue
        month = '%s-%s-01' % (y, ('0%s' % (m)) if m < 10 else m)
        months.append(month)

Qual seria a melhor maneira de fazer isso?

questionAnswers(6)

yourAnswerToTheQuestion