piker/piker
Tyler Goodlet 7ab97fb21d Add marketstore client as storage-backend module
To kick off our (tsdb) storage backends this adds our first implementing
a new `Storage(Protocol)` client interface. Going foward, the top level
`.storage` pkg-module will now expose backend agnostic APIs and helpers
whilst specific backend implementations will adhere to that middle-ware
layer.

Deats:
- add `.storage.marketstore.Storage` as the first client implementation,
  moving all needed (import) dependencies out from
  `.service.marketstore` as well as `.ohlc_key_map` and `get_client()`.
- move root `conf.toml` loading from `.data.history` into
  `.storage.__init__.open_storage_client()` which now takes in a `name:
  str` and does all the work of loading the correct backend module, its
  config, and determining if a service-instance can be contacted and
  a client loaded; in the case where this fails we raise a new
  `StorageConnectionError`.
- add a new `.storage.get_storagemod()` just like we have for brokers.
- make `open_storage_client()` also return the backend module such that
  the history-data layer can make backend specific calls as needed (eg.
  ohlc_key_map).
- fall back to a basic non-tsdb backfill when `open_storage_client()`
  raises the new connection error.
2023-06-27 13:41:47 -04:00
..
accounting Some linting fixes after trying out `ruff` 2023-05-24 17:25:23 -04:00
brokers ib: don't log-emit ib pp msg when none exists.. 2023-05-26 14:05:32 -04:00
clearing Always allocate a new `OrderClient` per `open_ems()` call 2023-05-28 14:05:03 -04:00
cli Activate docker daemons via flags using exit stack 2023-05-23 14:16:08 -04:00
data Add marketstore client as storage-backend module 2023-06-27 13:41:47 -04:00
fsp Port everything strictly to `Position.mkt` and `Flume.mkt` 2023-05-24 12:16:28 -04:00
service Add marketstore client as storage-backend module 2023-06-27 13:41:47 -04:00
storage Add marketstore client as storage-backend module 2023-06-27 13:41:47 -04:00
testing Pass a config `tmp_dir: Path` to the runtime when testing 2023-03-09 15:37:43 -05:00
ui Fix reading font size from user config 2023-06-19 15:13:01 -04:00
watchlists Add license headers to pertinent files 2020-11-06 12:23:14 -05:00
__init__.py Start `piker.service` sub-package 2023-03-09 15:37:42 -05:00
_cacheables.py Fix up `@async_lifo_cache` typing, add TODOs for move to `tractor` 2023-05-09 14:49:26 -04:00
_profile.py Make profiler work when nested and not? 2023-02-13 12:27:58 -05:00
calc.py Lul, adhere to returning `str`s in `humanize()` 2022-01-25 07:57:01 -05:00
config.py Adjust `config.load()` to handle CI git checkout dir, seems they changed it!? 2023-05-26 16:50:15 -04:00
log.py Doc string and types bump in loggin mod 2023-03-09 15:37:42 -05:00
trionics.py Start trionics mod with an `async_enter_all` 2022-01-23 19:41:57 -05:00