Metadata-Version: 2.4
Name: sanikey
Version: 0.8.2
Summary: Archivio sanitario locale esportabile su chiavetta USB
Author: Marco Coppola
License-Expression: MIT
Project-URL: Homepage, https://github.com/marco0560/sanikey
Project-URL: Repository, https://github.com/marco0560/sanikey
Project-URL: Documentation, https://marco0560.github.io/sanikey/
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema<5,>=4.23.0
Requires-Dist: markdown-it-py<5,>=3.0.0
Requires-Dist: pillow<12,>=11.0.0
Requires-Dist: pylibjpeg<3,>=2.0.0
Requires-Dist: pylibjpeg-libjpeg<3,>=2.3.0
Requires-Dist: python-calamine<1,>=0.4.0
Requires-Dist: pydicom<4,>=3.0.1
Requires-Dist: PyMuPDF<2,>=1.26.0
Requires-Dist: py7zr<2,>=1.0.0
Requires-Dist: rarfile<5,>=4.2
Provides-Extra: docs
Requires-Dist: mkdocs<2,>=1.6; extra == "docs"
Requires-Dist: mkdocs-material<10,>=9.7; extra == "docs"
Requires-Dist: mkdocstrings[python]<2,>=1; extra == "docs"
Requires-Dist: mkdocs-awesome-pages-plugin<3,>=2.10; extra == "docs"
Dynamic: license-file

# SaniKey

[![PyPI](https://img.shields.io/pypi/v/sanikey.svg?cacheSeconds=3600)](https://pypi.org/project/sanikey/)

<p align="center">
  <a href="https://github.com/marco0560/sanikey">
    <img src="https://raw.githubusercontent.com/marco0560/sanikey/main/immagini/SaniKey-logo-horizontal-transparent.svg" alt="SaniKey" width="360">
  </a>
</p>

SaniKey prepara un archivio sanitario personale, consultabile localmente da
browser e copiabile su una chiavetta USB. I documenti clinici restano sul tuo
computer e sulla chiavetta: il programma non richiede un server né un account
online per la consultazione.

Il repository pubblico contiene codice ed esempi sintetici. Non inserire mai
nel repository documenti reali, nomi di pazienti o percorsi privati.

## Prima chiavetta in breve

Occorrono Linux, [uv](https://docs.astral.sh/uv/) e una chiavetta già montata.
Poi:

```bash
git clone https://github.com/marco0560/sanikey.git
cd sanikey
uv run python scripts/bootstrap_dev_environment.py
mkdir -p config
cp docs/config-example/accounts.toml config/accounts.toml
```

Completa `config/accounts.toml` con i percorsi privati, prepara i metadati e i
documenti del paziente, quindi esegui:

```bash
uv run sanikey validate-config
uv run sanikey scan-documents --preflight
uv run sanikey build-all --mode full
uv run sanikey export-usb /media/NOME_CHIAVETTA
uv run sanikey validate-usb /media/NOME_CHIAVETTA
```

La guida completa, inclusi metadati da curare, fogli illustrativi AIFA e
controlli prima della consegna, è in [Prima chiavetta USB](docs/first-usb-key.md).

## Cosa fa oggi

- organizza e indicizza documenti locali per più pazienti;
- rende consultabili offline documenti, terapia, fogli illustrativi AIFA,
  osservazioni e studi DICOM;
- genera una pagina USB statica adatta anche a un computer non preparato.

Le funzionalità sperimentali o non ancora complete sono raccolte separatamente
in [Limiti e sviluppi futuri](docs/limits-and-future-work.md): non fanno parte
del percorso operativo consigliato.

## Per sviluppatori e rilasci

```bash
uv run python scripts/validate_repo.py
NO_MKDOCS_2_WARNING=1 uv run mkdocs build --strict
git release-audit
```

Il comando `sanikey` è l'interfaccia utente documentata. L'esecuzione
`python -m sanikey` è destinata a sviluppo e diagnostica.
