Pain001 可在 macOS、Linux 與 Windows 上以 Python 3.10、3.11 與 3.12 執行(每個版本皆在 CI 測試)。按需安裝即可;所有選用功能皆為額外相依(extra),基礎安裝保持精簡。
01. PyPI#
| 所需功能 | 命令 |
|---|---|
| 核心 CLI 與 Python 函式庫 | pip install pain001 |
| REST API 微服務(FastAPI + Uvicorn) | pip install "pain001[api]" |
| Parquet 資料匯入(PyArrow) | pip install "pain001[parquet]" |
PGP 加密輸入檔(.gpg / .asc) |
pip install "pain001[gpg]" |
| 供 API 使用的 Redis 非同步工作佇列 | pip install "pain001[redis]" |
| OpenTelemetry 追蹤 | pip install "pain001[otel]" |
| 內建精簡 MCP / LSP 伺服器 | pip install "pain001[mcp]" / "pain001[lsp]" |
附屬套件需另行安裝,版本各自獨立管理:
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
驗證安裝並瀏覽電文目錄:
pain001 --version
pain001 versions # list all 11 supported message definitions
pain001 init pain.001.001.09 # scaffold a starter CSV template
02. Docker#
多架構映像檔(linux/amd64、linux/arm64)發佈於 GitHub Container Registry。容器以專用非 root 使用者執行。
# 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. 高度管控環境#
銀行與財資環境常禁止動態載入外掛。針對此情境提供兩項控管:
PAIN001_DISABLE_PLUGINS=1停用所有第三方外掛探索;僅執行內建載入器。pain001 plugins list/pain001 plugins showmake every discovered plugin auditable before first use.
一切皆在本機執行。套件中沒有任何套件會回傳資料、呼叫 SaaS API,或將付款資料移出主機。
04. 三個命令產生第一個檔案#
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 會依 JSON Schema、XSD 以及(搭配 --scheme 時)SEPA 或跨境規則手冊驗證,且不寫出任何輸出——結束代碼 0 表示該檔案通過了上述檢查:結構描述驗證,以及選用時的清算規則手冊驗證。您銀行本身的設定規範與通路規則屬於另一回事,仍須經過銀行測試。移除 --dry-run 即會寫出 XML。