44import logging
55from pathlib import Path
66from typing import TYPE_CHECKING , Any
7+ from typing_extensions import assert_never
78
89import numpy as np
910import yaml
@@ -27,7 +28,7 @@ class Pipeline:
2728
2829 def __init__ (
2930 self ,
30- nodes : list [NodeOptimizer ] | list [InferenceNode ] | list [ Any ] ,
31+ nodes : list [NodeOptimizer ] | list [InferenceNode ],
3132 seed : int = 42 ,
3233 ) -> None :
3334 """
@@ -45,10 +46,9 @@ def __init__(
4546 self .vector_index_config = VectorIndexConfig ()
4647 self .data_config = DataConfig ()
4748 elif not isinstance (nodes [0 ], InferenceNode ):
48- msg = "Pipeline should be initialized with list of NodeOptimizers or InferenceNodes"
49- raise TypeError (msg )
49+ assert_never (nodes )
5050
51- def set_config (self , config : LoggingConfig | VectorIndexConfig | DataConfig | Any ) -> None : # noqa: ANN401
51+ def set_config (self , config : LoggingConfig | VectorIndexConfig | DataConfig ) -> None : # noqa: ANN401
5252 """
5353 Set configuration for the optimizer.
5454
@@ -61,8 +61,7 @@ def set_config(self, config: LoggingConfig | VectorIndexConfig | DataConfig | An
6161 elif isinstance (config , DataConfig ):
6262 self .data_config = config
6363 else :
64- msg = "unknown config type"
65- raise TypeError (msg )
64+ assert_never (config )
6665
6766 @classmethod
6867 def from_search_space (cls , search_space : list [dict [str , Any ]] | Path | str , seed : int = 42 ) -> "Pipeline" :
0 commit comments