Spaces:
Sleeping
Sleeping
| """Picarones — Plateforme de benchmark OCR/HTR pour documents patrimoniaux. | |
| Licence Apache 2.0. | |
| API publique du Cercle 1 (abstractions stables) ré-exportée ici pour | |
| permettre : | |
| from picarones import Corpus, Document, BaseModule, ArtifactType | |
| from picarones import BenchmarkResult, EngineReport, DocumentResult | |
| Pour les implémentations (calcul de métriques, runner, adapters OCR…), | |
| utiliser les sous-packages explicites : | |
| from picarones.measurements.runner import run_benchmark | |
| from picarones.measurements.metrics import compute_metrics | |
| from picarones.engines.tesseract import TesseractEngine | |
| Voir ``docs/architecture.md`` pour la cartographie complète des | |
| 3 cercles, et ``docs/api-stable.md`` pour le contrat de stabilité. | |
| """ | |
| from __future__ import annotations | |
| # Version (Sprint A9 / M-5) — résolue dans cet ordre : | |
| # 1. ``picarones._version`` injecté au build par setuptools_scm | |
| # (présent dans le wheel installé) ; | |
| # 2. fallback ``importlib.metadata.version("picarones")`` pour les | |
| # installations editable où ``_version.py`` peut être stale ; | |
| # 3. fallback final ``"1.0.0"`` si aucune source n'est disponible | |
| # (ex : tarball sans .git ni metadata). | |
| try: | |
| from picarones._version import __version__ # type: ignore[import-not-found] | |
| except ImportError: | |
| try: | |
| from importlib.metadata import version as _get_version | |
| __version__ = _get_version("picarones") | |
| except Exception: # noqa: BLE001 | |
| __version__ = "1.0.0" | |
| __author__ = "Picarones contributors" | |
| # ────────────────────────────────────────────────────────────────────────── | |
| # API publique — Cercle 1 uniquement | |
| # ────────────────────────────────────────────────────────────────────────── | |
| from picarones.core.corpus import ( | |
| Corpus, | |
| Document, | |
| GTLevel, | |
| TextGT, | |
| AltoGT, | |
| PageGT, | |
| EntitiesGT, | |
| ReadingOrderGT, | |
| load_corpus_from_directory, | |
| ) | |
| from picarones.core.modules import ArtifactType, BaseModule | |
| from picarones.core.results import ( | |
| BenchmarkResult, | |
| DocumentResult, | |
| EngineReport, | |
| ) | |
| from picarones.core.metrics import MetricsResult, aggregate_metrics | |
| from picarones.core.facts import ( | |
| DetectorRegistry, | |
| Fact, | |
| FactImportance, | |
| FactType, | |
| ) | |
| from picarones.core.pipeline import ( | |
| PipelineResult, | |
| PipelineRunner, | |
| PipelineSpec, | |
| PipelineStep, | |
| StepResult, | |
| ) | |
| from picarones.core.metric_registry import ( | |
| MetricSpec, | |
| compute_at_junction, | |
| register_metric, | |
| select_metrics, | |
| ) | |
| # Sprint A3 — trigger d'enregistrement du registre typé (Sprint 34). | |
| # L'import de ``picarones.measurements`` provoque l'exécution des | |
| # décorateurs ``@register_metric`` sur ``cer``, ``wer``, ``mer``, | |
| # ``wil`` + ~15 métriques philologiques + reading order + NER + ALTO. | |
| # Ce trigger remplace l'ancien import croisé Cercle 1 → Cercle 2 dans | |
| # ``core/pipeline.py`` (violation B-1/B-2 du même esprit). | |
| import picarones.measurements as _trigger_metric_registration # noqa: F401, E402 | |
| __all__ = [ | |
| "__version__", | |
| "__author__", | |
| # Corpus | |
| "Corpus", | |
| "Document", | |
| "GTLevel", | |
| "TextGT", | |
| "AltoGT", | |
| "PageGT", | |
| "EntitiesGT", | |
| "ReadingOrderGT", | |
| "load_corpus_from_directory", | |
| # Modules génériques (BaseModule) | |
| "ArtifactType", | |
| "BaseModule", | |
| # Résultats | |
| "BenchmarkResult", | |
| "DocumentResult", | |
| "EngineReport", | |
| "MetricsResult", | |
| "aggregate_metrics", | |
| # Moteur narratif (modèle de données) | |
| "DetectorRegistry", | |
| "Fact", | |
| "FactImportance", | |
| "FactType", | |
| # Pipelines composées (axe B) | |
| "PipelineResult", | |
| "PipelineRunner", | |
| "PipelineSpec", | |
| "PipelineStep", | |
| "StepResult", | |
| # Registre de métriques typées | |
| "MetricSpec", | |
| "compute_at_junction", | |
| "register_metric", | |
| "select_metrics", | |
| ] | |