Pain001

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/amd64linux/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 show make 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。

接著可到技術參考查閱每個旗標與端點,或到快速開始常見問題解決營運面的疑問。