Spaces:
Sleeping
Sleeping
File size: 3,854 Bytes
360239b 49cc409 360239b e407ec0 360239b de9192c cc20338 3af8896 360239b d0a3fab e407ec0 49cc409 360239b 628d92a e224609 628d92a 3af8896 e224609 1af6b22 360239b e407ec0 360239b 3300273 360239b 75b91fd 0864c88 360239b 0864c88 f3772fd 360239b 0864c88 360239b e407ec0 ccf9579 fda1a60 360239b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | """Picarones — Plateforme de benchmark OCR/HTR pour documents patrimoniaux.
Licence Apache 2.0.
API publique des couches 1 & 3 (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.app.services.benchmark_runner import run_benchmark_via_service
>>> from picarones.evaluation.metrics.text_metrics import compute_metrics
>>> from picarones.adapters.ocr.tesseract import TesseractAdapter
Voir ``docs/explanation/architecture.md`` pour la cartographie complète des
8 couches, et ``docs/reference/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__ = "2.0.0"
__author__ = "Picarones contributors"
# ──────────────────────────────────────────────────────────────────────────
# API publique — couches stables (domain + evaluation)
# ──────────────────────────────────────────────────────────────────────────
from picarones.evaluation.corpus import (
Corpus,
Document,
TextGT,
AltoGT,
PageGT,
EntitiesGT,
ReadingOrderGT,
load_corpus_from_directory,
)
from picarones.domain.artifacts import ArtifactType
from picarones.domain.module_protocol import BaseModule
from picarones.evaluation.benchmark_result import (
BenchmarkResult,
DocumentResult,
EngineReport,
)
from picarones.evaluation.metric_result import MetricsResult, aggregate_metrics
from picarones.domain.facts import (
DetectorRegistry,
Fact,
FactImportance,
FactType,
)
from picarones.evaluation.metric_registry import (
MetricSpec,
compute_at_junction,
register_metric,
select_metrics,
)
# Trigger d'enregistrement du registre typé : l'import de
# ``picarones.evaluation.metrics`` provoque l'exécution des décorateurs
# ``@register_metric`` sur ``cer``, ``wer``, ``mer``, ``wil`` + ~15
# métriques philologiques + reading order + NER + ALTO.
import picarones.evaluation.metrics as _trigger_metric_registration # noqa: F401, E402
__all__ = [
"__version__",
"__author__",
# Corpus
"Corpus",
"Document",
"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",
# Registre de métriques typées
"MetricSpec",
"compute_at_junction",
"register_metric",
"select_metrics",
]
|