Repository navigation
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## py310-v2 #57 +/- ##
============================================
+ Coverage 86.60% 94.96% +8.36%
============================================
Files 7 17 +10
Lines 209 1550 +1341
Branches 19 214 +195
============================================
+ Hits 181 1472 +1291
- Misses 28 78 +50
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Member
Author
|
Setting this back to draft while we expand the feature scope: the v2 PR should also cover the full Transloadit API endpoint surface before we treat it as ready. I added a matching @todo to the 2.0.0 CHANGELOG section so the release notes get updated once the endpoint coverage is complete. |
kvz
marked this pull request as draft
May 21, 2026 14:07
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The API2 Python generator now converts contract identifiers to snake_case for local variable names, so generated methods read like idiomatic Python. No public API or behavior change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The generator no longer emits function-local imports; base64, urljoin, and requests (sync only) now live in the handwritten module headers where Python convention expects them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
resume_tus_upload() is generated from the API2 resumeUpload TUS protocol contract in both the sync and asyncio clients: it discovers the server offset with a HEAD request, PATCHes the remaining bytes from that offset, asserts the final offset matches the content length, and waits for the Assembly to finish. The new api2-devdock-tus-resume-upload example interrupts an upload after the first chunk like a dropped connection would, then resumes it through the public SDK method. The lifecycle example now polls the Assembly list briefly because the API acknowledges creation before the list storage row lands. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
# Conflicts: # .github/workflows/ci.yml
16 tasks
kvz
marked this pull request as ready for review
October 10, 2026 22:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Python SDK 2.0 includes asyncio and the full documented API surface. This PR adds
AsyncTransloaditand all 44 documented operations to both clients while preserving the high-level Assembly, Template and resumable-upload helpers. It stays based on #56 (py310-v2) so the runtime and async changes ship together as 2.0.Closes #9.
What changed
27622f3ecd09ffef6fc86a43dcfe14b95deaaad6, preserving its bytes and SHA-256. A standard-library generator emits both endpoint blocks, transport metadata and the coverage table. CI checks generated bytes offline on Ubuntu and Windows.Validation and council review
8faf570is green: all six Ubuntu/Windows matrix jobs and the live E2E job, run 38090452996.tim-kosrequested.Intentional boundaries: the legacy tuspy/custom-service workflows retain worker destinations returned by the configured service. Default Transloadit Assembly requests and generated raw capabilities remain destination-restricted; capability requests isolate credentials and disable redirects. SSE EOF/native transport errors remain observable, with final Assembly Status determining success. Async support is a standard dependency, already present in 1.x.
Friction: API2’s old generator/devdock wrapper commands were removed, so generation now uses its canonical checked-in contract and validation uses the repo’s existing live-test path. Live testing exposed cross-regional TUS/Assembly URLs. Windows CI caught an SSE test timing assumption and text newline/byte-length differences; both received portable regression fixes. Five council rounds covered cancellation, proxy/credential handling and upload compatibility.
Release handoff
Ready for review with
tim-kos. No merge into main, tag or publication. Kevin's SM precedes release. #57 must stay stacked on #56 until the combined 2.0 changes are ready to land. The 44-operation boundary is approved; the 16 additional product routes are recorded in #60.🤖 Claimed by kvz on
framework1/python-sdksince 2026-10-10 · resume:codex resume 01a12780-713d-7b83-af02-b7d64ec08d37