Closed goodboy closed 1 year ago
Le's try to land #421 before this.
binance
tests from CI due to ip blacklisting on their end.. see the CI error
kraken
tests in CI (using fixture logic for detection) and expect devs to run the full suite manually on PRstractor
π, so we need either a better fix or to adjust the feeds tests to expect the streaming teardown gunk.
good news, seems like this issue went away with the new open_test_pikerd()
addition
Enhances our
piker.open_feed()
real-time quotes and history managment layerpiker.data.feed
to accept multi-fqsn inputs to deliver multi-symbol quote streams and a new internal data streaming abstraction/API:.data.Flume
which provides the basis for real-time stream mangement, access and measure for the needs of real-time data-flow management and orchestration.Synopsis
The final core-UX feature you always wanted as a chart trader is probably something like:
mult-instrument overlayed real-time and historical data feeds with simultaneous interaction and "current symbol" selectable order mode control..
well, this is finally within reach π and this patch add the "backend" work making it possible ππΌ
Notes for manual testing
Ideally reviewers run the new feeds test set with
pytest tests/test_feeds.py
. Note that you'll need to install thepiker_pin
branch oftractor
in order for the test set to run green:piker_pin
branch fortractor
if installed in dev mode locally.to land
[x] fill out commit msg for 7abcb3e0 which was initial (half-working) patch to get basic funtionality
[x] port all consumer code in clearing, order mode, charting/graphics layer to expect this adjusted
Feed
api.[x] add basic per-
brokerd
multi-symbol real-time feeds workingpiker.open_feed(fqsns=['btcusdt.binance', 'ethusdt.binance']) as feed)
where the deliveredFeed
now has a.flumes: dict[str, Flume]
which enables per-fqsn
data flow access, mgmt, measure (see the historical flume for idea behind this abstraction terminology)test_feeds.py
binance
multi-symbol casekraken
multi-symbol casekraken
currently seems to depend on abrokers.toml
existing? we should fix this..[x] add cross-
brokerd
multi-feeds such that `piker.open_feed(fqsns=['btcusdt.binance', 'xbtusdt.kraken']) will work with an aggregate receive channel delivering quotes from both backends?multi-sym case (
kraken+
binance`)Test suite TODO: see two comments below