def _human_readable_time(seconds: float) -> str:
    """
    Convert seconds to a human-readable time.
    """
    minutes, seconds = divmod(seconds, 60)
    hours, minutes = divmod(minutes, 60)
    days, hours = divmod(hours, 24)
    months, days = divmod(days, 30)
    years, months = divmod(months, 12)
    if years > 0:
        return f'{years:.0f}y {days:.0f}d {hours:.0f}h {minutes:.0f}m {seconds:.0f}s'
    if months > 0:
        return f'{months:.0f}m {days:.0f}d {hours:.0f}h {minutes:.0f}m {seconds:.0f}s'
    if days > 0:
        return f'{days:.0f}d {hours:.0f}h {minutes:.0f}m {seconds:.0f}s'
    if hours > 0:
        return f'{hours:.0f}h {minutes:.0f}m {seconds:.0f}s'
    if minutes > 0:
        return f'{minutes:.0f}m {seconds:.0f}s'
    return f'{seconds:.0f}s'