Skip to content

Normalisation temporelle (core.time_bucket) #17

Description

@Nicolas-Dmb

📋 Description

Fournir un module unique packages/core/time_bucket.py pour convertir n'importe quelle date en bucket_id stable (mensuel / bimestriel / annuel), utilisé partout (satellite, OSM, espèces, score…).

Timezone projet : Europe/Paris + règle de conversion à figer (bucketise en UTC ou local).

✅ Acceptance Criteria

  • Module packages/core/time_bucket.py implémenté
  • Fonctions déterministes : bucket_month(date) -> "YYYY-MM", bucket_bimonth(date), bucket_year(date) -> "YYYY"
  • Gestion robuste des entrées : accepte date, datetime, string ISO ; erreurs explicites si format invalide
  • Tests unitaires : fin de mois (31/30/28/29), changement d'année, bimestriel (jan/fév = même bucket)
  • Coverage ≥ 80% sur core/time_bucket.py
  • mettre à jour les fichiers déjà implémenté sans ce systeme (job_run, compute_idempotency_key ...)

🔗 Prerequisite Issues

Aucune dépendance d'implémentation déclarée dans la DoR (uniquement la convention bucket_id + timezone).


Source : Notion « Normalisation temporelle (core.time_bucket) » (Outils commun).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions