From b22c59e7a08a6fbbadb411afef301054c1ab080a Mon Sep 17 00:00:00 2001 From: goodboy Date: Thu, 12 Mar 2026 13:53:21 -0400 Subject: [PATCH 1/2] Swap `open_channel_from()` yield-pair order MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Match upstream `tractor` API change where `open_channel_from()` now yields `(chan, first)` instead of `(first, chan)` — i.e. `tuple[LinkedTaskChannel, Any]`. - `brokers/ib/api.py` - `brokers/ib/broker.py` - `brokers/ib/feed.py` - `brokers/deribit/api.py` (2 sites) (this patch was generated in some part by [`claude-code`][claude-code-gh]) [claude-code-gh]: https://github.com/anthropics/claude-code --- piker/brokers/deribit/api.py | 4 ++-- piker/brokers/ib/api.py | 4 ++-- piker/brokers/ib/broker.py | 2 +- piker/brokers/ib/feed.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/piker/brokers/deribit/api.py b/piker/brokers/deribit/api.py index c0ab1ed4..df617d75 100644 --- a/piker/brokers/deribit/api.py +++ b/piker/brokers/deribit/api.py @@ -586,7 +586,7 @@ async def open_price_feed( fh, instrument ) - ) as (first, chan): + ) as (chan, first): yield chan @@ -653,7 +653,7 @@ async def open_order_feed( fh, instrument ) - ) as (first, chan): + ) as (chan, first): yield chan diff --git a/piker/brokers/ib/api.py b/piker/brokers/ib/api.py index b40d4cbc..1cc5e4e0 100644 --- a/piker/brokers/ib/api.py +++ b/piker/brokers/ib/api.py @@ -1529,7 +1529,7 @@ async def open_client_proxies() -> tuple[ # TODO: maybe this should be the default in tractor? key=tractor.current_actor().uid, - ) as (cache_hit, (clients, _)), + ) as (cache_hit, (_, clients)), AsyncExitStack() as stack ): @@ -1718,7 +1718,7 @@ async def open_client_proxy( open_aio_client_method_relay, client=client, event_consumers=event_table, - ) as (first, chan), + ) as (chan, first), trionics.collapse_eg(), # loose-ify trio.open_nursery() as relay_tn, diff --git a/piker/brokers/ib/broker.py b/piker/brokers/ib/broker.py index 0705fc21..31703fb9 100644 --- a/piker/brokers/ib/broker.py +++ b/piker/brokers/ib/broker.py @@ -514,8 +514,8 @@ async def open_trade_event_stream( recv_trade_updates, client=client, ) as ( - _, # first pushed val trade_event_stream, + _, # first pushed val ): task_status.started(trade_event_stream) # block forever to keep session trio-asyncio session diff --git a/piker/brokers/ib/feed.py b/piker/brokers/ib/feed.py index fc273c07..adeb6361 100644 --- a/piker/brokers/ib/feed.py +++ b/piker/brokers/ib/feed.py @@ -989,7 +989,7 @@ async def open_aio_quote_stream( symbol=symbol, contract=contract, - ) as (contract, from_aio): + ) as (from_aio, contract): assert contract -- 2.34.1 From 347a2d67f994d2f52dbd45403c74511bfefc7f58 Mon Sep 17 00:00:00 2001 From: goodboy Date: Tue, 17 Mar 2026 16:51:15 -0400 Subject: [PATCH 2/2] Pin to `tractor` upstream `main` branch --- pyproject.toml | 3 +-- uv.lock | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ae3ece4d..523b7a73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -203,9 +203,8 @@ pyvnc = { git = "https://github.com/regulad/pyvnc.git" } # xonsh = { git = 'https://github.com/xonsh/xonsh.git', branch = 'main' } # XXX since, we're like, always hacking new shite all-the-time. Bp -tractor = { git = "https://github.com/goodboy/tractor.git", branch ="piker_pin" } +tractor = { git = "https://github.com/goodboy/tractor.git", branch ="main" } # tractor = { git = "https://pikers.dev/goodboy/tractor", branch = "piker_pin" } -# tractor = { git = "https://pikers.dev/goodboy/tractor", branch = "main" } # ------ goodboy ------ # hackin dev-envs, usually there's something new he's hackin in.. # tractor = { path = "../tractor", editable = true } diff --git a/uv.lock b/uv.lock index 8a87f0c6..1ceffbdc 100644 --- a/uv.lock +++ b/uv.lock @@ -1034,7 +1034,7 @@ requires-dist = [ { name = "tomli", specifier = ">=2.0.1,<3.0.0" }, { name = "tomli-w", specifier = ">=1.0.0,<2.0.0" }, { name = "tomlkit", git = "https://github.com/pikers/tomlkit.git?branch=piker_pin" }, - { name = "tractor", git = "https://github.com/goodboy/tractor.git?branch=piker_pin" }, + { name = "tractor", git = "https://github.com/goodboy/tractor.git?branch=main" }, { name = "trio", specifier = ">=0.27" }, { name = "trio-typing", specifier = ">=0.10.0" }, { name = "trio-util", specifier = ">=0.7.0,<0.8.0" }, @@ -1676,7 +1676,7 @@ wheels = [ [[package]] name = "tractor" version = "0.1.0a6.dev0" -source = { git = "https://github.com/goodboy/tractor.git?branch=piker_pin#566a17ba92469000a01fd18c709ea3e336e72796" } +source = { git = "https://github.com/goodboy/tractor.git?branch=main#e77198bb64f0467a50e251ed140daee439752354" } dependencies = [ { name = "bidict" }, { name = "cffi" }, -- 2.34.1