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=1stänger av all upptäckt av tredjepartsplugins; endast medföljande inläsare körs.pain001 plugins list/pain001 plugins showgö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.