Dukk Dukk API interno · int / dev
SDKs oficiais

SDKs Python & TypeScript pra Dukk

Clientes espelhando a ergonomia do openai-python/openai-node — "migrar = trocar o import". Python já tem download público (vendorizado, sem PyPI); TypeScript ainda só existe como source. Ver status de cada SDK abaixo.

🐍 Python — dukk

v0.1.0 vendorizado — download público, sem PyPI sync + async · httpx · Python ≥ 3.10

Cliente Dukk (sync) / AsyncDukk (async) — chat.completions, models, conversations e o runner tasks.run(). 75 testes, validado contra um dukk-server real.

Instalar — via wheel (recomendado)

# funciona sem PyPI, sem conta, sem token — mesmo domínio desta página
# (api.dukk.com.br e int.dukk.com.br servem isso público; dev.dukk.com.br
# passa pelo basic-auth do host):
curl -O https://SEU-HOST/assets/downloads/sdk-python/dukk-0.1.0-py3-none-any.whl
pip install dukk-0.1.0-py3-none-any.whl

Instalar — vendorizado (copiar e colar)

# zip com só o pacote-fonte dukk/ + instruções — pra quem prefere colar
# direto no projeto em vez de depender de pip install:
curl -O https://SEU-HOST/assets/downloads/sdk-python/dukk-0.1.0-vendor.zip
unzip dukk-0.1.0-vendor.zip -d meu_projeto/vendor/

Links diretos (relativos a este host): .whl · .tar.gz · .zip vendorizado

Quickstart

from dukk import Dukk

client = Dukk()  # ou Dukk(api_key="dukk-..."); por padrão lê DUKK_API_KEY

resp = client.chat.completions.create(
    messages=[{"role": "user", "content": "Crie um script Python que lê um CSV..."}],
    dukk={"deliver": "auto", "conversation_id": "proj-x"},
)
print(resp.choices[0].message.content)
Ainda não é pip install dukk (PyPI). Os arquivos ficam vendorizados aqui em /assets/downloads/sdk-python/ — funciona em api.dukk.com.br e int.dukk.com.br sem nenhuma autenticação (download público de verdade, cliente externo consegue); em dev.dukk.com.br passa pelo basic-auth do host. PyPI público continua decisão em aberto pra quando quiser pip install dukk direto.

🟦 TypeScript — @dukk/sdk

v0.2.0 · só source, sem build/publish zero deps de runtime · Node ≥ 20 (fetch nativo)

Espelha o openai-nodechat.completions, models, conversations e tasks.run() com 3 faces (AsyncIterable, EventEmitter-like, Promise-like via .result()).

Instalar

// ainda NÃO publicado — nem npm público, nem release interna.
// hoje só dá pra usar direto do source (workspace/monorepo local):
npm install @dukk/sdk --workspace

Quickstart (referência do source)

import Dukk from '@dukk/sdk';

const dukk = new Dukk({ apiKey: process.env.DUKK_API_KEY });

const resp = await dukk.chat.completions.create({
  messages: [{ role: 'user', content: 'Crie um script Python que lê um CSV...' }],
  dukk: { deliver: 'auto', conversationId: 'proj-x' },
});
console.log(resp.choices[0].message.content);
Ainda não tem release nenhuma (nem privada, nem pública) — diferente do SDK Python. Pra usar hoje é só via source dentro do monorepo. Empacotar/publicar (mesmo que só internamente, igual o Python) é o próximo passo natural.