Pain001

Pain001 চলে Python 3.10, 3.11 ও 3.12-এ (প্রতিটি সংস্করণ CI-তে পরীক্ষিত), macOS, Linux ও Windows-এ। যতটুকু প্রয়োজন ততটুকুই ইনস্টল করুন; প্রতিটি ঐচ্ছিক সক্ষমতা একটি এক্সট্রা, তাই মূল ইনস্টলেশন হালকা থাকে।


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-তে প্রকাশিত হয়। কন্টেইনারটি একটি নিবেদিত নন-রুট ব্যবহারকারী হিসেবে চলে।

# 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 show make 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 মানে ফাইলটি সেই পরীক্ষাগুলিতে উত্তীর্ণ হয়েছে: স্কিমা, এবং নির্বাচন করা হলে scheme রুলবুক। আপনার ব্যাংকের নিজস্ব প্রোফাইল ও চ্যানেল সংক্রান্ত নিয়ম আলাদা, এবং সেগুলির জন্য এখনও ব্যাংকের সঙ্গে পরীক্ষা প্রয়োজন। XML লিখতে --dry-run বাদ দিন।

প্রতিটি ফ্ল্যাগ ও এন্ডপয়েন্টের জন্য প্রযুক্তিগত রেফারেন্স-এ যান, অথবা পরিচালনাগত প্রশ্নের জন্য কুইকস্টার্ট FAQ-এ।