# Author: Simon-Pierre Boucher # Contact: contact@spboucher.ai """Petits utilitaires partagés.""" from __future__ import annotations import time class RateLimiter: """Impose un délai minimal entre deux requêtes (politesse serveur).""" def __init__(self, delay: float): self.delay = max(0.0, delay) self._last = 0.0 def wait(self) -> None: elapsed = time.time() - self._last if elapsed < self.delay: time.sleep(self.delay - elapsed) self._last = time.time()