Pain001은 macOS, Linux, Windows에서 Python 3.10, 3.11, 3.12로 동작하며, 각 버전은 CI에서 테스트됩니다. 필요한 것만 설치하세요. 모든 선택 기능은 엑스트라로 제공되므로 기본 설치는 가볍게 유지됩니다.
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]" |
| API용 Redis 기반 비동기 작업 큐 | 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 API를 호출하거나 지급 데이터를 호스트 밖으로 옮기지 않습니다.
04. 명령 세 개로 만드는 첫 파일#
--dry-run은 출력을 작성하지 않고 JSON Schema, XSD, 그리고 (--scheme과 함께 사용하면) SEPA 또는 국경 간 룰북에 대해 검증합니다. 종료 코드 0은 파일이 바로 그 검사, 즉 스키마와 선택한 경우의 스킴 룰북을 통과했다는 뜻입니다. 은행 자체 프로파일과 채널 규칙은 이와 별개이며, 여전히 은행과의 테스트가 필요합니다. XML을 작성하려면 --dry-run을 빼세요.
