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。