22
33from openfeature import _event_support
44from openfeature .client import OpenFeatureClient
5- from openfeature .evaluation_context import EvaluationContext
5+ from openfeature .evaluation_context import (
6+ get_evaluation_context ,
7+ set_evaluation_context ,
8+ )
69from openfeature .event import (
710 EventHandler ,
811 ProviderEvent ,
912)
10- from openfeature .exception import GeneralError
11- from openfeature .hook import Hook
13+ from openfeature .hook import add_hooks , clear_hooks , get_hooks
1214from openfeature .provider import FeatureProvider
1315from openfeature .provider ._registry import provider_registry
1416from openfeature .provider .metadata import Metadata
15- from openfeature .transaction_context import TransactionContextPropagator
16- from openfeature .transaction_context .no_op_transaction_context_propagator import (
17- NoOpTransactionContextPropagator ,
17+ from openfeature .transaction_context import (
18+ get_transaction_context ,
19+ set_transaction_context ,
20+ set_transaction_context_propagator ,
1821)
1922
2023__all__ = [
3538 "shutdown" ,
3639]
3740
38- _evaluation_context = EvaluationContext ()
39- _evaluation_transaction_context_propagator : TransactionContextPropagator = (
40- NoOpTransactionContextPropagator ()
41- )
42-
43- _hooks : list [Hook ] = []
44-
4541
4642def get_client (
4743 domain : typing .Optional [str ] = None , version : typing .Optional [str ] = None
@@ -67,49 +63,6 @@ def get_provider_metadata(domain: typing.Optional[str] = None) -> Metadata:
6763 return provider_registry .get_provider (domain ).get_metadata ()
6864
6965
70- def get_evaluation_context () -> EvaluationContext :
71- return _evaluation_context
72-
73-
74- def set_evaluation_context (evaluation_context : EvaluationContext ) -> None :
75- global _evaluation_context
76- if evaluation_context is None :
77- raise GeneralError (error_message = "No api level evaluation context" )
78- _evaluation_context = evaluation_context
79-
80-
81- def set_transaction_context_propagator (
82- transaction_context_propagator : TransactionContextPropagator ,
83- ) -> None :
84- global _evaluation_transaction_context_propagator
85- _evaluation_transaction_context_propagator = transaction_context_propagator
86-
87-
88- def get_transaction_context () -> EvaluationContext :
89- return _evaluation_transaction_context_propagator .get_transaction_context ()
90-
91-
92- def set_transaction_context (evaluation_context : EvaluationContext ) -> None :
93- global _evaluation_transaction_context_propagator
94- _evaluation_transaction_context_propagator .set_transaction_context (
95- evaluation_context
96- )
97-
98-
99- def add_hooks (hooks : list [Hook ]) -> None :
100- global _hooks
101- _hooks = _hooks + hooks
102-
103-
104- def clear_hooks () -> None :
105- global _hooks
106- _hooks = []
107-
108-
109- def get_hooks () -> list [Hook ]:
110- return _hooks
111-
112-
11366def shutdown () -> None :
11467 provider_registry .shutdown ()
11568
0 commit comments