agenta 0.13.8__tar.gz → 0.14.1__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.

Potentially problematic release.


This version of agenta might be problematic. Click here for more details.

Files changed (161) hide show
  1. {agenta-0.13.8 → agenta-0.14.1}/PKG-INFO +2 -1
  2. {agenta-0.13.8 → agenta-0.14.1}/agenta/__init__.py +1 -1
  3. agenta-0.14.1/agenta/sdk/client.py +56 -0
  4. {agenta-0.13.8 → agenta-0.14.1}/pyproject.toml +2 -1
  5. {agenta-0.13.8 → agenta-0.14.1}/README.md +0 -0
  6. {agenta-0.13.8 → agenta-0.14.1}/agenta/cli/evaluation_commands.py +0 -0
  7. {agenta-0.13.8 → agenta-0.14.1}/agenta/cli/helper.py +0 -0
  8. {agenta-0.13.8 → agenta-0.14.1}/agenta/cli/main.py +0 -0
  9. {agenta-0.13.8 → agenta-0.14.1}/agenta/cli/telemetry.py +0 -0
  10. {agenta-0.13.8 → agenta-0.14.1}/agenta/cli/variant_commands.py +0 -0
  11. {agenta-0.13.8 → agenta-0.14.1}/agenta/cli/variant_configs.py +0 -0
  12. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/Readme.md +0 -0
  13. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/__init__.py +0 -0
  14. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/api.py +0 -0
  15. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/api_models.py +0 -0
  16. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/__init__.py +0 -0
  17. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/client.py +0 -0
  18. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/core/__init__.py +0 -0
  19. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/core/api_error.py +0 -0
  20. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/core/client_wrapper.py +0 -0
  21. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/core/datetime_utils.py +0 -0
  22. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/core/jsonable_encoder.py +0 -0
  23. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
  24. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/errors/__init__.py +0 -0
  25. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
  26. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/__init__.py +0 -0
  27. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/apps/__init__.py +0 -0
  28. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/apps/client.py +0 -0
  29. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/bases/__init__.py +0 -0
  30. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/bases/client.py +0 -0
  31. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/configs/__init__.py +0 -0
  32. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/configs/client.py +0 -0
  33. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/containers/__init__.py +0 -0
  34. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/containers/client.py +0 -0
  35. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/containers/types/__init__.py +0 -0
  36. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/containers/types/container_templates_response.py +0 -0
  37. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/environments/__init__.py +0 -0
  38. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/environments/client.py +0 -0
  39. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/evaluations/__init__.py +0 -0
  40. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/evaluations/client.py +0 -0
  41. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/evaluators/__init__.py +0 -0
  42. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/evaluators/client.py +0 -0
  43. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/observability/__init__.py +0 -0
  44. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/observability/client.py +0 -0
  45. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/testsets/__init__.py +0 -0
  46. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/testsets/client.py +0 -0
  47. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/variants/__init__.py +0 -0
  48. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/variants/client.py +0 -0
  49. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/variants/types/__init__.py +0 -0
  50. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/resources/variants/types/add_variant_from_base_and_config_response.py +0 -0
  51. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/__init__.py +0 -0
  52. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/aggregated_result.py +0 -0
  53. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
  54. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/app.py +0 -0
  55. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/app_variant_response.py +0 -0
  56. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/app_variant_revision.py +0 -0
  57. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/base_output.py +0 -0
  58. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/body_import_testset.py +0 -0
  59. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/config_db.py +0 -0
  60. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/create_app_output.py +0 -0
  61. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/create_span.py +0 -0
  62. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/create_trace_response.py +0 -0
  63. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/docker_env_vars.py +0 -0
  64. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/environment_output.py +0 -0
  65. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/environment_output_extended.py +0 -0
  66. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/environment_revision.py +0 -0
  67. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/error.py +0 -0
  68. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation.py +0 -0
  69. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_scenario.py +0 -0
  70. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
  71. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
  72. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
  73. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_scenario_score_update.py +0 -0
  74. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
  75. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_type.py +0 -0
  76. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluation_webhook.py +0 -0
  77. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluator.py +0 -0
  78. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/evaluator_config.py +0 -0
  79. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/feedback.py +0 -0
  80. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/get_config_response.py +0 -0
  81. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/http_validation_error.py +0 -0
  82. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/human_evaluation.py +0 -0
  83. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
  84. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
  85. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
  86. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/human_evaluation_scenario_update.py +0 -0
  87. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/human_evaluation_update.py +0 -0
  88. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/image.py +0 -0
  89. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/invite_request.py +0 -0
  90. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/list_api_keys_response.py +0 -0
  91. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
  92. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/llm_tokens.py +0 -0
  93. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/new_human_evaluation.py +0 -0
  94. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/new_testset.py +0 -0
  95. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/organization.py +0 -0
  96. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/organization_output.py +0 -0
  97. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/permission.py +0 -0
  98. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/result.py +0 -0
  99. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/score.py +0 -0
  100. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
  101. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/span.py +0 -0
  102. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/span_detail.py +0 -0
  103. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/span_kind.py +0 -0
  104. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/span_status_code.py +0 -0
  105. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/span_variant.py +0 -0
  106. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/template.py +0 -0
  107. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/template_image_info.py +0 -0
  108. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/test_set_output_response.py +0 -0
  109. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/test_set_simple_response.py +0 -0
  110. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/trace_detail.py +0 -0
  111. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/uri.py +0 -0
  112. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/validation_error.py +0 -0
  113. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
  114. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/variant_action.py +0 -0
  115. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/variant_action_enum.py +0 -0
  116. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/with_pagination.py +0 -0
  117. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/workspace_member_response.py +0 -0
  118. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/workspace_permission.py +0 -0
  119. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/workspace_response.py +0 -0
  120. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/workspace_role.py +0 -0
  121. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/backend/types/workspace_role_response.py +0 -0
  122. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/client.py +0 -0
  123. {agenta-0.13.8 → agenta-0.14.1}/agenta/client/exceptions.py +0 -0
  124. {agenta-0.13.8 → agenta-0.14.1}/agenta/config.py +0 -0
  125. {agenta-0.13.8 → agenta-0.14.1}/agenta/config.toml +0 -0
  126. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker-assets/Dockerfile.cloud.template +0 -0
  127. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker-assets/Dockerfile.template +0 -0
  128. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker-assets/README.md +0 -0
  129. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker-assets/entrypoint.sh +0 -0
  130. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker-assets/lambda_function.py +0 -0
  131. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker-assets/main.py +0 -0
  132. {agenta-0.13.8 → agenta-0.14.1}/agenta/docker/docker_utils.py +0 -0
  133. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/__init__.py +0 -0
  134. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/agenta_decorator.py +0 -0
  135. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/agenta_init.py +0 -0
  136. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/context.py +0 -0
  137. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/router.py +0 -0
  138. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/tracing/context_manager.py +0 -0
  139. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/tracing/decorators.py +0 -0
  140. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/tracing/llm_tracing.py +0 -0
  141. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/tracing/logger.py +0 -0
  142. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/tracing/tasks_manager.py +0 -0
  143. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/types.py +0 -0
  144. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/utils/globals.py +0 -0
  145. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/utils/helper/openai_cost.py +0 -0
  146. {agenta-0.13.8 → agenta-0.14.1}/agenta/sdk/utils/preinit.py +0 -0
  147. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/compose_email/README.md +0 -0
  148. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/compose_email/app.py +0 -0
  149. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/compose_email/env.example +0 -0
  150. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/compose_email/requirements.txt +0 -0
  151. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/compose_email/template.toml +0 -0
  152. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/extract_data_to_json/README.md +0 -0
  153. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/extract_data_to_json/app.py +0 -0
  154. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/extract_data_to_json/env.example +0 -0
  155. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/extract_data_to_json/requirements.txt +0 -0
  156. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/extract_data_to_json/template.toml +0 -0
  157. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/simple_prompt/README.md +0 -0
  158. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/simple_prompt/app.py +0 -0
  159. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/simple_prompt/env.example +0 -0
  160. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/simple_prompt/requirements.txt +0 -0
  161. {agenta-0.13.8 → agenta-0.14.1}/agenta/templates/simple_prompt/template.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agenta
3
- Version: 0.13.8
3
+ Version: 0.14.1
4
4
  Summary: The SDK for agenta is an open-source LLMOps platform.
5
5
  Home-page: https://agenta.ai
6
6
  Keywords: LLMOps,LLM,evaluation,prompt engineering
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Topic :: Software Development :: Libraries
18
+ Requires-Dist: cachetools (>=5.3.3,<6.0.0)
18
19
  Requires-Dist: click (>=8.1.3,<9.0.0)
19
20
  Requires-Dist: docker (>=6.1.1,<7.0.0)
20
21
  Requires-Dist: fastapi (>=0.96.1)
@@ -17,6 +17,6 @@ from .sdk.types import (
17
17
  from .sdk.tracing.decorators import span
18
18
  from .sdk.agenta_init import Config, init, llm_tracing
19
19
  from .sdk.utils.helper.openai_cost import calculate_token_usage
20
-
20
+ from .sdk.client import Agenta
21
21
 
22
22
  config = PreInitObject("agenta.config", Config)
@@ -0,0 +1,56 @@
1
+ import os
2
+
3
+ from cachetools import TTLCache, cached
4
+
5
+ from agenta.client.backend.client import AgentaApi
6
+
7
+
8
+ class Agenta:
9
+ """Client class for interacting with the Agenta API."""
10
+
11
+ def __init__(self, api_key: str = None, host: str = None):
12
+ """
13
+ Initializes the Agenta client with API key and host.
14
+
15
+ Raises:
16
+ EnvironmentError: If AGENTA_API_KEY is not set.
17
+ """
18
+ if not api_key and not os.environ.get("AGENTA_API_KEY"):
19
+ raise EnvironmentError(
20
+ "Required environment variables AGENTA_API_KEY is not set."
21
+ )
22
+ self.api_key = api_key if api_key else os.environ.get("AGENTA_API_KEY")
23
+ self.host = (
24
+ host if host else os.environ.get("AGENTA_HOST", "https://cloud.agenta.ai")
25
+ )
26
+ self.cache = TTLCache(maxsize=1024, ttl=300)
27
+ backend_url = f"{self.host}/api"
28
+ self.client = AgentaApi(base_url=backend_url, api_key=self.api_key)
29
+
30
+ def get_config(self, base_id: str, environment: str, cache_timeout: int = 300):
31
+ """
32
+ Fetches and caches the configuration for a specified base ID and environment.
33
+
34
+ Args:
35
+ base_id (str): The unique identifier for the base.
36
+ environment (str): The environment name (e.g., 'production', 'development').
37
+ cache_timeout (int): The TTL for the cache in seconds. Defaults to 300 seconds.
38
+
39
+ Returns:
40
+ dict: The configuration data retrieved from the Agenta API.
41
+
42
+ Raises:
43
+ EnvironmentError: If the required AGENTA_API_KEY is not set in the environment variables.
44
+ """
45
+ if cache_timeout != self.cache.ttl:
46
+ self.cache = TTLCache(
47
+ maxsize=1024, ttl=cache_timeout
48
+ ) # TODO: We need to modify this to use a dynamic TTLCache implementation in the future
49
+
50
+ @cached(cache=self.cache)
51
+ def fetch_config(base_id: str, environment: str = "production"):
52
+ return self.client.configs.get_config(
53
+ base_id=base_id, environment_name=environment
54
+ )
55
+
56
+ return fetch_config(base_id, environment)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "agenta"
3
- version = "0.13.8"
3
+ version = "0.14.1"
4
4
  description = "The SDK for agenta is an open-source LLMOps platform."
5
5
  readme = "README.md"
6
6
  authors = ["Mahmoud Mabrouk <mahmoud@agenta.ai>"]
@@ -30,6 +30,7 @@ posthog = "^3.1.0"
30
30
  pydantic = "1.10.13"
31
31
  httpx = "^0.27.0"
32
32
  pymongo = "^4.6.3"
33
+ cachetools = "^5.3.3"
33
34
 
34
35
  [tool.poetry.dev-dependencies]
35
36
  pytest = "^6.2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes