Pain001

Pain001 läuft auf Python 3.10, 3.11 und 3.12 (jede Version in der CI getestet) unter macOS, Linux und Windows. Installieren Sie, was Sie brauchen; jede optionale Fähigkeit ist ein Extra, sodass die Basisinstallation schlank bleibt.


01. PyPI#

Was Sie benötigen Befehl
Kern-CLI & Python-Bibliothek pip install pain001
REST-API-Microservice (FastAPI + Uvicorn) pip install "pain001[api]"
Parquet-Einlesung (PyArrow) pip install "pain001[parquet]"
PGP-verschlüsselte Eingabedateien (.gpg / .asc) pip install "pain001[gpg]"
Redis-gestützte asynchrone Job-Warteschlange für die API pip install "pain001[redis]"
OpenTelemetry-Tracing pip install "pain001[otel]"
Eingebaute minimale MCP-/LSP-Server pip install "pain001[mcp]" / "pain001[lsp]"

Die Begleitpakete werden separat installiert und unabhängig versioniert:

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

Überprüfen Sie die Installation und erkunden Sie den Nachrichtenkatalog:

pain001 --version
pain001 versions          # list all 11 supported message definitions
pain001 init pain.001.001.09   # scaffold a starter CSV template

02. Docker#

Multi-Architektur-Images (linux/amd64, linux/arm64) werden in der GitHub Container Registry veröffentlicht. Der Container läuft als dedizierter Benutzer ohne Root-Rechte.

# 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. Abgeschottete Umgebungen#

Bank- und Treasury-Umgebungen verbieten häufig das dynamische Laden von Plugins. Genau für diesen Fall gibt es zwei Kontrollen:

  • PAIN001_DISABLE_PLUGINS=1 deaktiviert jede Erkennung von Drittanbieter-Plugins; nur mitgelieferte Loader laufen.
  • pain001 plugins list / pain001 plugins show make every discovered plugin auditable before first use.

Alles wird lokal ausgeführt. Kein Paket der Suite telefoniert nach Hause, ruft eine SaaS-API auf oder bewegt Zahlungsdaten vom Host weg.


04. Erste Datei in drei Befehlen#

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 validiert gegen das JSON-Schema, das XSD und (mit --scheme) ein SEPA- oder grenzüberschreitendes Regelwerk, ohne Ausgabe zu schreiben — Exit-Code 0 bedeutet, dass die Datei diese Prüfungen bestanden hat: das Schema und, sofern ausgewählt, das Regelwerk des Verfahrens. Das eigene Profil Ihrer Bank und ihre Kanalregeln sind davon getrennt und erfordern weiterhin Tests mit der Bank. Lassen Sie --dry-run weg, um das XML zu schreiben.

Weiter zur Technischen Referenz für jedes Flag und jeden Endpunkt oder zur Schnellstart-FAQ für betriebliche Fragen.