piker/piker/data
Tyler Goodlet ff171af168 Prep service mngr for move to `tractor.hilevel`
Given it's a fairly simple yet useful abstraction, it makes sense to
offer this sub-sys alongside the core `tractor` runtime lib.

Without going into extreme detail on the impl changes (it'll come in
the commit that moves to the other repo) here is the high level summary:
------ - ------
- rename `Services` -> `ServiceMngr` and use an factory `@acm`
  to guarantee a single-instance-per-actor using a niche approach for a
  singleton object using a default keyword-arg B)
  - the mod level `open_service_mngr()` and `get_service_mngr()` are the
    new allocation/access API.
- add a `ServiceMngr.start_service()` method which does the work of both
  spawning a new subactor (for the daemon) and uses its portal to start
  the mngr side supervision task.
- open actor/task nurseries inside the `@acm` allocator.

Adjust other dependent subsystems to match:
------ - ------
- use `open_service_mngr()` when first allocated in `open_pikerd()`.
- use `get_service_mngr()` instead of importing the class ref inside
  `.service.maybe_spawn_daemon()`, `.brokers._daemon.spawn_brokerd()`
  and `.data._sampling.spawn_samplerd()` using a `partial` to pack in
  the endpoint ctx kwargs (unpacked inside `.start_service()` XD).
2025-01-29 00:17:36 -03:00
..
__init__.py Move `dedupe()` to `.data.tsp` (so it has pals) 2023-12-11 16:24:27 -05:00
_formatters.py Expose "bar gap margin" as `.ui._formatters.BGM: float` 2023-12-28 10:37:20 -05:00
_m4.py Add subsys log to new `.data._util` 2023-05-09 14:49:26 -04:00
_pathops.py .data._pathops: drop profiler imports, fix some naming to appease `ruff` 2023-07-20 15:27:22 -04:00
_sampling.py Prep service mngr for move to `tractor.hilevel` 2025-01-29 00:17:36 -03:00
_sharedmem.py Bleh, move `.data.types` back up to top level pkg 2023-08-05 15:57:10 -04:00
_source.py Drop `bar_wap` from default ohlc field set 2023-06-27 13:41:47 -04:00
_symcache.py Fixup symcache type annots; no more `Pair` type 2023-12-15 16:00:51 -05:00
_util.py Add subsys log to new `.data._util` 2023-05-09 14:49:26 -04:00
_web_bs.py kraken: handle ws live trading API symbology 2023-08-30 16:32:34 -04:00
feed.py Track data feed subscribers using a new `Sub(Struct)` 2023-12-26 20:48:06 -05:00
flows.py Define and pass a default `Flume._readonly: bool` 2023-12-06 17:25:49 -05:00
ingest.py Add subsys log to new `.data._util` 2023-05-09 14:49:26 -04:00
ticktools.py .data.ticktools: add reverse flag, better docs 2023-06-27 15:47:05 -04:00
validate.py Bleh, move `.data.types` back up to top level pkg 2023-08-05 15:57:10 -04:00