tracdap-runtime 0.8.0b1__py3-none-any.whl → 0.8.0b3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tracdap/rt/_impl/core/__init__.py +14 -0
- tracdap/rt/_impl/{config_parser.py → core/config_parser.py} +14 -7
- tracdap/rt/_impl/{data.py → core/data.py} +3 -3
- tracdap/rt/_impl/core/logging.py +195 -0
- tracdap/rt/_impl/{models.py → core/models.py} +7 -6
- tracdap/rt/_impl/{repos.py → core/repos.py} +5 -3
- tracdap/rt/_impl/{schemas.py → core/schemas.py} +5 -5
- tracdap/rt/_impl/{shim.py → core/shim.py} +5 -4
- tracdap/rt/_impl/{storage.py → core/storage.py} +7 -6
- tracdap/rt/_impl/{util.py → core/util.py} +0 -110
- tracdap/rt/_impl/{validation.py → core/validation.py} +4 -3
- tracdap/rt/_impl/exec/__init__.py +14 -0
- tracdap/rt/{_exec → _impl/exec}/actors.py +12 -14
- tracdap/rt/{_exec → _impl/exec}/context.py +30 -14
- tracdap/rt/{_exec → _impl/exec}/dev_mode.py +8 -7
- tracdap/rt/{_exec → _impl/exec}/engine.py +227 -104
- tracdap/rt/{_exec → _impl/exec}/functions.py +36 -57
- tracdap/rt/{_exec → _impl/exec}/graph.py +2 -21
- tracdap/rt/{_exec → _impl/exec}/graph_builder.py +33 -19
- tracdap/rt/{_exec → _impl/grpc}/server.py +7 -6
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +64 -62
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +16 -2
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +3 -3
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +2 -0
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +4 -4
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +4 -2
- tracdap/rt/{_exec → _impl}/runtime.py +13 -12
- tracdap/rt/_impl/static_api.py +4 -4
- tracdap/rt/_plugins/format_csv.py +1 -1
- tracdap/rt/_plugins/storage_sql.py +1 -1
- tracdap/rt/_version.py +1 -1
- tracdap/rt/config/__init__.py +1 -0
- tracdap/rt/config/platform.py +8 -0
- tracdap/rt/ext/embed.py +2 -2
- tracdap/rt/ext/plugins.py +3 -3
- tracdap/rt/launch/launch.py +3 -3
- tracdap/rt/metadata/__init__.py +1 -0
- tracdap/rt/metadata/job.py +16 -0
- tracdap/rt/metadata/object.py +2 -0
- tracdap/rt/metadata/object_id.py +2 -0
- {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/METADATA +2 -2
- {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/RECORD +47 -45
- {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/WHEEL +1 -1
- tracdap/rt/_exec/__init__.py +0 -0
- /tracdap/rt/_impl/{guard_rails.py → core/guard_rails.py} +0 -0
- /tracdap/rt/_impl/{type_system.py → core/type_system.py} +0 -0
- {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/LICENSE +0 -0
- {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/top_level.txt +0 -0
@@ -13,8 +13,6 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
|
-
from __future__ import annotations
|
17
|
-
|
18
16
|
import logging
|
19
17
|
import threading
|
20
18
|
import functools as func
|
@@ -25,8 +23,8 @@ import inspect
|
|
25
23
|
import queue
|
26
24
|
import time
|
27
25
|
|
28
|
-
import tracdap.rt._impl.
|
29
|
-
import tracdap.rt._impl.validation as _val
|
26
|
+
import tracdap.rt._impl.core.logging as _logging
|
27
|
+
import tracdap.rt._impl.core.validation as _val
|
30
28
|
import tracdap.rt.exceptions as _ex
|
31
29
|
|
32
30
|
|
@@ -118,7 +116,7 @@ class Actor:
|
|
118
116
|
def error(self) -> tp.Optional[Exception]:
|
119
117
|
return self.__ctx.get_error()
|
120
118
|
|
121
|
-
def actors(self) -> ActorContext:
|
119
|
+
def actors(self) -> "ActorContext":
|
122
120
|
return self.__ctx
|
123
121
|
|
124
122
|
def on_start(self):
|
@@ -134,7 +132,7 @@ class Actor:
|
|
134
132
|
class ActorContext:
|
135
133
|
|
136
134
|
def __init__(
|
137
|
-
self, node: ActorNode, message: str,
|
135
|
+
self, node: "ActorNode", message: str,
|
138
136
|
current_actor: ActorId, parent: ActorId, sender: tp.Optional[ActorId]):
|
139
137
|
|
140
138
|
self.__node = node
|
@@ -188,13 +186,13 @@ class ThreadsafeActor(Actor):
|
|
188
186
|
super().__init__()
|
189
187
|
self.__threadsafe: tp.Optional[ThreadsafeContext] = None
|
190
188
|
|
191
|
-
def threadsafe(self) -> ThreadsafeContext:
|
189
|
+
def threadsafe(self) -> "ThreadsafeContext":
|
192
190
|
return self.__threadsafe
|
193
191
|
|
194
192
|
|
195
193
|
class ThreadsafeContext:
|
196
194
|
|
197
|
-
def __init__(self, node: ActorNode):
|
195
|
+
def __init__(self, node: "ActorNode"):
|
198
196
|
self.__node = node
|
199
197
|
self.__id = node.actor_id
|
200
198
|
self.__parent = node.parent.actor_id if node.parent is not None else None
|
@@ -235,7 +233,7 @@ class EventLoop:
|
|
235
233
|
self.__shutdown = False
|
236
234
|
self.__shutdown_now = False
|
237
235
|
self.__done = False
|
238
|
-
self.__log =
|
236
|
+
self.__log = _logging.logger_for_object(self)
|
239
237
|
|
240
238
|
def post_message(self, msg: _T_MSG, processor: tp.Callable[[_T_MSG], None]) -> bool:
|
241
239
|
with self.__msg_lock:
|
@@ -365,12 +363,12 @@ class FunctionCache:
|
|
365
363
|
|
366
364
|
class ActorNode:
|
367
365
|
|
368
|
-
_log =
|
366
|
+
_log = _logging.logger_for_class(Actor)
|
369
367
|
|
370
368
|
def __init__(
|
371
369
|
self, actor_id: ActorId, actor: Actor,
|
372
|
-
parent: tp.Optional[ActorNode],
|
373
|
-
system: ActorSystem,
|
370
|
+
parent: "tp.Optional[ActorNode]",
|
371
|
+
system: "ActorSystem",
|
374
372
|
event_loop: EventLoop):
|
375
373
|
|
376
374
|
self.actor_id = actor_id
|
@@ -483,7 +481,7 @@ class ActorNode:
|
|
483
481
|
|
484
482
|
target_node._accept(msg)
|
485
483
|
|
486
|
-
def _lookup_node(self, target_id: ActorId) -> tp.Optional[ActorNode]:
|
484
|
+
def _lookup_node(self, target_id: ActorId) -> "tp.Optional[ActorNode]":
|
487
485
|
|
488
486
|
# Check self first
|
489
487
|
|
@@ -904,7 +902,7 @@ class ActorSystem:
|
|
904
902
|
|
905
903
|
super().__init__()
|
906
904
|
|
907
|
-
self._log =
|
905
|
+
self._log = _logging.logger_for_object(self)
|
908
906
|
|
909
907
|
# self.__actors: tp.Dict[ActorId, ActorNode] = {self.__ROOT_ID: ActorNode("", self.__ROOT_ID, None)}
|
910
908
|
# self.__message_queue: tp.List[Msg] = list()
|
@@ -26,11 +26,12 @@ import tracdap.rt.api as _api
|
|
26
26
|
import tracdap.rt.api.experimental as _eapi
|
27
27
|
import tracdap.rt.metadata as _meta
|
28
28
|
import tracdap.rt.exceptions as _ex
|
29
|
-
import tracdap.rt._impl.
|
30
|
-
import tracdap.rt._impl.
|
31
|
-
import tracdap.rt._impl.storage as _storage
|
32
|
-
import tracdap.rt._impl.
|
33
|
-
import tracdap.rt._impl.
|
29
|
+
import tracdap.rt._impl.core.data as _data
|
30
|
+
import tracdap.rt._impl.core.logging as _logging
|
31
|
+
import tracdap.rt._impl.core.storage as _storage
|
32
|
+
import tracdap.rt._impl.core.type_system as _types
|
33
|
+
import tracdap.rt._impl.core.util as _util
|
34
|
+
import tracdap.rt._impl.core.validation as _val
|
34
35
|
|
35
36
|
|
36
37
|
class TracContextImpl(_api.TracContext):
|
@@ -63,10 +64,15 @@ class TracContextImpl(_api.TracContext):
|
|
63
64
|
model_class: _api.TracModel.__class__,
|
64
65
|
local_ctx: tp.Dict[str, tp.Any],
|
65
66
|
dynamic_outputs: tp.List[str] = None,
|
66
|
-
checkout_directory: pathlib.Path = None
|
67
|
+
checkout_directory: pathlib.Path = None,
|
68
|
+
log_provider: _logging.LogProvider = None):
|
67
69
|
|
68
|
-
|
69
|
-
|
70
|
+
# If no log provider is supplied, use the default (system logs only)
|
71
|
+
if log_provider is None:
|
72
|
+
log_provider = _logging.LogProvider()
|
73
|
+
|
74
|
+
self.__ctx_log = log_provider.logger_for_object(self)
|
75
|
+
self.__model_log = log_provider.logger_for_class(model_class)
|
70
76
|
|
71
77
|
self.__model_def = model_def
|
72
78
|
self.__model_class = model_class
|
@@ -368,9 +374,9 @@ class TracDataContextImpl(TracContextImpl, _eapi.TracDataContext):
|
|
368
374
|
self, model_def: _meta.ModelDefinition, model_class: _api.TracModel.__class__,
|
369
375
|
local_ctx: tp.Dict[str, tp.Any], dynamic_outputs: tp.List[str],
|
370
376
|
storage_map: tp.Dict[str, tp.Union[_eapi.TracFileStorage, _eapi.TracDataStorage]],
|
371
|
-
checkout_directory: pathlib.Path = None):
|
377
|
+
checkout_directory: pathlib.Path = None, log_provider: _logging.LogProvider = None):
|
372
378
|
|
373
|
-
super().__init__(model_def, model_class, local_ctx, dynamic_outputs, checkout_directory)
|
379
|
+
super().__init__(model_def, model_class, local_ctx, dynamic_outputs, checkout_directory, log_provider)
|
374
380
|
|
375
381
|
self.__model_def = model_def
|
376
382
|
self.__local_ctx = local_ctx
|
@@ -460,7 +466,9 @@ class TracDataContextImpl(TracContextImpl, _eapi.TracDataContext):
|
|
460
466
|
|
461
467
|
class TracFileStorageImpl(_eapi.TracFileStorage):
|
462
468
|
|
463
|
-
def __init__(
|
469
|
+
def __init__(
|
470
|
+
self, storage_key: str, storage_impl: _storage.IFileStorage,
|
471
|
+
write_access: bool, checkout_directory, log_provider: _logging.LogProvider):
|
464
472
|
|
465
473
|
self.__storage_key = storage_key
|
466
474
|
|
@@ -481,7 +489,11 @@ class TracFileStorageImpl(_eapi.TracFileStorage):
|
|
481
489
|
self.__rmdir = None
|
482
490
|
self.__write_byte_stream = None
|
483
491
|
|
484
|
-
|
492
|
+
# If no log provider is supplied, use the default (system logs only)
|
493
|
+
if log_provider is None:
|
494
|
+
log_provider = _logging.LogProvider()
|
495
|
+
|
496
|
+
self.__log = log_provider.logger_for_object(self)
|
485
497
|
self.__val = TracStorageValidator(self.__log, checkout_directory, self.__storage_key)
|
486
498
|
|
487
499
|
def get_storage_key(self) -> str:
|
@@ -602,7 +614,7 @@ class TracDataStorageImpl(_eapi.TracDataStorage[_eapi.DATA_API]):
|
|
602
614
|
def __init__(
|
603
615
|
self, storage_key: str, storage_impl: _storage.IDataStorageBase[_data.T_INTERNAL_DATA, _data.T_INTERNAL_SCHEMA],
|
604
616
|
data_converter: _data.DataConverter[_eapi.DATA_API, _data.T_INTERNAL_DATA, _data.T_INTERNAL_SCHEMA],
|
605
|
-
write_access: bool, checkout_directory):
|
617
|
+
write_access: bool, checkout_directory, log_provider: _logging.LogProvider):
|
606
618
|
|
607
619
|
self.__storage_key = storage_key
|
608
620
|
self.__converter = data_converter
|
@@ -619,7 +631,11 @@ class TracDataStorageImpl(_eapi.TracDataStorage[_eapi.DATA_API]):
|
|
619
631
|
self.__create_table = None
|
620
632
|
self.__write_table = None
|
621
633
|
|
622
|
-
|
634
|
+
# If no log provider is supplied, use the default (system logs only)
|
635
|
+
if log_provider is None:
|
636
|
+
log_provider = _logging.LogProvider()
|
637
|
+
|
638
|
+
self.__log = log_provider.logger_for_object(self)
|
623
639
|
self.__val = TracStorageValidator(self.__log, checkout_directory, self.__storage_key)
|
624
640
|
|
625
641
|
def has_table(self, table_name: str) -> bool:
|
@@ -22,11 +22,12 @@ import tracdap.rt.api as _api
|
|
22
22
|
import tracdap.rt.config as _cfg
|
23
23
|
import tracdap.rt.metadata as _meta
|
24
24
|
import tracdap.rt.exceptions as _ex
|
25
|
-
import tracdap.rt._impl.config_parser as _cfg_p
|
26
|
-
import tracdap.rt._impl.
|
27
|
-
import tracdap.rt._impl.
|
28
|
-
import tracdap.rt._impl.
|
29
|
-
import tracdap.rt._impl.
|
25
|
+
import tracdap.rt._impl.core.config_parser as _cfg_p
|
26
|
+
import tracdap.rt._impl.core.logging as _logging
|
27
|
+
import tracdap.rt._impl.core.models as _models
|
28
|
+
import tracdap.rt._impl.core.storage as _storage
|
29
|
+
import tracdap.rt._impl.core.type_system as _types
|
30
|
+
import tracdap.rt._impl.core.util as _util
|
30
31
|
|
31
32
|
|
32
33
|
DEV_MODE_JOB_CONFIG = [
|
@@ -50,7 +51,7 @@ DEV_MODE_SYS_CONFIG = []
|
|
50
51
|
|
51
52
|
class DevModeTranslator:
|
52
53
|
|
53
|
-
_log: tp.Optional[
|
54
|
+
_log: tp.Optional[_logging.Logger] = None
|
54
55
|
|
55
56
|
@classmethod
|
56
57
|
def translate_sys_config(cls, sys_config: _cfg.RuntimeConfig, config_mgr: _cfg_p.ConfigManager):
|
@@ -1039,4 +1040,4 @@ class DevModeTranslator:
|
|
1039
1040
|
|
1040
1041
|
|
1041
1042
|
|
1042
|
-
DevModeTranslator._log =
|
1043
|
+
DevModeTranslator._log = _logging.logger_for_class(DevModeTranslator)
|