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