O Pain001 roda em Python 3.10, 3.11 e 3.12 (cada versão testada na CI) em macOS, Linux e Windows. Instale o que precisar; cada capacidade opcional é um extra, então a instalação base permanece enxuta.
01. PyPI#
| O que você precisa | Comando |
|---|---|
| CLI principal e biblioteca Python | pip install pain001 |
| Microsserviço de API REST (FastAPI + Uvicorn) | pip install "pain001[api]" |
| Ingestão de Parquet (PyArrow) | pip install "pain001[parquet]" |
Arquivos de entrada criptografados com PGP (.gpg / .asc) | pip install "pain001[gpg]" |
| Fila de jobs assíncronos com Redis para a API | pip install "pain001[redis]" |
| Rastreamento OpenTelemetry | pip install "pain001[otel]" |
| Servidores MCP / LSP mínimos embutidos | pip install "pain001[mcp]" / "pain001[lsp]" |
Os pacotes complementares são instalados separadamente e versionados de forma independente:
Verifique a instalação e explore o catálogo de mensagens:
02. Docker#
Imagens multiarquitetura (linux/amd64, linux/arm64) são publicadas no GitHub Container Registry. O contêiner roda como um usuário dedicado sem privilégios de root.
# Generate XML from a local CSV
# Launch the REST API
03. Ambientes restritos#
Ambientes de bancos e tesourarias costumam proibir o carregamento dinâmico de plugins. Existem dois controles exatamente para esse caso:
PAIN001_DISABLE_PLUGINS=1desativa toda a descoberta de plugins de terceiros; apenas os loaders incluídos são executados.pain001 plugins list/pain001 plugins show <name>tornam cada plugin descoberto auditável antes do primeiro uso.
Tudo executa localmente. Nenhum pacote da suíte telefona para casa, chama uma API SaaS ou move dados de pagamento para fora do host.
04. Primeiro arquivo em três comandos#
--dry-run valida contra o JSON Schema, o XSD e (com --scheme) um rulebook SEPA ou transfronteiriço sem gravar saída. O código de saída 0 significa que o arquivo passou nessas verificações: o esquema e, quando selecionado, o rulebook do scheme. O perfil próprio do seu banco e suas regras de canal são separados e ainda exigem testes com o banco. Remova --dry-run para gravar o XML.
Continue na Referência técnica para cada flag e endpoint, ou nas FAQs de início rápido para questões operacionais.
