Erste Schritte

Pain001 installieren: pip, Docker und erste valide Datei

Python 3.10–3.12, pip oder Docker, und eine validierte Zahlungsdatei in drei Befehlen.

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 22-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 <name> machen jedes erkannte Plugin vor der ersten Nutzung auditierbar.

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.