Skip to main content

shade-sdk

O runtime e o framework dos robôs da ShadeOne. O robô gerado pela plataforma importa este pacote, na versão fixada pelo requirements.lock da imagem do sandbox, e o robô escrito à mão importa o mesmo pacote (ADR 019, D1). O import é shade_sdk.

from shade_sdk import Item, Robo


class CadastroDePedido(Robo):
    chave = ("cliente", "pedido")                 # a chave de negócio do item

    def entrar(self, pagina) -> None:             # opcional: ao abrir a sessão e se ela cair
        ...

    def processar(self, item: Item, pagina) -> None:
        pagina.goto(self.config["base_url"] + "/pedidos/novo")
        pagina.get_by_label("Cliente").fill(item["cliente"])
        with item.efetivar("salvar pedido"):      # o ensaio para aqui; o real registra antes
            pagina.get_by_role("button", name="Salvar").click()

main.py na raiz do projeto: CadastroDePedido.main(). Sem flag, roda em modo real, como o robô gerado; --rehearsal é o ensaio. A entrada é --input <arquivo.json>, ou data/input.json (onde a plataforma a deixa), ou [itens] exemplo do shade.toml.

  • Robo (uma lista de itens) e Tarefa (uma execução única, executar(item, pagina)).
  • Item: item["campo"], item.chave, with item.efetivar(nome), item.saida(**campos), item.reter(motivo), item.log(texto).
  • self.segredo(nome): só a credencial declarada em [credenciais] nomes; self.config: a tabela [config].
  • Erros: ErroDeNegocio (não repete), SessaoPerdida (entra de novo e refaz), ErroDeContrato, e os sinais ParadaDoEnsaio e ItemRetido (BaseException: um except Exception não os engole).
  • shade_sdk.testing: ExecutorLocal (o lado do executor do protocolo, com o robô em subprocesso) e pagina_local (um site local que conta os efeitos).

O runtime:

  • shade_sdk.runtime.laco: o laço por item (ledger, retomada, recuperação, efetivar, resumo).
  • shade_sdk.runtime.ledger: identidade do item por chave de negócio, o incerto gravado antes de efetivar e o canal do registro com o executor.
  • shade_sdk.runtime.recovery: classificação da falha, sessão perdida e modal inesperado.
  • shade_sdk.runtime.report: relatório HTML da execução e o histórico.
  • shade_sdk.runtime.config: Settings e a carga do .env.
  • shade_sdk.runtime.output: a planilha de saída, com ou sem mascaramento de PII.
  • shade_sdk.runtime.protocolo: o número e o formato do contrato robô ↔ executor, inclusive a entrada (main.py, argv e ambiente).

Testes do pacote: cd sdk && uv run pytest (Chromium do Playwright instalado).

Licença: Apache-2.0.

Metadata

Release files for shade-sdk 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for shade-sdk 0.4.0
File Interpreter ABI Platform
shade_sdk-0.4.0-py3-none-any.whl Python 3 none any Details

Release files / shade_sdk-0.4.0-py3-none-any.whl

Download URL shade_sdk-0.4.0-py3-none-any.whl
Size 48.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7b7634d672cbf380684e78accf32affaa3f3a097c1e7cbb63de7c44c5167049
BLAKE2b-256 checksum
How to use checksums
35a192687a3bd9fe94d7d93935925fe67f96cc3e595b6e06ddf5f5990794d074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

This release

0.4.0 This release

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page