Pain001 berjalan pada Python 3.10, 3.11, dan 3.12 (setiap versi diuji di CI) di macOS, Linux, dan Windows. Pasang hanya yang Anda perlukan; setiap kemampuan opsional tersedia sebagai ekstra, sehingga instalasi dasarnya tetap ringan.
01. PyPI#
| Yang Anda perlukan | Perintah |
|---|---|
| CLI inti & pustaka Python | pip install pain001 |
| Layanan mikro REST API (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Pemasukan data Parquet (PyArrow) | pip install "pain001[parquet]" |
Berkas input terenkripsi PGP (.gpg / .asc) |
pip install "pain001[gpg]" |
| Antrean pekerjaan asinkron berbasis Redis untuk API | pip install "pain001[redis]" |
| Pelacakan OpenTelemetry | pip install "pain001[otel]" |
| Server MCP / LSP minimal bawaan | pip install "pain001[mcp]" / "pain001[lsp]" |
Paket pendamping dipasang secara terpisah dan diberi versi secara independen:
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
Verifikasi instalasinya dan jelajahi katalog pesannya:
pain001 --version
pain001 versions # list all 11 supported message definitions
pain001 init pain.001.001.09 # scaffold a starter CSV template
02. Docker#
Image multiarsitektur (linux/amd64, linux/arm64) dipublikasikan ke GitHub Container Registry. Kontainernya berjalan sebagai pengguna non-root 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. Lingkungan terkunci#
Lingkungan bank dan tresuri kerap melarang pemuatan plugin secara dinamis. Ada dua kendali yang disediakan khusus untuk kasus tersebut:
PAIN001_DISABLE_PLUGINS=1menonaktifkan seluruh penemuan plugin pihak ketiga; hanya loader bawaan yang berjalan.pain001 plugins list/pain001 plugins showmake every discovered plugin auditable before first use.
Semuanya berjalan secara lokal. Tidak ada paket dalam rangkaian ini yang mengirim data kembali ke pembuatnya, memanggil API SaaS, atau memindahkan data pembayaran keluar dari host.
04. Berkas 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 memvalidasi terhadap JSON Schema, XSD, dan (dengan --scheme) rulebook SEPA atau lintas negara tanpa menulis keluaran — kode keluar 0 berarti berkas tersebut lolos pemeriksaan itu: skema, dan rulebook scheme bila dipilih. Profil dan aturan kanal milik bank Anda sendiri adalah hal terpisah, dan tetap memerlukan pengujian bersama bank. Hilangkan --dry-run untuk menulis XML-nya.
Lanjutkan ke Referensi Teknis untuk setiap flag dan endpoint, atau ke FAQ Mulai Cepat untuk pertanyaan operasional.