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. Контейнер працює від виділеного користувача без прав 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 showmake 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.
Продовжте в технічному довіднику — там кожен прапорець і ендпоінт — або у FAQ швидкого старту для операційних питань.