Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/guardrails/guardrail_hooks/pangea/__init__.py: 42%

15 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 12:01 +0000

1from typing import TYPE_CHECKING, Final 

2 

3from litellm.types.guardrails import SupportedGuardrailIntegrations 

4 

5from .pangea import PangeaHandler 

6 

7if TYPE_CHECKING: 7 ↛ 8line 7 didn't jump to line 8 because the condition on line 7 was never true

8 from litellm.types.guardrails import Guardrail, LitellmParams 

9 

10 

11def initialize_guardrail(litellm_params: "LitellmParams", guardrail: "Guardrail"): 

12 import litellm 

13 

14 guardrail_name: Final = guardrail.get("guardrail_name") 

15 if not guardrail_name: 

16 raise ValueError("Pangea guardrail name is required") 

17 

18 _pangea_callback: Final = PangeaHandler( 

19 guardrail_name=guardrail_name, 

20 pangea_input_recipe=litellm_params.pangea_input_recipe, 

21 pangea_output_recipe=litellm_params.pangea_output_recipe, 

22 api_base=litellm_params.api_base, 

23 api_key=litellm_params.api_key, 

24 event_hook=litellm_params.mode, 

25 default_on=litellm_params.default_on, 

26 ) 

27 litellm.logging_callback_manager.add_litellm_callback(_pangea_callback) 

28 

29 return _pangea_callback 

30 

31 

32guardrail_initializer_registry: Final = { 

33 SupportedGuardrailIntegrations.PANGEA.value: initialize_guardrail, 

34} 

35 

36 

37guardrail_class_registry: Final = { 

38 SupportedGuardrailIntegrations.PANGEA.value: PangeaHandler, 

39}