feat: add owned runtime and synchronous payment transport - #190
Draft
parvahuja wants to merge 1 commit into
Draft
Conversation
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 28, 2026 18:26
058352b to
2a77502
Compare
This was referenced Jul 28, 2026
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 28, 2026 23:14
2a77502 to
c0874a5
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 28, 2026 23:23
c0874a5 to
f0cd84d
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 29, 2026 00:43
f0cd84d to
69b2c5c
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 29, 2026 01:02
69b2c5c to
bc806af
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 29, 2026 03:33
bc806af to
7b23e75
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 29, 2026 03:43
7b23e75 to
91d7d77
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 29, 2026 03:50
91d7d77 to
0a79c78
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
2 times, most recently
from
July 29, 2026 21:04
0049e56 to
b77d4cb
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 29, 2026 21:49
b77d4cb to
75912ba
Compare
parvahuja
force-pushed
the
parv/sync-payment-transport-v0.13
branch
from
July 30, 2026 17:59
75912ba to
1a926cc
Compare
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.
Summary
OwnedPaymentRuntimewith one explicitly owned asyncio loopSyncPaymentTransportwith the same safety policy as the async transportWhy the synchronization remains
AnyIO owns the portal, loop thread, task submission, and managed async-context lifecycle. pympp keeps one condition for single-use lifecycle and active leases, plus futures for non-blocking async callers. Cancellation accounting, early sync claims, and conditional orphan cleanup each cover a reproduced portal-leak or close race. No Python thread or executor APIs are patched.
Review boundary
Owned-loop lifecycle and low-level sync HTTP only. No per-client or global HTTPX patching and no MCP changes.
Validation