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/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. ロックダウンされた環境#
銀行や財務の環境では、動的なプラグイン読み込みが禁止されていることがよくあります。まさにそのケースのために、2 つの制御が用意されています:
PAIN001_DISABLE_PLUGINS=1は、すべてのサードパーティ製プラグインの検出を無効化します。同梱のローダーのみが動作します。pain001 plugins list/pain001 plugins showmake 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 へお進みください。