يعمل 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]" |
تُثبَّت الحزم المصاحبة على حدة وتُرقَّم إصداراتها باستقلالية:
تحقق من التثبيت واستكشف فهرس الرسائل:
02. Docker#
تُنشر صور متعددة المعماريات (linux/amd64، linux/arm64) على GitHub Container Registry. وتعمل الحاوية بمستخدم مخصص بغير صلاحيات الجذر.
# Generate XML from a local CSV
# Launch the REST API
03. البيئات المقيّدة#
كثيرًا ما تحظر بيئات البنوك والخزانة التحميل الديناميكي للإضافات. يوجد ضابطان لهذه الحالة تحديدًا:
- يعطّل
PAIN001_DISABLE_PLUGINS=1كل اكتشاف لإضافات الأطراف الثالثة؛ فلا تعمل إلا المحمّلات المرفقة. - يجعل
pain001 plugins list/pain001 plugins show <name>كل إضافة مكتشَفة قابلة للتدقيق قبل أول استخدام.
كل شيء يعمل محليًا. لا حزمة في المنظومة تتصل بخوادم خارجية، أو تستدعي واجهة SaaS، أو تنقل بيانات الدفع خارج المضيف.
04. أول ملف بثلاثة أوامر#
يتحقق --dry-run وفق JSON Schema وXSD و(مع --scheme) كتاب قواعد SEPA أو عبر الحدود دون كتابة مخرجات. رمز الخروج 0 يعني أن الملف اجتاز هذه الفحوص تحديدًا: المخطط، وكتاب قواعد نظام الدفع عند اختياره. أما ملف التعريف الخاص ببنكك وقواعد قناته فهما أمران منفصلان، ولا يزالان يتطلبان اختبارًا مع البنك. احذف --dry-run لكتابة ملف XML.
تابع إلى المرجع التقني لكل خيار ونقطة نهاية، أو إلى الأسئلة الشائعة للبدء السريع للأسئلة التشغيلية.
