agenta 0.27.0a9__py3-none-any.whl → 0.27.0a12__py3-none-any.whl

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 (61) hide show
  1. agenta/__init__.py +21 -3
  2. agenta/client/backend/__init__.py +14 -0
  3. agenta/client/backend/apps/client.py +28 -20
  4. agenta/client/backend/client.py +25 -2
  5. agenta/client/backend/containers/client.py +5 -1
  6. agenta/client/backend/core/__init__.py +2 -1
  7. agenta/client/backend/core/client_wrapper.py +6 -6
  8. agenta/client/backend/core/file.py +33 -11
  9. agenta/client/backend/core/http_client.py +24 -18
  10. agenta/client/backend/core/pydantic_utilities.py +144 -29
  11. agenta/client/backend/core/request_options.py +3 -0
  12. agenta/client/backend/core/serialization.py +139 -42
  13. agenta/client/backend/evaluations/client.py +7 -2
  14. agenta/client/backend/evaluators/client.py +349 -1
  15. agenta/client/backend/observability/client.py +11 -2
  16. agenta/client/backend/testsets/client.py +10 -10
  17. agenta/client/backend/types/__init__.py +14 -0
  18. agenta/client/backend/types/app.py +1 -0
  19. agenta/client/backend/types/app_variant_response.py +3 -1
  20. agenta/client/backend/types/config_dto.py +32 -0
  21. agenta/client/backend/types/config_response_model.py +32 -0
  22. agenta/client/backend/types/create_span.py +3 -2
  23. agenta/client/backend/types/environment_output.py +1 -0
  24. agenta/client/backend/types/environment_output_extended.py +1 -0
  25. agenta/client/backend/types/evaluation.py +1 -2
  26. agenta/client/backend/types/evaluator.py +2 -0
  27. agenta/client/backend/types/evaluator_config.py +1 -0
  28. agenta/client/backend/types/evaluator_mapping_output_interface.py +21 -0
  29. agenta/client/backend/types/evaluator_output_interface.py +21 -0
  30. agenta/client/backend/types/human_evaluation.py +1 -2
  31. agenta/client/backend/types/lifecycle_dto.py +24 -0
  32. agenta/client/backend/types/llm_tokens.py +2 -2
  33. agenta/client/backend/types/reference_dto.py +23 -0
  34. agenta/client/backend/types/reference_request_model.py +23 -0
  35. agenta/client/backend/types/span.py +1 -0
  36. agenta/client/backend/types/span_detail.py +7 -1
  37. agenta/client/backend/types/test_set_output_response.py +5 -2
  38. agenta/client/backend/types/trace_detail.py +7 -1
  39. agenta/client/backend/types/with_pagination.py +4 -2
  40. agenta/client/backend/variants/client.py +1565 -272
  41. agenta/sdk/__init__.py +19 -5
  42. agenta/sdk/agenta_init.py +21 -7
  43. agenta/sdk/context/routing.py +6 -5
  44. agenta/sdk/decorators/routing.py +16 -5
  45. agenta/sdk/decorators/tracing.py +16 -9
  46. agenta/sdk/litellm/litellm.py +47 -36
  47. agenta/sdk/managers/__init__.py +6 -0
  48. agenta/sdk/managers/config.py +318 -0
  49. agenta/sdk/managers/deployment.py +45 -0
  50. agenta/sdk/managers/shared.py +639 -0
  51. agenta/sdk/managers/variant.py +182 -0
  52. agenta/sdk/tracing/exporters.py +0 -1
  53. agenta/sdk/tracing/inline.py +45 -0
  54. agenta/sdk/tracing/processors.py +0 -1
  55. agenta/sdk/types.py +47 -2
  56. agenta/sdk/utils/exceptions.py +31 -1
  57. {agenta-0.27.0a9.dist-info → agenta-0.27.0a12.dist-info}/METADATA +1 -1
  58. {agenta-0.27.0a9.dist-info → agenta-0.27.0a12.dist-info}/RECORD +60 -49
  59. agenta/sdk/config_manager.py +0 -205
  60. {agenta-0.27.0a9.dist-info → agenta-0.27.0a12.dist-info}/WHEEL +0 -0
  61. {agenta-0.27.0a9.dist-info → agenta-0.27.0a12.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class EvaluatorMappingOutputInterface(UniversalBaseModel):
10
+ outputs: typing.Dict[str, typing.Optional[typing.Any]]
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
14
+ extra="allow", frozen=True
15
+ ) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class EvaluatorOutputInterface(UniversalBaseModel):
10
+ outputs: typing.Dict[str, typing.Optional[typing.Any]]
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
14
+ extra="allow", frozen=True
15
+ ) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -9,8 +9,7 @@ import pydantic
9
9
  class HumanEvaluation(UniversalBaseModel):
10
10
  id: str
11
11
  app_id: str
12
- user_id: str
13
- user_username: str
12
+ project_id: str
14
13
  evaluation_type: str
15
14
  variant_ids: typing.List[str]
16
15
  variant_names: typing.List[str]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class LifecycleDto(UniversalBaseModel):
10
+ created_at: typing.Optional[str] = None
11
+ updated_at: typing.Optional[str] = None
12
+ updated_by_id: typing.Optional[str] = None
13
+ updated_by: typing.Optional[str] = None
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
17
+ extra="allow", frozen=True
18
+ ) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -13,11 +13,11 @@ class LlmTokens(UniversalBaseModel):
13
13
 
14
14
  if IS_PYDANTIC_V2:
15
15
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
16
- extra="allow", frozen=False
16
+ extra="allow", frozen=True
17
17
  ) # type: ignore # Pydantic v2
18
18
  else:
19
19
 
20
20
  class Config:
21
- frozen = False
21
+ frozen = True
22
22
  smart_union = True
23
23
  extra = pydantic.Extra.allow
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class ReferenceDto(UniversalBaseModel):
10
+ slug: typing.Optional[str] = None
11
+ version: typing.Optional[int] = None
12
+ id: typing.Optional[str] = None
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
16
+ extra="allow", frozen=True
17
+ ) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class ReferenceRequestModel(UniversalBaseModel):
10
+ slug: typing.Optional[str] = None
11
+ version: typing.Optional[int] = None
12
+ id: typing.Optional[str] = None
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
16
+ extra="allow", frozen=True
17
+ ) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -14,6 +14,7 @@ from ..core.pydantic_utilities import update_forward_refs
14
14
  class Span(UniversalBaseModel):
15
15
  id: str
16
16
  name: str
17
+ project_id: typing.Optional[str] = None
17
18
  parent_span_id: typing.Optional[str] = None
18
19
  created_at: dt.datetime
19
20
  variant: SpanVariant
@@ -1,18 +1,21 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from __future__ import annotations
3
4
  from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .span import Span
4
6
  import typing
5
7
  import datetime as dt
6
8
  from .span_variant import SpanVariant
7
9
  from .span_status_code import SpanStatusCode
8
- from .span import Span
9
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
11
  import pydantic
12
+ from ..core.pydantic_utilities import update_forward_refs
11
13
 
12
14
 
13
15
  class SpanDetail(UniversalBaseModel):
14
16
  id: str
15
17
  name: str
18
+ project_id: typing.Optional[str] = None
16
19
  parent_span_id: typing.Optional[str] = None
17
20
  created_at: dt.datetime
18
21
  variant: SpanVariant
@@ -36,3 +39,6 @@ class SpanDetail(UniversalBaseModel):
36
39
  frozen = True
37
40
  smart_union = True
38
41
  extra = pydantic.Extra.allow
42
+
43
+
44
+ update_forward_refs(Span, SpanDetail=SpanDetail)
@@ -1,15 +1,18 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
- import pydantic
4
+ import typing_extensions
5
+ from ..core.serialization import FieldMetadata
5
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
7
  import typing
8
+ import pydantic
7
9
 
8
10
 
9
11
  class TestSetOutputResponse(UniversalBaseModel):
10
- id: str = pydantic.Field(alias="_id")
12
+ id: typing_extensions.Annotated[str, FieldMetadata(alias="_id")]
11
13
  name: str
12
14
  created_at: str
15
+ updated_at: str
13
16
 
14
17
  if IS_PYDANTIC_V2:
15
18
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
@@ -1,18 +1,21 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from __future__ import annotations
3
4
  from ..core.pydantic_utilities import UniversalBaseModel
5
+ from .span import Span
4
6
  import typing
5
7
  import datetime as dt
6
8
  from .span_variant import SpanVariant
7
9
  from .span_status_code import SpanStatusCode
8
- from .span import Span
9
10
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
11
  import pydantic
12
+ from ..core.pydantic_utilities import update_forward_refs
11
13
 
12
14
 
13
15
  class TraceDetail(UniversalBaseModel):
14
16
  id: str
15
17
  name: str
18
+ project_id: typing.Optional[str] = None
16
19
  parent_span_id: typing.Optional[str] = None
17
20
  created_at: dt.datetime
18
21
  variant: SpanVariant
@@ -36,3 +39,6 @@ class TraceDetail(UniversalBaseModel):
36
39
  frozen = True
37
40
  smart_union = True
38
41
  extra = pydantic.Extra.allow
42
+
43
+
44
+ update_forward_refs(Span, TraceDetail=TraceDetail)
@@ -2,15 +2,17 @@
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
- import pydantic
5
+ import typing_extensions
6
+ from ..core.serialization import FieldMetadata
6
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
7
9
 
8
10
 
9
11
  class WithPagination(UniversalBaseModel):
10
12
  data: typing.List[typing.Optional[typing.Any]]
11
13
  total: int
12
14
  page: int
13
- page_size: int = pydantic.Field(alias="pageSize")
15
+ page_size: typing_extensions.Annotated[int, FieldMetadata(alias="pageSize")]
14
16
 
15
17
  if IS_PYDANTIC_V2:
16
18
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(