Pain001

Pain001 は、macOS、Linux、Windows 上の Python 3.10、3.11、3.12(各バージョンとも CI でテスト済み)で動作します。必要なものだけをインストールしてください。すべてのオプション機能はエクストラとして提供されるため、ベースインストールは軽量のままです。


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. ロックダウンされた環境#

銀行や財務の環境では、動的なプラグイン読み込みが禁止されていることがよくあります。まさにそのケースのために、2 つの制御が用意されています:

  • PAIN001_DISABLE_PLUGINS=1 は、すべてのサードパーティ製プラグインの検出を無効化します。同梱のローダーのみが動作します。
  • pain001 plugins list / pain001 plugins show make every discovered plugin auditable before first use.

すべてがローカルで実行されます。スイート内のどのパッケージも、外部への通信を行わず、SaaS API を呼び出さず、支払データをホストの外へ移動させません。


04. 3 つのコマンドで最初のファイルを#

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 は、ファイルがそれらのチェック、すなわちスキーマと、選択した場合はスキームのルールブックを通過したことを意味します。銀行独自のプロファイルやチャネル規則はこれとは別であり、引き続き銀行とのテストが必要です。XML を書き出すには --dry-run を外してください。

すべてのフラグとエンドポイントについては技術リファレンスへ、運用上の質問についてはクイックスタート FAQ へお進みください。