Como posso analisar intervalos de tempo de texto livre em Python, variando de anos a segundos?

Gostaria de analisar intervalos de tempo de texto livre como o seguinte, usando Python:

1 segund2 minuto3 hora4 dia5 semana6 mese7 ano

Existe uma maneira indolor de fazer isso, idealmente simplesmente chamando uma função de bibliotec

Eu tentei

dateutil.parser.parse(), que compreende segundos a horas, mas não dias ou maimx.DateTime.DateTimeDeltaFrom(), que compreende dias, mas falha em semanas ou mais e silenciosamente (por exemplo, pode criar um intervalo de duração 0 ou analisar "2 meses" como 2 minutos

questionAnswers(6)

yourAnswerToTheQuestion