Commit Graph

3159 Commits (530b2731ba232daeb99f995e0096294ce9e590fd)

Author SHA1 Message Date
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
Tyler Goodlet be39e9bdf5 Load async kb search handler at startup 2021-05-27 13:05:22 -04:00
Tyler Goodlet 60d44f30ee Make search kb handling async 2021-05-27 13:05:22 -04:00
Tyler Goodlet 2861f321ce Add async keyboard cloner sub-sys 2021-05-27 13:05:22 -04:00
Tyler Goodlet 5e1b15f319 Repair indents from rebasing 2021-05-27 13:05:22 -04:00
Tyler Goodlet 821d5ab9ec Bring back in and merge tractor stream api patch 2021-05-27 13:05:22 -04:00
Tyler Goodlet da0cb9b2ac Call search focus directly 2021-05-27 13:05:22 -04:00