enkryptai-sdk 1.0.17__tar.gz → 1.0.18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {enkryptai_sdk-1.0.17/src/enkryptai_sdk.egg-info → enkryptai_sdk-1.0.18}/PKG-INFO +1 -1
  2. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/setup.py +1 -1
  3. enkryptai_sdk-1.0.18/src/enkryptai_sdk/dto/common.py +64 -0
  4. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/models.py +1 -1
  5. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/red_team.py +2 -58
  6. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18/src/enkryptai_sdk.egg-info}/PKG-INFO +1 -1
  7. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk.egg-info/SOURCES.txt +1 -0
  8. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/LICENSE +0 -0
  9. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/README.md +0 -0
  10. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/setup.cfg +0 -0
  11. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/__init__.py +0 -0
  12. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/ai_proxy.py +0 -0
  13. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/base.py +0 -0
  14. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/coc.py +0 -0
  15. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/config.py +0 -0
  16. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/datasets.py +0 -0
  17. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/deployments.py +0 -0
  18. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/__init__.py +0 -0
  19. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/ai_proxy.py +0 -0
  20. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/base.py +0 -0
  21. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/coc.py +0 -0
  22. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/datasets.py +0 -0
  23. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/deployments.py +0 -0
  24. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/dto/guardrails.py +0 -0
  25. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/evals.py +0 -0
  26. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/guardrails.py +0 -0
  27. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/guardrails_old.py +0 -0
  28. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/models.py +0 -0
  29. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/red_team.py +0 -0
  30. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk/response.py +0 -0
  31. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk.egg-info/dependency_links.txt +0 -0
  32. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/src/enkryptai_sdk.egg-info/top_level.txt +0 -0
  33. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_ai_proxy.py +0 -0
  34. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_all.py +0 -0
  35. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_all_v2.py +0 -0
  36. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_basic.py +0 -0
  37. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_coc.py +0 -0
  38. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_datasets.py +0 -0
  39. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_deployments.py +0 -0
  40. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_detect_policy.py +0 -0
  41. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_guardrails.py +0 -0
  42. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_injection_attack.py +0 -0
  43. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_model.py +0 -0
  44. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_openai.py +0 -0
  45. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_policy_violation.py +0 -0
  46. {enkryptai_sdk-1.0.17 → enkryptai_sdk-1.0.18}/tests/test_redteam.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: enkryptai-sdk
3
- Version: 1.0.17
3
+ Version: 1.0.18
4
4
  Summary: A Python SDK with guardrails and red teaming functionality for API interactions
5
5
  Home-page: https://github.com/enkryptai/enkryptai-sdk
6
6
  Author: Enkrypt AI Team
@@ -9,7 +9,7 @@ with open(os.path.join(here, "README.md"), encoding="utf-8") as fh:
9
9
  setup(
10
10
  name="enkryptai-sdk", # This is the name of your package on PyPI
11
11
  # NOTE: Also change this in .github/workflows/test.yaml
12
- version="1.0.17", # Update this for new versions
12
+ version="1.0.18", # Update this for new versions
13
13
  description="A Python SDK with guardrails and red teaming functionality for API interactions",
14
14
  long_description=long_description,
15
15
  long_description_content_type="text/markdown",
@@ -0,0 +1,64 @@
1
+ # To avoid circular imports
2
+ from enum import Enum
3
+ from .base import BaseDTO
4
+ from typing import Dict, List, Optional, Any
5
+ from dataclasses import dataclass, field, asdict
6
+
7
+
8
+ class ModelAuthTypeEnum(str, Enum):
9
+ APIKEY = "apikey"
10
+ JWT = "jwt"
11
+
12
+
13
+ class ModelJwtMethodEnum(str, Enum):
14
+ POST = "POST"
15
+ GET = "GET"
16
+
17
+
18
+ @dataclass
19
+ class CustomHeader(BaseDTO):
20
+ key: str
21
+ value: str
22
+
23
+ @classmethod
24
+ def from_dict(cls, data: Dict[str, Any]) -> "CustomHeader":
25
+ return cls(
26
+ key=data.get("key", ""),
27
+ value=data.get("value", "")
28
+ )
29
+
30
+ def to_dict(self) -> Dict[str, Any]:
31
+ return {
32
+ "key": self.key,
33
+ "value": self.value
34
+ }
35
+
36
+
37
+ @dataclass
38
+ class ModelJwtConfig(BaseDTO):
39
+ jwt_method: ModelJwtMethodEnum = ModelJwtMethodEnum.POST
40
+ jwt_url: str = ""
41
+ jwt_headers: List[CustomHeader] = field(default_factory=list)
42
+ jwt_body: str = ""
43
+ jwt_response_key: str = ""
44
+ _extra_fields: Dict[str, Any] = field(default_factory=dict)
45
+
46
+ @classmethod
47
+ def from_dict(cls, data: Dict[str, Any]) -> "ModelJwtConfig":
48
+ return cls(
49
+ jwt_method=ModelJwtMethodEnum(data.get("jwt_method", ModelJwtMethodEnum.POST)),
50
+ jwt_url=data.get("jwt_url", ""),
51
+ jwt_headers=[CustomHeader.from_dict(header) for header in data.get("jwt_headers", [])],
52
+ jwt_body=data.get("jwt_body", ""),
53
+ jwt_response_key=data.get("jwt_response_key", ""),
54
+ )
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ return {
58
+ "jwt_method": self.jwt_method.value,
59
+ "jwt_url": self.jwt_url,
60
+ "jwt_headers": [header.to_dict() for header in self.jwt_headers],
61
+ "jwt_body": self.jwt_body,
62
+ "jwt_response_key": self.jwt_response_key,
63
+ }
64
+
@@ -5,7 +5,7 @@ from .base import BaseDTO
5
5
  from tabulate import tabulate
6
6
  from dataclasses import dataclass, field, asdict
7
7
  from typing import Optional, List, Set, Dict, Any
8
- from .red_team import ModelAuthTypeEnum, CustomHeader, ModelJwtConfig
8
+ from .common import ModelAuthTypeEnum, CustomHeader, ModelJwtConfig
9
9
 
10
10
 
11
11
  # class Modality(Enum):
@@ -3,9 +3,11 @@ from enum import Enum
3
3
  from .base import BaseDTO
4
4
  from typing import Dict, List, Optional, Any
5
5
  from dataclasses import dataclass, field, asdict
6
+
6
7
  from .datasets import DatasetConfig
7
8
  from .models import ModelConfig
8
9
  from .guardrails import GuardrailDetectors
10
+ from .common import ModelAuthTypeEnum, CustomHeader, ModelJwtConfig
9
11
 
10
12
  # The risk mitigation do not support all detectors, so we need to create a separate enum for them.
11
13
  class RiskGuardrailDetectorsEnum(str, Enum):
@@ -20,64 +22,6 @@ class RiskGuardrailDetectorsEnum(str, Enum):
20
22
  # SYSTEM_PROMPT = "system_prompt"
21
23
 
22
24
 
23
- class ModelAuthTypeEnum(str, Enum):
24
- APIKEY = "apikey"
25
- JWT = "jwt"
26
-
27
-
28
- class ModelJwtMethodEnum(str, Enum):
29
- POST = "POST"
30
- GET = "GET"
31
-
32
-
33
- @dataclass
34
- class CustomHeader(BaseDTO):
35
- key: str
36
- value: str
37
-
38
- @classmethod
39
- def from_dict(cls, data: Dict[str, Any]) -> "CustomHeader":
40
- return cls(
41
- key=data.get("key", ""),
42
- value=data.get("value", "")
43
- )
44
-
45
- def to_dict(self) -> Dict[str, Any]:
46
- return {
47
- "key": self.key,
48
- "value": self.value
49
- }
50
-
51
-
52
- @dataclass
53
- class ModelJwtConfig(BaseDTO):
54
- jwt_method: ModelJwtMethodEnum = ModelJwtMethodEnum.POST
55
- jwt_url: str = ""
56
- jwt_headers: List[CustomHeader] = field(default_factory=list)
57
- jwt_body: str = ""
58
- jwt_response_key: str = ""
59
- _extra_fields: Dict[str, Any] = field(default_factory=dict)
60
-
61
- @classmethod
62
- def from_dict(cls, data: Dict[str, Any]) -> "ModelJwtConfig":
63
- return cls(
64
- jwt_method=ModelJwtMethodEnum(data.get("jwt_method", ModelJwtMethodEnum.POST)),
65
- jwt_url=data.get("jwt_url", ""),
66
- jwt_headers=[CustomHeader.from_dict(header) for header in data.get("jwt_headers", [])],
67
- jwt_body=data.get("jwt_body", ""),
68
- jwt_response_key=data.get("jwt_response_key", ""),
69
- )
70
-
71
- def to_dict(self) -> Dict[str, Any]:
72
- return {
73
- "jwt_method": self.jwt_method.value,
74
- "jwt_url": self.jwt_url,
75
- "jwt_headers": [header.to_dict() for header in self.jwt_headers],
76
- "jwt_body": self.jwt_body,
77
- "jwt_response_key": self.jwt_response_key,
78
- }
79
-
80
-
81
25
  @dataclass
82
26
  class RedteamHealthResponse(BaseDTO):
83
27
  status: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: enkryptai-sdk
3
- Version: 1.0.17
3
+ Version: 1.0.18
4
4
  Summary: A Python SDK with guardrails and red teaming functionality for API interactions
5
5
  Home-page: https://github.com/enkryptai/enkryptai-sdk
6
6
  Author: Enkrypt AI Team
@@ -22,6 +22,7 @@ src/enkryptai_sdk/dto/__init__.py
22
22
  src/enkryptai_sdk/dto/ai_proxy.py
23
23
  src/enkryptai_sdk/dto/base.py
24
24
  src/enkryptai_sdk/dto/coc.py
25
+ src/enkryptai_sdk/dto/common.py
25
26
  src/enkryptai_sdk/dto/datasets.py
26
27
  src/enkryptai_sdk/dto/deployments.py
27
28
  src/enkryptai_sdk/dto/guardrails.py
File without changes
File without changes
File without changes