Pain001 berjalan pada Python 3.10, 3.11 dan 3.12 (setiap versi diuji dalam CI) pada macOS, Linux dan Windows. Pasang apa yang anda perlukan sahaja; setiap keupayaan pilihan disediakan sebagai ekstra, jadi pemasangan asasnya kekal ringan.
01. PyPI#
| Apa yang anda perlukan | Perintah |
|---|---|
| CLI teras & pustaka Python | pip install pain001 |
| Perkhidmatan mikro REST API (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Pengambilan data Parquet (PyArrow) | pip install "pain001[parquet]" |
Fail input yang disulitkan PGP (.gpg / .asc) |
pip install "pain001[gpg]" |
| Baris gilir kerja tak segerak berasaskan Redis untuk API | pip install "pain001[redis]" |
| Penjejakan OpenTelemetry | pip install "pain001[otel]" |
| Pelayan MCP / LSP minimum terbina dalam | pip install "pain001[mcp]" / "pain001[lsp]" |
Pakej pendamping dipasang secara berasingan dan diberi versi secara bebas:
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
Sahkan pemasangannya dan terokai katalog mesejnya:
pain001 --version
pain001 versions # list all 11 supported message definitions
pain001 init pain.001.001.09 # scaffold a starter CSV template
02. Docker#
Imej pelbagai seni bina (linux/amd64, linux/arm64) diterbitkan ke GitHub Container Registry. Kontena itu berjalan sebagai pengguna bukan root yang khusus.
# 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. Persekitaran terkunci#
Persekitaran bank dan perbendaharaan kerap melarang pemuatan plugin secara dinamik. Dua kawalan disediakan khusus untuk kes tersebut:
PAIN001_DISABLE_PLUGINS=1melumpuhkan semua penemuan plugin pihak ketiga; hanya loader terbina dalam yang berjalan.pain001 plugins list/pain001 plugins showmake every discovered plugin auditable before first use.
Semuanya dijalankan secara setempat. Tiada pakej dalam rangkaian ini yang menghantar data pulang kepada pembangunnya, memanggil API SaaS, atau memindahkan data pembayaran keluar daripada hos.
04. Fail pertama dalam tiga perintah#
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 mengesahkan terhadap JSON Schema, XSD, dan (dengan --scheme) rulebook SEPA atau rentas sempadan tanpa menulis output — kod keluar 0 bermakna fail itu lulus pemeriksaan tersebut: skema, dan rulebook scheme apabila dipilih. Profil dan peraturan saluran bank anda sendiri adalah perkara berasingan, dan masih memerlukan ujian bersama bank. Buang --dry-run untuk menulis XML tersebut.
Teruskan ke Rujukan Teknikal untuk setiap flag dan titik akhir, atau ke Soalan Lazim Mula Pantas untuk soalan operasi.