Cómo puedo analizar los intervalos de tiempo de texto libre en Python, que van desde años hasta segundos?

Me gustaría analizar intervalos de tiempo de texto libre como el siguiente, usando Python:

1 segund2 minuto3 hora4 dia5 semana6 mese7 año

Existe una manera indolora de hacer esto, idealmente simplemente llamando a una función de biblioteca?

Yo he tratado

dateutil.parser.parse(), que comprende segundos a horas pero no días o más.mx.DateTime.DateTimeDeltaFrom(), que comprende los días pero falla en semanas o más, y en silencio (por ejemplo, puede crear un intervalo de duración 0 o analizar "2 meses" como 2 minutos).

Respuestas a la pregunta(6)

Su respuesta a la pregunta