Pain001

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=1 schakelt alle detectie van plugins van derden uit; alleen de meegeleverde loaders draaien.
  • pain001 plugins list / pain001 plugins show make 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.