Skip to content

Defer generated endpoints until API2-owned SDK emitters are ready #61

Open

Description

@kvz

Why

Kevin decided Python SDK 2.0 ships asyncio over the existing handwritten client surface and a Python 3.12+ floor. Contract-generated endpoints are deferred so API2 owns the SDK emitters instead of maintaining a separate Python-owned contract projection.

Blocked on https://github.com/transloadit/api2/pull/9252 (API2-owned SDK emitters). That work is owned by the existing studio1/~/code/api2 session. Coordinate with that session; do not start a competing emitter or change its claim. There is no promised Python release version for this follow-up.

Recovery snapshot: 8faf570 (the last #57 head before the 2.0 scope reduction). The complete implementation remains in this commit, including:

  • scripts/generate_endpoints.py, transloadit/_contract.py, generated blocks in both clients, and contracts/api2-contract.json.gz plus its lock/hash file.
  • docs/api-coverage.md, generation packaging/attributes, and the offline CI/tox drift check.
  • The 44-operation projection, contract-selected authentication, raw TUS/SSE transport, capability validation, regression/live tests and devdock examples.

This snapshot is reference material for the upstream-owned emitter work, not a release-ready independent generation architecture.

Acceptance after the upstream dependency is ready:

  • API2 owns and emits the Python SDK endpoint projection; avoid a new Python-local contract interpreter.
  • Import a reviewed producer revision, prove deterministic generation and installed-package/runtime behavior, and restore meaningful wire/cleanup tests.
  • Agree the future public endpoint boundary, including the separate-product routes tracked by Deferred storage, device authorization and OAuth API support #60.
  • Run repository checks, council review and Ubuntu/Windows/live CI before proposing a future release.

Release-scope context: #57 stacked on #56. All generation artifacts are removed from 2.0.

🤖 Released by kvz on framework1/python-sdk since 2026-10-11 · resume: codex resume 01a12c04-6ff8-7a91-9987-654db44d852e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions