Pain001

Το Pain001 εκτελείται σε Python 3.10, 3.11 και 3.12 (κάθε έκδοση δοκιμάζεται στο CI) σε macOS, Linux και Windows. Εγκαταστήστε ό,τι χρειάζεστε· κάθε προαιρετική δυνατότητα προσφέρεται ως extra, ώστε η βασική εγκατάσταση να παραμένει ελαφριά.


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. Το container εκτελείται ως αποκλειστικός χρήστης χωρίς δικαιώματα root.

# 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 σημαίνει ότι το αρχείο πέρασε αυτούς τους ελέγχους: του σχήματος και, όπου έχει επιλεγεί, του κανονισμού του σχήματος πληρωμών. Το ίδιο το προφίλ της τράπεζάς σας και οι κανόνες του καναλιού είναι ξεχωριστά και εξακολουθούν να απαιτούν δοκιμές με την τράπεζα. Αφαιρέστε την --dry-run για να γραφτεί το XML.

Συνεχίστε στην Τεχνική αναφορά για κάθε σημαία και τελικό σημείο ή στις Συχνές ερωτήσεις για λειτουργικά ζητήματα.