Pain001 rulează pe Python 3.10, 3.11 și 3.12 (fiecare versiune testată în CI) pe macOS, Linux și Windows. Instalați doar ceea ce vă trebuie; fiecare capabilitate opțională este un extra, așa că instalarea de bază rămâne suplă.
01. PyPI#
| De ce aveți nevoie | Comandă |
|---|---|
| CLI de bază și biblioteca Python | pip install pain001 |
| Microserviciu REST API (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Ingestie de fișiere Parquet (PyArrow) | pip install "pain001[parquet]" |
Fișiere de intrare criptate PGP (.gpg / .asc) |
pip install "pain001[gpg]" |
| Coadă de sarcini asincrone bazată pe Redis pentru API | pip install "pain001[redis]" |
| Trasare OpenTelemetry | pip install "pain001[otel]" |
| Servere MCP / LSP minimale incluse | pip install "pain001[mcp]" / "pain001[lsp]" |
Pachetele însoțitoare se instalează separat și sunt versionate independent:
pip install pain001-loader-xlsx # Excel ingestion (auto-discovered plugin)
pip install pain001-loader-mt101 # SWIFT MT101 parsing library
pip install pain001-mcp # Full 17-tool MCP server for AI agents
pip install pain001-lsp # Full six-feature editor language server
Verificați instalarea și explorați catalogul de mesaje:
pain001 --version
pain001 versions # list all 11 supported message definitions
pain001 init pain.001.001.09 # scaffold a starter CSV template
02. Docker#
Imaginile multi-arhitectură (linux/amd64, linux/arm64) sunt publicate în GitHub Container Registry. Containerul rulează sub un utilizator dedicat, fără drepturi de root.
# Generate XML from a local CSV
docker run --rm -v "$PWD:/data" -w /data \
ghcr.io/sebastienrousseau/pain001:latest \
generate -t pain.001.001.09 -d payments.csv -o out/
# Launch the REST API
docker run --rm -p 8000:8000 \
ghcr.io/sebastienrousseau/pain001:latest \
serve --host 0.0.0.0 --port 8000
03. Medii restricționate#
Mediile bancare și de trezorerie interzic adesea încărcarea dinamică de plugin-uri. Există două mecanisme de control exact pentru acest caz:
PAIN001_DISABLE_PLUGINS=1dezactivează orice detectare a plugin-urilor terțe; rulează doar loaderele incluse în pachet.pain001 plugins list/pain001 plugins showmake every discovered plugin auditable before first use.
Totul se execută local. Niciun pachet din suită nu transmite date în exterior, nu apelează un API SaaS și nu scoate datele de plată de pe gazdă.
04. Primul fișier în trei comenzi#
pip install pain001
pain001 init pain.001.001.09 -o work/
pain001 -t pain.001.001.09 -d work/template.csv -o work/ --dry-run
--dry-run validează față de JSON Schema, față de XSD și (cu --scheme) față de un regulament SEPA sau transfrontalier, fără a scrie vreun rezultat — codul de ieșire 0 înseamnă că fișierul a trecut acele verificări: schema și, acolo unde a fost selectat, regulamentul schemei de plată. Profilul propriu al băncii dumneavoastră și regulile de canal sunt separate și necesită în continuare testare cu banca. Renunțați la --dry-run pentru a scrie XML-ul.
Continuați cu Referința tehnică pentru fiecare flag și endpoint sau cu întrebările frecvente de pornire rapidă pentru chestiunile operaționale.