Proton Cloud SDK
A Proton Cloud SDK é a dependência que o código de uma automação usa para conversar com o Proton durante a execução. Com ela, a automação:
- descobre qual componente roda agora e abre e fecha cada passo;
- lê os parâmetros do dataset e as variáveis do ambiente da execução;
- grava os parâmetros de saída, o log, o erro e as evidências;
- marca o resultado da execução.
A SDK faz as chamadas da Proton API por você. Use a referência da API para entender o que acontece por baixo ou para integrar uma linguagem que ainda não tem SDK.
Linguagens
| Linguagem | Pacote | Versão | Onde |
|---|---|---|---|
| Python 3.10+ | protoncloud-sdk | 5.1.0 | PyPI |
| Java 21+ | br.com.protoncloud:protoncloud-sdk | 5.1.0 | GitHub Packages da Atomic; Maven Central em breve |
As duas seguem a mesma numeração. A versão 5.x fala com o Proton 5.
- Python
- Java
pip install protoncloud-sdk
<dependency>
<groupId>br.com.protoncloud</groupId>
<artifactId>protoncloud-sdk</artifactId>
<version>5.1.0</version>
</dependency>
Os detalhes de cada linguagem estão em Python e Java.
Como a SDK encontra o Proton
O Proton Runner baixa o código do repositório e inicia a automação com o endereço da API (PROTON_HOST)
e o id da execução. A SDK lê os dois sozinha: o mesmo projeto reporta ao servidor de onde a execução
nasceu, sem editar arquivo.
O runner não entrega o token. A SDK o lê da variável PROTON_TOKEN da máquina do runner ou do arquivo
de configuração do projeto (proton.ini no Python, config.properties no Java). O token é criado em
Meu Perfil, no Proton, ou pelo administrador para um usuário robô. Nunca grave o token no repositório.
Fora de uma execução do Proton, sem o id da execução, a SDK não chama o servidor: o mesmo teste roda na máquina de quem desenvolve.
Vindo da Proton Lib
A Proton Cloud SDK é a antiga Proton Lib com outro nome. O código continua o mesmo:
- Python: o pacote
protoncloud-sdkmantém o importproton(from proton.proton_automation import ...). Se o projeto carregava uma cópia da pastaproton/, apague a pasta depois de instalar o pacote: a cópia local tem precedência sobre o pacote instalado. - Java: a dependência
br.com.atomicsolutions.proton:proton-libvirabr.com.protoncloud:protoncloud-sdk. Os pacotes Java continuambr.com.atomicsolutions.*, então nenhumimportmuda.
O que mudou de comportamento no Proton 5 está em Versões.