Pain001 draait op Python 3.10, 3.11 en 3.12 (elke versie wordt in CI getest) op macOS, Linux en Windows. Installeer wat u nodig hebt; elke optionele mogelijkheid is een extra, zodat de basisinstallatie licht blijft.
01. PyPI#
| Wat u nodig hebt | Commando |
|---|---|
| Kern-CLI & Python-bibliotheek | pip install pain001 |
| REST API-microservice (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Parquet inlezen (PyArrow) | pip install "pain001[parquet]" |
Met PGP versleutelde invoerbestanden (.gpg / .asc) |
pip install "pain001[gpg]" |
| Asynchrone taakwachtrij op basis van Redis voor de API | pip install "pain001[redis]" |
| OpenTelemetry-tracing | pip install "pain001[otel]" |
| Ingebouwde minimale MCP-/LSP-servers | pip install "pain001[mcp]" / "pain001[lsp]" |
De aanvullende pakketten installeert u apart; ze worden onafhankelijk geversioneerd:
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
Controleer de installatie en verken de berichtcatalogus:
pain001 --version
pain001 versions # list all 11 supported message definitions
pain001 init pain.001.001.09 # scaffold a starter CSV template
02. Docker#
Multi-architectuurimages (linux/amd64, linux/arm64) worden gepubliceerd in de GitHub Container Registry. De container draait onder een eigen gebruiker zonder rootrechten.
# 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. Afgeschermde omgevingen#
Bank- en treasuryomgevingen verbieden vaak het dynamisch laden van plugins. Voor precies dat geval bestaan er twee voorzieningen:
PAIN001_DISABLE_PLUGINS=1schakelt alle detectie van plugins van derden uit; alleen de meegeleverde loaders draaien.pain001 plugins list/pain001 plugins showmake every discovered plugin auditable before first use.
Alles draait lokaal. Geen enkel pakket in de suite belt naar huis, roept een SaaS-API aan of haalt betaalgegevens van de host af.
04. Eerste bestand in drie commando's#
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 valideert tegen het JSON Schema, het XSD en (met --scheme) een SEPA- of grensoverschrijdend rulebook zonder uitvoer te schrijven — exitcode 0 betekent dat het bestand die controles heeft doorstaan: het schema en, indien geselecteerd, het rulebook van het scheme. Het eigen profiel van uw bank en haar kanaalregels staan daar los van en vereisen nog steeds tests met de bank. Laat --dry-run weg om de XML weg te schrijven.
Ga verder naar de technische referentie voor elke vlag en elk endpoint, of naar de quickstart-FAQ voor operationele vragen.