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. Контейнер работает от выделенного пользователя без прав root.
# Generate XML from a local CSV
# Launch the REST API
03. Изолированные среды#
Банковские и казначейские среды часто запрещают динамическую загрузку плагинов. Ровно для этого случая существуют два механизма контроля:
PAIN001_DISABLE_PLUGINS=1отключает обнаружение всех сторонних плагинов; работают только встроенные загрузчики.pain001 plugins list/pain001 plugins show <name>делают каждый обнаруженный плагин доступным для аудита до первого использования.
Всё выполняется локально. Ни один пакет набора не отправляет данные наружу, не вызывает SaaS API и не выносит платёжные данные за пределы хоста.
04. Первый файл за три команды#
--dry-run проверяет данные по JSON Schema, XSD и (с --scheme) своду правил SEPA или трансграничных переводов без записи результата. Код выхода 0 означает, что файл прошёл именно эти проверки: схему и, если он выбран, свод правил платёжной схемы. Собственный профиль вашего банка и правила его канала существуют отдельно и по-прежнему требуют тестирования с банком. Уберите --dry-run, чтобы записать XML.
Продолжите в техническом справочнике (там описаны каждый флаг и эндпоинт) или в FAQ быстрого старта для операционных вопросов.
