[PR #1] [CLOSED] Demo-slice v2 client (submit / poll / download) #10

Closed
opened 2026-10-26 22:40:35 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-python-sdk/pull/1
Author: @wei-hai
Created: 7/15/2026
Status: ❌ Closed

Base: main ← Head: feat/demo-client


📝 Commits (5)

  • d643362 Add demo-slice v2 client (submit / poll / download)
  • 5b27cfb Make API key optional per surface; clear error when required
  • 35175f8 Wrap run() signature to satisfy the 100-char line limit
  • f2ce214 Scrub internal references from README and docstring
  • 4abd21e Add CI (ruff, mypy, pytest) and a dormant PyPI publish workflow (#2)

📊 Changes

6 files changed (+465 additions, -4 deletions)

View changed files

➕ .github/workflows/ci.yml (+48 -0)
➕ .github/workflows/publish.yml (+68 -0)
📝 README.md (+4 -4)
➕ pyproject.toml (+35 -0)
➕ src/comfy_sdk/__init__.py (+117 -0)
➕ tests/test_client.py (+193 -0)

📄 Description

First-iteration demo slice of the Python SDK.

What

A small hand-written client (comfy_sdk.Comfy) that runs a workflow against any Comfy API v2 surface — the local comfy-api-proxy or Comfy Cloud — changing only the base URL and (for cloud) the key.

  • submit() / get_job() / run() (submit → poll to terminal → return) / download()
  • Poll-first and authoritative (the plan's core principle); follows the embedded urls.self / output url links rather than constructing paths.

Scope

Deliberately minimal for the Friday demo. Not yet here: file upload, the live-progress stream, idempotency, the generated protocol layer, and the full idiomatic surface (asset/workflow factories, typed events, async client).

Verified

Runs end to end against comfy-api-proxy + a fake ComfyUI: submit → succeeded → PNG downloaded. UI-format graphs are rejected.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-python-sdk/pull/1 **Author:** [@wei-hai](https://github.com/wei-hai) **Created:** 7/15/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/demo-client` --- ### 📝 Commits (5) - [`d643362`](https://github.com/Comfy-Org/comfy-python-sdk/commit/d643362e35e6ca21f4854f0598dd91883c5d3999) Add demo-slice v2 client (submit / poll / download) - [`5b27cfb`](https://github.com/Comfy-Org/comfy-python-sdk/commit/5b27cfb173623c53b76e6494154dd2bacc16d3de) Make API key optional per surface; clear error when required - [`35175f8`](https://github.com/Comfy-Org/comfy-python-sdk/commit/35175f84564726587cbc2d7e5a634596d451d0da) Wrap run() signature to satisfy the 100-char line limit - [`f2ce214`](https://github.com/Comfy-Org/comfy-python-sdk/commit/f2ce214784ce524e701da58a7987039144c5468c) Scrub internal references from README and docstring - [`4abd21e`](https://github.com/Comfy-Org/comfy-python-sdk/commit/4abd21e32393422b2a218dc08ad94724854dc99f) Add CI (ruff, mypy, pytest) and a dormant PyPI publish workflow (#2) ### 📊 Changes **6 files changed** (+465 additions, -4 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/ci.yml` (+48 -0) ➕ `.github/workflows/publish.yml` (+68 -0) 📝 `README.md` (+4 -4) ➕ `pyproject.toml` (+35 -0) ➕ `src/comfy_sdk/__init__.py` (+117 -0) ➕ `tests/test_client.py` (+193 -0) </details> ### 📄 Description First-iteration demo slice of the Python SDK. ## What A small hand-written client (`comfy_sdk.Comfy`) that runs a workflow against **any** Comfy API v2 surface — the local `comfy-api-proxy` or Comfy Cloud — changing only the base URL and (for cloud) the key. - `submit()` / `get_job()` / `run()` (submit → poll to terminal → return) / `download()` - Poll-first and authoritative (the plan's core principle); follows the embedded `urls.self` / output `url` links rather than constructing paths. ## Scope Deliberately minimal for the Friday demo. Not yet here: file upload, the live-progress stream, idempotency, the generated protocol layer, and the full idiomatic surface (asset/workflow factories, typed events, async client). ## Verified Runs end to end against `comfy-api-proxy` + a fake ComfyUI: submit → `succeeded` → PNG downloaded. UI-format graphs are rejected. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:40:35 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-python-sdk#10
No description provided.