File size: 2,444 Bytes
49cc409
 
 
 
 
 
bff1348
 
49cc409
 
 
 
bff1348
49cc409
bff1348
49cc409
 
 
bff1348
49cc409
bff1348
 
 
49cc409
 
 
 
 
 
 
 
 
f115b61
 
7afb12e
49cc409
 
bff1348
 
 
 
 
 
 
49cc409
bff1348
25e27e5
bff1348
7afb12e
bff1348
b4cc1c5
bff1348
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49cc409
 
 
 
 
 
 
 
 
 
 
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
[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "picarones"
version = "1.0.0"
description = "Plateforme de comparaison de moteurs OCR/HTR pour documents patrimoniaux"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "Apache-2.0" }
authors = [{ name = "Bibliothèque nationale de France — Département numérique" }]
keywords = ["ocr", "htr", "patrimoine", "benchmark", "cer", "wer", "gallica", "escriptorium", "iiif"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: OS Independent",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Topic :: Text Processing :: Linguistic",
    "Intended Audience :: Science/Research",
    "Natural Language :: French",
]
dependencies = [
    "click>=8.1.0",
    "jiwer>=3.0.0",
    "Pillow>=10.0.0",
    "pyyaml>=6.0.0",
    "pytesseract>=0.3.10",
    "tqdm>=4.66.0",
    "numpy>=1.24.0",
    "fastapi>=0.111.0",
    "httpx>=0.27.0",
    "python-multipart>=0.0.9",
]

[project.urls]
Homepage = "https://github.com/bnf/picarones"
Documentation = "https://github.com/bnf/picarones/blob/main/INSTALL.md"
Repository = "https://github.com/bnf/picarones"
Changelog = "https://github.com/bnf/picarones/blob/main/CHANGELOG.md"
"Bug Tracker" = "https://github.com/bnf/picarones/issues"

[project.optional-dependencies]
# Développement et tests
dev = ["pytest>=7.4.0", "pytest-cov>=4.1.0", "httpx>=0.27.0", "fastapi>=0.111.0", "uvicorn[standard]>=0.29.0"]
# Interface web FastAPI
web = ["fastapi>=0.111.0", "uvicorn[standard]>=0.29.0", "httpx>=0.27.0", "python-multipart>=0.0.9"]
# Import HuggingFace Datasets
hf = ["datasets>=2.19.0"]
# Moteurs OCR optionnels
pero = ["pero-ocr>=0.1.0"]
kraken = ["kraken>=4.0.0"]
# Adaptateurs LLM
llm = [
    "openai>=1.0.0",
    "anthropic>=0.20.0",
]
# OCR cloud APIs
ocr-cloud = [
    "google-cloud-vision>=3.0.0",
    "boto3>=1.34.0",
    "azure-ai-formrecognizer>=3.3.0",
]
# Installation complète (tous les extras sauf les OCR cloud)
all = [
    "picarones[web,hf,llm,dev]",
]

[project.scripts]
picarones = "picarones.cli:cli"

[tool.setuptools.packages.find]
where = ["."]
include = ["picarones*"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short"