File size: 6,042 Bytes
d0a3fab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# Third-party licenses

> **Audience** : équipe juridique, DSI institutionnelle, mainteneur
> de release.  Audit des licences des dépendances tierces utilisées
> par Picarones, requis par Apache 2.0 §4(d) et par les politiques
> d'achat institutionnelles (BnF, LoC, BL).
>
> **Régénération** : ce fichier est censé être régénéré à chaque
> release par `scripts/gen_third_party_licenses.py` (à venir, cf.
> [`docs/roadmap/backlog.md`](../roadmap/backlog.md)).  Tant que le
> script n'existe pas, mise à jour manuelle au moment de la release.
>
> **Date du dernier rafraîchissement** : 2026-05.

## Politique générale

Picarones est distribué sous **Apache License 2.0**.  Cette licence
est compatible avec toutes les licences listées ci-dessous (MIT, BSD,
PSF, Apache 2.0 elles-mêmes ; pas de dépendance GPL/LGPL/AGPL en
runtime).

Les dépendances optionnelles (extras `[mistral]`, `[anthropic]`,
`[openai]`, `[ollama]`, `[google]`, `[azure]`, `[hf]`, `[escriptorium]`,
`[iiif]`, `[stats]`, `[ner]`) ne sont chargées qu'à la demande de
l'utilisateur ; elles n'affectent pas la licence du distribué de base.

## Dépendances de runtime (cœur)

| Paquet | Licence | Copyright | Usage |
|--------|---------|-----------|-------|
| [click](https://palletsprojects.com/p/click/) | BSD-3-Clause | © Pallets | CLI |
| [jiwer](https://github.com/jitsi/jiwer) | Apache-2.0 | © 8x8, Inc. | CER / WER |
| [Pillow](https://python-pillow.org/) | HPND (MIT-style) | © Jeffrey A. Clark + Pillow contributors | Images |
| [PyYAML](https://pyyaml.org/) | MIT | © Kirill Simonov | YAML |
| [pytesseract](https://github.com/madmaze/pytesseract) | Apache-2.0 | © Matthias A. Lee | OCR Tesseract wrapper |
| [tqdm](https://tqdm.github.io/) | MIT + MPL-2.0 | © tqdm contributors | Barres de progression |
| [numpy](https://numpy.org/) | BSD-3-Clause | © NumPy developers | Calculs numériques |
| [jinja2](https://palletsprojects.com/p/jinja/) | BSD-3-Clause | © Pallets | Templating HTML |
| [defusedxml](https://github.com/tiran/defusedxml) | PSF-2.0 | © Christian Heimes | Parsing XML sécurisé |
| [pydantic](https://docs.pydantic.dev/) | MIT | © Samuel Colvin and contributors | Modèles immuables |

## Dépendances de runtime — extras

### `[web]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [fastapi](https://fastapi.tiangolo.com/) | MIT | API web |
| [uvicorn](https://www.uvicorn.org/) | BSD-3-Clause | Serveur ASGI |
| [python-multipart](https://github.com/Kludex/python-multipart) | Apache-2.0 | Upload form-data |
| [starlette](https://www.starlette.io/) | BSD-3-Clause | (transitif via FastAPI) |
| [httpx](https://www.python-httpx.org/) | BSD-3-Clause | Client HTTP (tests) |

### `[mistral]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [mistralai](https://github.com/mistralai/client-python) | Apache-2.0 | SDK Mistral OCR + chat/vision |

### `[anthropic]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | MIT | SDK Claude |

### `[openai]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [openai](https://github.com/openai/openai-python) | Apache-2.0 | SDK OpenAI |

### `[ollama]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [ollama](https://github.com/ollama/ollama-python) | MIT | Client Ollama local |

### `[google]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [google-cloud-vision](https://github.com/googleapis/python-vision) | Apache-2.0 | OCR Google Vision |

### `[azure]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [azure-ai-documentintelligence](https://github.com/Azure/azure-sdk-for-python) | MIT | OCR Azure DI |

### `[hf]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [datasets](https://github.com/huggingface/datasets) | Apache-2.0 | Datasets HuggingFace |
| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | Apache-2.0 | Hub HuggingFace |

### `[ner]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [spacy](https://spacy.io/) | MIT | NER |

### `[stats]`

| Paquet | Licence | Usage |
|--------|---------|-------|
| [scipy](https://scipy.org/) | BSD-3-Clause | Tests statistiques (Friedman, Nemenyi) |

## Dépendances de développement

Les paquets utilisés uniquement en développement (tests, lint,
sécurité) ne sont pas redistribués avec Picarones et n'apparaissent
dans aucun wheel.  Pour traçabilité supply-chain :

| Paquet | Licence | Usage |
|--------|---------|-------|
| pytest | MIT | Tests unitaires |
| pytest-cov | MIT | Couverture |
| pytest-timeout | MIT | Timeout par test |
| ruff | MIT | Lint |
| mypy | MIT | Type checking |
| bandit | Apache-2.0 | Audit sécurité statique |
| pip-audit | Apache-2.0 | Audit CVE des dépendances |

## Modèles tiers

Picarones n'embarque **aucun modèle tiers** dans ses wheels.  Les
modèles sont :

- soit **téléchargés à l'usage** par l'utilisateur (Tesseract `*.traineddata`,
  Pero OCR via Zenodo, modèles spaCy via `python -m spacy download`) ;
- soit **invoqués via des APIs cloud** sous le contrat du fournisseur
  (Mistral AI, Anthropic, OpenAI, Google, Azure).

Les conditions d'utilisation de chaque modèle / API sont à la charge
de l'utilisateur et de l'institution déployant Picarones.

## Police d'écriture / fontes

Picarones n'embarque aucune fonte.  Les rapports HTML utilisent les
fontes système du navigateur.

## Données

Aucun corpus, aucune image, aucune vérité terrain n'est embarquée
dans les wheels.  Les fixtures de test (`tests/fixtures/`) sont
synthétiques (générées) ou citées depuis leur source originale (cf.
`tests/fixtures/reference_corpus/README.md`).

## Comment signaler une omission

Une dépendance manquante, une licence incorrecte, un copyright
mal attribué : ouvrir une issue avec le label `legal` ou écrire à
l'adresse de contact dans [`/SECURITY.md`](../../SECURITY.md).  Une
correction sera publiée dans la prochaine release patch.