Tyler Goodlet
9bfc230dde
Speedup: load provider searches async at startup
2021-05-27 13:05:23 -04:00
Tyler Goodlet
c9cf72d554
Add remote context allocation api to service daemon
...
This allows for more deterministically managing long running sub-daemon
services under `pikerd` using the new context api from `tractor`.
The contexts are allocated in an async exit stack and torn down at root
daemon termination. Spawn brokerds using this method by changing the
persistence entry point to be a `@tractor.context`.
2021-05-27 13:05:23 -04:00
Tyler Goodlet
27d704b32e
To avoid feed breakage, just give up on history after too many throttles for now
2021-05-27 13:05:23 -04:00
Tyler Goodlet
82cdb176e1
Make ctrl-l highlight current text in edit
2021-05-27 13:05:23 -04:00
Tyler Goodlet
0cd3cb3328
Drop old todo
2021-05-27 13:05:23 -04:00
Tyler Goodlet
212882a5a5
Don't try to show xhair if no active plot
2021-05-27 13:05:23 -04:00
Tyler Goodlet
307afb1935
Clean some key handling
2021-05-27 13:05:23 -04:00
Tyler Goodlet
67498c60af
More UX features
...
- load previous search state on open
- show cached on empty search bar
- allow ctrl-u/d to navigate provider "sections"
2021-05-27 13:05:23 -04:00
Tyler Goodlet
8129fcc648
Ignore key auto-repeats
2021-05-27 13:05:23 -04:00
Tyler Goodlet
a4627c2b04
Send blank packet on no match to avoid blocking search stream
2021-05-27 13:05:23 -04:00
Tyler Goodlet
07d8bf1453
Add a `.select_first()` view method + more cleaning
2021-05-27 13:05:23 -04:00
Tyler Goodlet
d5e83e61d4
Reorder, drop some cruft
2021-05-27 13:05:23 -04:00
Tyler Goodlet
9d2c8a9526
Factor selection details into completer view methods
2021-05-27 13:05:23 -04:00
Tyler Goodlet
43d73b4a7c
Info log the current provider search
2021-05-27 13:05:23 -04:00
Tyler Goodlet
ddc2c8975a
Ignore whitespace patterns in ib search
2021-05-27 13:05:23 -04:00
Tyler Goodlet
64c1d9a965
Support ctrl-space to open search pane
2021-05-27 13:05:23 -04:00
Tyler Goodlet
d8a200aadc
Increase completion-tree width, support ctrl-space toggle
2021-05-27 13:05:23 -04:00
Tyler Goodlet
2471ce446e
Require `<symbol>.<provider>` format to cli
2021-05-27 13:05:23 -04:00
Tyler Goodlet
c9311dd7d0
Few more derivs symbols
2021-05-27 13:05:23 -04:00
Tyler Goodlet
6f3b799960
Skip ib exchanges we haven't tested yet
2021-05-27 13:05:23 -04:00
Tyler Goodlet
42fda2a9e6
Drop old code
2021-05-27 13:05:23 -04:00
Tyler Goodlet
e77a51f16e
Support multi-provider cache symbol switching
2021-05-27 13:05:23 -04:00
Tyler Goodlet
1bd0ee8746
Support loading multi-brokerds search at startup
2021-05-27 13:05:23 -04:00
Tyler Goodlet
fd8dc4f1a3
Make -b a multi-option for backends
2021-05-27 13:05:23 -04:00
Tyler Goodlet
59377da0ad
Load pause configs from backends on feed opens
2021-05-27 13:05:23 -04:00
Tyler Goodlet
bbd5883e52
Add search pause configs to backends
2021-05-27 13:05:23 -04:00
Tyler Goodlet
b2ff09f193
Support min and max keyboard pauses
...
Some providers do well with a "longer" debounce period (like ib) since
searching them too frequently causes latency and stalls. By supporting
both a min and max debounce period on keyboard input we can only send
patterns to the slower engines when that period is triggered via
`trio.move_on_after()` and continue to relay to faster engines when the
measured period permits. Allow search routines to register their "min
period" such that they can choose to ignore patterns that arrive before
their heuristically known ideal wait.
2021-05-27 13:05:23 -04:00
Tyler Goodlet
63363d750c
Port chart to multi-search api
2021-05-27 13:05:23 -04:00
Tyler Goodlet
cb102f692c
Top level widget `.focus()`
2021-05-27 13:05:23 -04:00
Tyler Goodlet
c9c686c98d
Register context-stream with multi-search for each feed
2021-05-27 13:05:23 -04:00
Tyler Goodlet
0163a582a5
Move search machinery to ui module, add fast cached chart selection
2021-05-27 13:05:23 -04:00
Tyler Goodlet
82ece83d33
Drop commented cruft
2021-05-27 13:05:23 -04:00
Tyler Goodlet
b39fd5e1fc
Use per-provider indented tree layout for results
2021-05-27 13:05:23 -04:00
Tyler Goodlet
25dbe60c77
Flip to ctrl-l to pop out search/list
2021-05-27 13:05:23 -04:00
Tyler Goodlet
51c61587d2
Make list pop out next to primary y-axis
2021-05-27 13:05:23 -04:00
Tyler Goodlet
2c24c9ef2d
Compose search bar and view under parent widget
2021-05-27 13:05:23 -04:00
Tyler Goodlet
f19f4348e0
Decouple symbol search from feed type
2021-05-27 13:05:22 -04:00
Tyler Goodlet
e5e9a7c582
Add symbol searching for ib backend
...
Obviously this only supports stocks to start, it looks like we might
actually have to hard code some of the futures/forex/cmdtys that don't
have a search.. so lame. Special throttling is added here since the api
will grog out at anything more then 1Hz.
Additionally, decouple the bar loading request error handling from the
shm pushing loop so that we can always recover from a historical bars
throttle-error even if it's on the first try for a new symbol.
2021-05-27 13:05:22 -04:00
Tyler Goodlet
25d7122cb6
Throttle requests using a static "typing paused period"
2021-05-27 13:05:22 -04:00
Tyler Goodlet
ef1b0911f3
Add symbol search to ib
2021-05-27 13:05:22 -04:00
Tyler Goodlet
82a8e0a7b6
Accept lower case sym requests in kraken backend
2021-05-27 13:05:22 -04:00
Tyler Goodlet
5766dd518d
Enforce lower case symbols across providers
2021-05-27 13:05:22 -04:00
Tyler Goodlet
478b114708
First draft completion in background task
2021-05-27 13:05:22 -04:00
Tyler Goodlet
c9efbcc6d2
Drop completion list from startup
2021-05-27 13:05:22 -04:00
Tyler Goodlet
431fdd3f9c
Add initial working symbol search with async completions
2021-05-27 13:05:22 -04:00
Tyler Goodlet
ad494db213
Make search routine a tractor context
2021-05-27 13:05:22 -04:00
Tyler Goodlet
ddeb9e7a94
Add fuzzywuzzy as dep
2021-05-27 13:05:22 -04:00
Tyler Goodlet
a5826e6e22
Up the kb event queue size
2021-05-27 13:05:22 -04:00
Tyler Goodlet
534553a6f5
Add client side multi-provider feed symbol search
2021-05-27 13:05:22 -04:00
Tyler Goodlet
4b818ea2f2
Add initial symbol search api for kraken
2021-05-27 13:05:22 -04:00