Skip to content

Commit 25a8ea3

Browse files
committedFeb 20, 2024·
Add base implementation of turtle core
1 parent 3f2e046 commit 25a8ea3

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
 

‎src/turtle_core/core.py

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from alert.alert_system import AlertSystem
2+
from drift_detector.base_drift_detector import BaseDriftDetector
3+
from embedding.base_embedding_system import BaseEmbeddingSystem
4+
from ingestor_interface.base_ingestor import BaseIngestor
5+
from labeling_function_lib.labeling_function_lib import LabelingFunctionLib
6+
from loader_interface.base_loader import BaseLoader
7+
from model_trainer.model_trainer import ModelTrainer
8+
import logging
9+
10+
11+
class Core:
12+
def __init__(self) -> None:
13+
self.alert_sys: AlertSystem = None
14+
self.drift_detector: BaseDriftDetector = None
15+
self.embedding: BaseEmbeddingSystem = None
16+
self.ingestor: BaseIngestor = None
17+
self.labeling_function_lib: LabelingFunctionLib = None
18+
self.loader: BaseLoader = None
19+
self.model_trainer: ModelTrainer = None
20+
self.logger = logging.getLogger(self.__class__.__name__)
21+
22+
23+
class CoreBuilder:
24+
def __init__(self) -> None:
25+
self.core = Core()
26+
27+
def with_alert_system(self, alert_system: AlertSystem) -> None:
28+
self.core.alert_sys = alert_system
29+
30+
def with_drift_detector(self, drift_detector: BaseDriftDetector) -> None:
31+
self.core.drift_detector = drift_detector
32+
33+
def with_embedding(self, embedding: BaseEmbeddingSystem) -> None:
34+
self.core.embedding = embedding
35+
36+
def with_ingestor(self, ingestor: BaseIngestor) -> None:
37+
self.core.ingestor = ingestor
38+
39+
def with_labeling_function_lib(self, lf_lib: LabelingFunctionLib) -> None:
40+
self.core.labeling_function_lib = lf_lib
41+
42+
def with_loader(self, loader: BaseLoader) -> None:
43+
self.core.loader = loader
44+
45+
def with_model_trainer(self, model_trainer: ModelTrainer) -> None:
46+
self.core.model_trainer = model_trainer
47+
48+
def build(self) -> Core:
49+
return self.core
50+

0 commit comments

Comments
 (0)
Please sign in to comment.