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]" |
| صف کار ناهمگام مبتنی بر Redis برای API | 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 showmake every discovered plugin auditable before first use.
همه چیز بهصورت محلی اجرا میشود. هیچ بستهای در این مجموعه به بیرون گزارش نمیدهد، هیچ API مربوط به SaaS را فرا نمیخواند و داده پرداخت را از میزبان خارج نمیکند.
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 یعنی فایل همین بررسیها را با موفقیت گذرانده است: طرحواره، و در صورت انتخاب، آییننامه طرح پرداخت. پروفایل اختصاصی بانک شما و قواعد کانال آن جدا از اینها هستند و همچنان به آزمایش با بانک نیاز دارند. برای نوشتن XML، --dry-run را حذف کنید.
برای آشنایی با هر پرچم و نقطه انتهایی به مرجع فنی بروید، یا برای پرسشهای عملیاتی به پرسشهای متداول شروع سریع سر بزنید.