Pain001 funziona su Python 3.10, 3.11 e 3.12 (ogni versione testata in CI) su macOS, Linux e Windows. Installate solo ciò che serve: ogni capacità opzionale è un extra, così l'installazione di base resta leggera.
01. PyPI#
| Che cosa serve | Comando |
|---|---|
| CLI core e libreria Python | pip install pain001 |
| Microservizio API REST (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Ingestione Parquet (PyArrow) | pip install "pain001[parquet]" |
File di input cifrati PGP (.gpg / .asc) | pip install "pain001[gpg]" |
| Coda di job asincroni basata su Redis per l'API | pip install "pain001[redis]" |
| Tracing OpenTelemetry | pip install "pain001[otel]" |
| Server MCP / LSP minimali integrati | pip install "pain001[mcp]" / "pain001[lsp]" |
I pacchetti complementari si installano separatamente e sono versionati in modo indipendente:
Verificate l'installazione ed esplorate il catalogo dei messaggi:
02. Docker#
Le immagini multi-architettura (linux/amd64, linux/arm64) sono pubblicate su GitHub Container Registry. Il container gira con un utente dedicato non root.
# Generate XML from a local CSV
# Launch the REST API
03. Ambienti blindati#
Gli ambienti bancari e di tesoreria spesso vietano il caricamento dinamico di plugin. Esistono due controlli esattamente per questo caso:
PAIN001_DISABLE_PLUGINS=1disabilita tutta la scoperta di plugin di terze parti; girano solo i loader inclusi.pain001 plugins list/pain001 plugins show <name>rendono ogni plugin scoperto auditabile prima del primo utilizzo.
Tutto viene eseguito localmente. Nessun pacchetto della suite chiama casa, invoca un'API SaaS o sposta dati di pagamento fuori dall'host.
04. Primo file in tre comandi#
--dry-run valida rispetto al JSON Schema, all'XSD e (con --scheme) a un rulebook SEPA o transfrontaliero senza scrivere output. Il codice di uscita 0 significa che il file ha superato tali controlli: lo schema e, quando selezionato, il rulebook dello scheme. Il profilo specifico della vostra banca e le sue regole di canale sono separati e richiedono comunque test con la banca. Rimuovete --dry-run per scrivere l'XML.
Proseguite con il Riferimento tecnico per ogni flag ed endpoint, o con le FAQ di avvio rapido per le questioni operative.
