Pain001 działa na Python 3.10, 3.11 i 3.12 (każda wersja testowana w CI) na macOS, Linux i Windows. Proszę instalować tylko to, co potrzebne; każda opcjonalna funkcja jest dodatkiem (extra), więc instalacja bazowa pozostaje lekka.
01. PyPI#
| Co jest potrzebne | Polecenie |
|---|---|
| Podstawowe CLI i biblioteka Python | pip install pain001 |
| Mikrousługa REST API (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Wczytywanie danych Parquet (PyArrow) | pip install "pain001[parquet]" |
Pliki wejściowe zaszyfrowane PGP (.gpg / .asc) | pip install "pain001[gpg]" |
| Kolejka zadań asynchronicznych API oparta na Redis | pip install "pain001[redis]" |
| Śledzenie OpenTelemetry | pip install "pain001[otel]" |
| Wbudowane minimalne serwery MCP / LSP | pip install "pain001[mcp]" / "pain001[lsp]" |
Pakiety towarzyszące instaluje się osobno i są wersjonowane niezależnie:
Weryfikacja instalacji i przegląd katalogu komunikatów:
02. Docker#
Obrazy wieloarchitekturowe (linux/amd64, linux/arm64) są publikowane w GitHub Container Registry. Kontener działa jako dedykowany użytkownik bez uprawnień roota.
# Generate XML from a local CSV
# Launch the REST API
03. Środowiska o zaostrzonych restrykcjach#
Środowiska bankowe i skarbowe często zabraniają dynamicznego ładowania wtyczek. Dokładnie na ten przypadek istnieją dwa mechanizmy kontroli:
PAIN001_DISABLE_PLUGINS=1wyłącza całe wykrywanie wtyczek zewnętrznych; działają tylko loadery dołączone do pakietu.pain001 plugins list/pain001 plugins show <name>pozwalają poddać audytowi każdą wykrytą wtyczkę przed jej pierwszym użyciem.
Wszystko działa lokalnie. Żaden pakiet z zestawu nie wysyła danych do producenta, nie wywołuje API SaaS ani nie przenosi danych płatniczych poza hosta.
04. Pierwszy plik w trzech poleceniach#
--dry-run waliduje względem JSON Schema, XSD oraz (z --scheme) reguł SEPA lub transgranicznych bez zapisywania wyniku. Kod wyjścia 0 oznacza, że plik przeszedł te kontrole: kontrolę schematu oraz, jeśli wybrano, reguły systemu płatności. Własny profil banku i zasady kanału są odrębne i nadal wymagają testów po stronie banku. Aby zapisać XML, proszę pominąć --dry-run.
Dalej: dokumentacja techniczna z każdą flagą i endpointem lub FAQ na start z pytaniami operacyjnymi.
