Pain001

Pain001 körs på Python 3.10, 3.11 och 3.12 (varje version testas i CI) på macOS, Linux och Windows. Installera det du behöver; varje valfri funktion är en extra, så basinstallationen förblir slimmad.


01. PyPI#

Vad du behöver Kommando
Kärn-CLI och Python-bibliotek pip install pain001
REST API-mikrotjänst (FastAPI + Uvicorn) pip install "pain001[api]"
Parquet-inläsning (PyArrow) pip install "pain001[parquet]"
PGP-krypterade indatafiler (.gpg / .asc) pip install "pain001[gpg]"
Redis-baserad asynkron jobbkö för API:et pip install "pain001[redis]"
OpenTelemetry-spårning pip install "pain001[otel]"
Inbyggda minimala MCP-/LSP-servrar pip install "pain001[mcp]" / "pain001[lsp]"

Kompletterande paket installeras separat och versioneras oberoende:

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

Verifiera installationen och utforska meddelandekatalogen:

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

02. Docker#

Multiarkitektur-avbildningar (linux/amd64, linux/arm64) publiceras till GitHub Container Registry. Containern körs som en dedikerad icke-root-användare.

# 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. Låsta miljöer#

Bank- och treasurymiljöer förbjuder ofta dynamisk plugininläsning. Två kontroller finns för exakt det fallet:

  • PAIN001_DISABLE_PLUGINS=1 stänger av all upptäckt av tredjepartsplugins; endast medföljande inläsare körs.
  • pain001 plugins list / pain001 plugins show gör att varje upptäckt plugin kan granskas före första användningen.

Allt körs lokalt. Inget paket i sviten ringer hem, anropar ett SaaS-API eller flyttar betaldata från värden.


04. Första filen med tre kommandon#

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 validerar mot JSON Schema, XSD och (med --scheme) ett SEPA- eller gränsöverskridande regelverk utan att skriva utdata — slutkod 0 betyder att filen klarade de kontrollerna: schemat och, när det har valts, regelverket för betalningsschemat. Din banks egen profil och kanalregler är separata och kräver fortfarande test mot banken. Ta bort --dry-run för att skriva XML-filen.

Fortsätt till den tekniska referensen för varje flagga och endpoint, eller snabbstarts-FAQ:n för driftfrågor.