Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log linearized curve overlays #455

Merged
merged 138 commits into from
Mar 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
d3192bb
Read `Symbol` tick precision fields when no entry in `.broker_info`
goodboy Mar 8, 2023
aba238e
`kraken`: expect `Pair` in search results..
goodboy Mar 8, 2023
dae8e59
Merge pull request #484 from pikers/pps_precision_hotfixes
jaredgoldman Mar 9, 2023
fe0695f
First draft storage layer cli
goodboy Jan 29, 2023
7b196b1
Support startup-config overrides to `ahabd` super
goodboy Mar 8, 2023
959e423
Add warning around detach flag to docker client
goodboy Mar 8, 2023
8c66f06
Deliver es specific ahab-super in endpoint startup config
goodboy Mar 8, 2023
05b67c2
Apply `Services` runtime state **immediately** inside starup block
goodboy Mar 8, 2023
b078a06
Doc string and types bump in loggin mod
goodboy Mar 8, 2023
7694419
Background docker-container logs processing
goodboy Mar 8, 2023
bb723ab
Always passthrough loglevel to `ahabd` supervisor
goodboy Mar 8, 2023
56629b6
Hardcode `cancel` log level for `ahabd` for now
goodboy Mar 8, 2023
bfe3ea1
Set explicit `marketstore` container startup timeout
goodboy Mar 8, 2023
93c81fa
Start `piker.service` sub-package
goodboy Mar 8, 2023
afac553
Move all docker and external db code to `piker.service`
goodboy Mar 8, 2023
dd87d11
Bump mkts timeout to 2s
goodboy Mar 8, 2023
b226b67
Fix missed `marketstore` mod imports
goodboy Mar 8, 2023
31f2b01
Move `Services` api to `.service._mngr` mod
goodboy Mar 8, 2023
a2d4093
Move actor-discovery utils to `.service._registry
goodboy Mar 8, 2023
eca048c
Move daemon spawning endpoints to `service._daemon` module
goodboy Mar 8, 2023
f95ea19
Move `pikerd` runtime boostrap to `.service._actor_runtime`
goodboy Mar 8, 2023
cec2967
Import `maybe_open_pikerd` at module level
goodboy Mar 8, 2023
441243f
Attempt to report `piker storage -d <fqsn>` errors
goodboy Mar 9, 2023
6f92c6b
Don't crash on a `xdotool` timeout..
goodboy Mar 9, 2023
cda7a54
Fix final missed `marketstore` mod import
goodboy Mar 9, 2023
fbc12b1
Add 10min timeout on CI job..
goodboy Mar 9, 2023
6540c41
Lul, fix imports in elasticsearch block..
goodboy Mar 9, 2023
31392af
Move enabled module defs to just above where used
goodboy Mar 9, 2023
75b7a8b
`marketstore`: Pull default socket from server config
goodboy Mar 9, 2023
2014019
Add reconnect loop to `marketstore` startup test
goodboy Mar 9, 2023
aa36abf
Support passing `tractor` "actor runtime vars" down the runtime
goodboy Mar 9, 2023
5aaa7f4
Pull testing config dir from `tractor` runtime vars
goodboy Mar 9, 2023
79b0db4
Pass a config `tmp_dir: Path` to the runtime when testing
goodboy Mar 9, 2023
7cc9911
Add connection poll loop to es test as well
goodboy Mar 9, 2023
9a00c45
Add `log` fixture for easy test plugin
goodboy Mar 9, 2023
15064d9
`ahabd`: Harden cancellation teardown (again XD)
goodboy Mar 9, 2023
0772b4a
Hard code version from our container, predicate renaming
goodboy Mar 9, 2023
44a3115
Expose `drop_root_perms_for_ahab` from `pikerd` factories to `ahabd`
goodboy Mar 9, 2023
97290fc
Never drop root perms in test harness
goodboy Mar 9, 2023
8ceaa27
Add ES client polling to ensure eventual connectivity..
goodboy Mar 9, 2023
12883c3
Don't double send `enable_modules` and `debug_mode` in kwargs..
goodboy Mar 10, 2023
eb51033
Merge pull request #483 from pikers/service_subpkg
goodboy Mar 10, 2023
223e9d9
Add first-draft `PlotItemOverlay.group_maxmin()`
goodboy Jan 15, 2023
fc73bec
Drop Qt interaction signal usage
goodboy Jan 18, 2023
f89e11f
Right, handle y-ranging multiple paths per plot
goodboy Jan 19, 2023
8a5b9f4
Rename `.maybe_downsample_graphics()` -> `.interact_graphics_cycle()`
goodboy Jan 19, 2023
dfc3525
First draft, group y-minmax transform algo
goodboy Jan 19, 2023
52ac105
2nd try: dispersion normalize y-ranges around median
goodboy Jan 20, 2023
052ce65
3rdz the charm: log-linearize minor y-ranges to a major
goodboy Jan 20, 2023
0591cb0
Clean up cross-curve intersect point indexing
goodboy Jan 21, 2023
7e421ba
Drop `.group_maxmin()`
goodboy Jan 21, 2023
c2dd255
Only remove axis from scene when in one
goodboy Jan 21, 2023
fc6ccc3
Only set the major curve's range once (per render cycle)
goodboy Jan 22, 2023
a0fb84f
Just warn log on bad intersect indexing errors (for now)
goodboy Jan 22, 2023
32f21dc
Drop `update_graphics_from_flow()`
goodboy Jan 22, 2023
89e2e7f
Adjust `.update_graphics()` to expect `in_view: bool` in `_fsp.py`
goodboy Jan 22, 2023
896259d
When only one curve is in view, skip group ranging
goodboy Jan 22, 2023
776ffd2
Factor curve-dispersion sorting into primary loop
goodboy Jan 22, 2023
481f1b3
Fix intersect detection using time indexing
goodboy Jan 23, 2023
497174c
Add full profiling to `.interact_graphics_cycle()`
goodboy Jan 24, 2023
9418f53
Speed up ranging in display loop
goodboy Jan 24, 2023
ec8679a
Add `Viz.median_from_range()`
goodboy Jan 24, 2023
cf67c79
Use new cached median method in overlay scaling
goodboy Jan 24, 2023
e06d4b4
Add linked charts guard-flag for use in display loop
goodboy Jan 24, 2023
5eaca18
Don't skip overlay scaling in disp-loop for now
goodboy Jan 24, 2023
ea84505
Don't scale overlays on linked from display loop
goodboy Jan 24, 2023
517c68f
Use `._pathops.slice_from_time()` for overlay intersects
goodboy Jan 24, 2023
5a8fd42
Lul, actually scaled main chart from linked set
goodboy Jan 24, 2023
7ebcd6d
Comment out all median usage, turns out it's uneeded..
goodboy Jan 24, 2023
246d070
Drop old loop and wait on fsp engine tasks startups
goodboy Jan 24, 2023
5dd69b2
Better handle dynamic registry sampler broadcasts
goodboy Jan 25, 2023
9930f25
Move axis hiding into `.overlay_plotitem()`
goodboy Jan 21, 2023
7a83a72
Update profile msgs to new apis
goodboy Jan 30, 2023
2ed43c0
Fix profiler f-string
goodboy Feb 2, 2023
c690e14
Don't unset `Viz.render` for unit vlm
goodboy Feb 3, 2023
91d41eb
Allow y-range input via a `yranges: dict[Viz, tuple[float, float]]`
goodboy Feb 3, 2023
25cf8df
Pass windowed y-mxmn to `.interact_graphics_cycle()` calls in display…
goodboy Feb 3, 2023
6ea64a7
Iterate all charts (widgets) when only one overlay
goodboy Feb 6, 2023
3daee0c
Disable overlay scaling on per-symbol-feed updates
goodboy Feb 6, 2023
c57567a
No-overlays, y-ranging optimizations
goodboy Feb 8, 2023
a7db6ad
Always set the `ChartView._viz` for each plot
goodboy Feb 8, 2023
0a93931
Only set the specific view's yrange per quote
goodboy Feb 8, 2023
c646b43
Incrementally set vlm chart yrange per quote
goodboy Feb 8, 2023
74c215d
Lel, always meant to no-cache the step curve..
goodboy Feb 8, 2023
972b723
Skip overlay transform calcs on common-pi curves
goodboy Feb 8, 2023
db1e0a0
Only use last `ChartView._yrange` if set
goodboy Feb 9, 2023
2d73598
Go back to no-cache on OHLC downsample line
goodboy Feb 9, 2023
cda3bcc
Expose `._set_yrange()` kwargs via `yrange_kwargs: dict`
goodboy Feb 9, 2023
091afcc
Dynamically adjust y-range margin in display loop
goodboy Feb 9, 2023
3dc1f66
Go back to caching on all curves
goodboy Feb 9, 2023
a6d1053
Facepalm, align overlay plot view exactly to parent
goodboy Feb 11, 2023
cb5e2d4
Add hack-zone UI REPL access via `ctl-u`
goodboy Feb 11, 2023
d5ba26c
Try to hide all axes even when removed
goodboy Feb 11, 2023
5f470d6
Rework overlay pin technique: "align to first"
goodboy Feb 16, 2023
54ecb09
Remove vlm chart again, drop lotsa fsp cruft
goodboy Feb 21, 2023
753e991
Adjust `.ui` modules to new set-style "optional" annots
goodboy Feb 21, 2023
35c40e8
Move overlay transform logic to new `.ui.view_mode`
goodboy Feb 21, 2023
98b7d78
Drop (now) unused major curve mx/mn variables
goodboy Feb 22, 2023
26690b0
Make slow chart a teensie bit smaller
goodboy Feb 22, 2023
62e0889
Add `Viz.view_state: ViewState`
goodboy Feb 24, 2023
8fd5c67
Drop last lingering usage of `Viz.bars_range()`
goodboy Feb 26, 2023
29418e9
Avoid index-from-time slicing including gaps
goodboy Feb 27, 2023
4d11c5c
Add cached dispersion methods to `Viz`
goodboy Feb 27, 2023
6601dea
Support "pin-to-target-curve" overlay method again
goodboy Feb 27, 2023
c1ea855
Back-rescale previous (minor) curves from latest
goodboy Feb 27, 2023
01ea706
Better doc string, use `Viz.vs: ViewState`
goodboy Feb 28, 2023
45e97dd
Solve a final minor-should-rescale edge case
goodboy Feb 28, 2023
8c392fd
Drop a bunch of commented/uneeded cruft
goodboy Feb 28, 2023
993bb47
Drop passing overlay method from viewbox to view-mode handler
goodboy Feb 28, 2023
7579863
Skip overlay handling when `N < 2` are detected
goodboy Feb 28, 2023
94f0ef1
Repair x-label datetime labels when in array-index mode
goodboy Feb 28, 2023
75807f4
Rename overlay technique var to `method`
goodboy Feb 28, 2023
77401a9
Simplify `FlowGraphics.x_last()` logics
goodboy Feb 28, 2023
eda283f
Fix focal min calc after switching to `Viz.datums_range()`..
goodboy Feb 28, 2023
7564292
Move cache-reset ctx mngr to parent type: `FlowGraphics.reset_cache()`
goodboy Feb 28, 2023
9b96059
Add per-chart `Viz`/overlay graphics iterator method
goodboy Feb 28, 2023
f7dfe57
Disable coordinate caching during interaction
goodboy Feb 28, 2023
eea8504
Handle yrange not set on view vase for vlm fsp plot
goodboy Mar 1, 2023
9c8bd9b
Expand mxmn view y-margins back to 0.06
goodboy Mar 2, 2023
6690bd4
Drop remaining non-usage of `ChartPlotWidget.maxmin()`
goodboy Mar 4, 2023
12bee71
Add `do_min_bars: bool` flag to `Viz.default_view()`
goodboy Mar 4, 2023
7e6e04b
Drop remaining usage of `ChartPlotWidget.default_view()`
goodboy Mar 6, 2023
57d56c4
Facepalm: set `Viz.ViewState.yrange` even on cache hits..
goodboy Mar 6, 2023
fc98d66
Fix curve up-sampling on `'r'` hotkey
goodboy Mar 6, 2023
05aee4a
Tweak debug printing to display y-mxmn per viz
goodboy Mar 6, 2023
4bb580a
Don't `@lru_cache` on `Viz.i_from_t()`, since view state..
goodboy Mar 6, 2023
51f3733
Handle "target-is-shorter-then-pinned" case
goodboy Mar 7, 2023
712f1a4
Require `step: float` input to `slice_from_time()`
goodboy Mar 7, 2023
3292674
Always pass `step` to `slice_from_time()` in the `Viz`
goodboy Mar 7, 2023
8d1c713
Always pass step to `slice_from_time()` in view mode
goodboy Mar 7, 2023
5958ace
Add (commented) draft 1min OHLC time index logging
goodboy Mar 7, 2023
8a87e5f
Remove leftover debug print in cache reset meth
goodboy Mar 7, 2023
12e196a
Catch `KeyError` on bcast errors which pop the sub
goodboy Mar 7, 2023
32339cb
Always show a minimum bars during startup
goodboy Mar 8, 2023
3066b15
Handle (shorter supported) minor-curve not-in-view
goodboy Mar 9, 2023
5c697de
Presume never handling not-in-view case for minor curves
goodboy Mar 9, 2023
1aab9f1
Actually yes, we need to handle empty in-view range..
goodboy Mar 10, 2023
889e920
Short-circuit rendering on no 1d-data; avoid m4 layer crash
goodboy Mar 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:

testing:
name: 'install + test-suite'
timeout-minutes: 10
runs-on: ubuntu-latest
steps:

Expand Down
8 changes: 4 additions & 4 deletions piker/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# piker: trading gear for hackers.
# Copyright 2020-eternity Tyler Goodlet (in stewardship for piker0)
# Copyright 2020-eternity Tyler Goodlet (in stewardship for pikers)

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Expand All @@ -14,11 +14,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

"""
'''
piker: trading gear for hackers.

"""
from ._daemon import open_piker_runtime
'''
from .service import open_piker_runtime
from .data.feed import open_feed

__all__ = [
Expand Down
Loading