arize-phoenix 3.11.1__py3-none-any.whl → 3.12.0__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 arize-phoenix might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arize-phoenix
3
- Version: 3.11.1
3
+ Version: 3.12.0
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -4,7 +4,7 @@ phoenix/datetime_utils.py,sha256=D955QLrkgrrSdUM6NyqbCeAu2SMsjhR5rHVQEsVUdng,277
4
4
  phoenix/exceptions.py,sha256=X5k9ipUDfwSCwZB-H5zFJLas86Gf9tAx0W4l5TZxp5k,108
5
5
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
6
  phoenix/services.py,sha256=f6AeyKTuOpy9RCcTCjVH3gx5nYZhbTMFOuv1WSUOB5o,4992
7
- phoenix/version.py,sha256=UuKR3QjWk9sJtn2huDFsPdSgtx1CgiEl2B4BUtVRd58,23
7
+ phoenix/version.py,sha256=Mf-gTb-tQiknxbfFkhQrqGBahlm5T1zJn8PDBgM9NiI,23
8
8
  phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
10
10
  phoenix/core/model.py,sha256=C-kDATyJEgP-oqYVKOiQM76Ljs66F6VZdT93_b8kTGk,4725
@@ -55,7 +55,7 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
55
55
  phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
56
56
  phoenix/pointcloud/umap_parameters.py,sha256=lJsEOrbSuSiqI7g4Yt6xj7kgYxEqoep4ZHWLr6VWBqw,1760
57
57
  phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- phoenix/server/app.py,sha256=MCXt9y0kDrOieAvcIr4Ex76l6lZMs_ffjKnPSKU30Mg,6719
58
+ phoenix/server/app.py,sha256=KMHQsy8Sypp8Ua6UrWvqByLt2FHXoKirnkakf-90JbU,6774
59
59
  phoenix/server/main.py,sha256=gGaQ0jqbsiGG1Enlr7UwL5Woc1k4kJyZhTa6OplwxgM,9090
60
60
  phoenix/server/thread_server.py,sha256=dP6cm6Cf08jNhDA1TRlVZpziu1YgtPDmaeIJMm725eI,2154
61
61
  phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -136,12 +136,13 @@ phoenix/session/client.py,sha256=9qlybwGGdPHql7n6Mye8feuh5_5AMq34xSajvcPn2yg,585
136
136
  phoenix/session/data_extractor.py,sha256=0Kf-2mKY_YbYoD2fZkAYpKdFgsXrC3OKQ5d2iZsGgAI,1947
137
137
  phoenix/session/evaluation.py,sha256=YCv1XkWHi7vM_W5V7rorrrAxadv78wuMPeCVJvf5-oE,5444
138
138
  phoenix/session/session.py,sha256=1RV6FBNqNDDrPFYU2qLffmI4RCRKy22KCLZFcH9oqJA,24556
139
- phoenix/trace/__init__.py,sha256=qMipNV47ahKsOOz8uQpoI4VnNRnjc5uh_0cJpL1ABvY,706
139
+ phoenix/trace/__init__.py,sha256=DOuudYVyWlhUnIy-E_aqvJ6ulmk_q7ghuctuXQCGCJA,763
140
140
  phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
141
141
  phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
142
142
  phoenix/trace/exporter.py,sha256=vh2RO1CpP143HxIX94KV0qks8p1x66RE3Tgf8kcBCCg,4519
143
143
  phoenix/trace/fixtures.py,sha256=HOjuYOB_xtR7JUeLz7WpEroiGj4E5_SxVLSjBYUy8RQ,7055
144
144
  phoenix/trace/otel.py,sha256=mpuj_eOdBUPAcslpxk8XZflb9kkzpMJ8X9acJS8ACPA,15322
145
+ phoenix/trace/projects.py,sha256=uIicJWWBAVwiRY-8EH2YlQmCUzsdspTxsz-ceK35m8E,1826
145
146
  phoenix/trace/schemas.py,sha256=6PVPnQIIDsWijwCwU19TGKG3xhFCYFY9K_5IqR5dWF4,5904
146
147
  phoenix/trace/span_evaluations.py,sha256=T67grfU71iANMM0g6dp2OQ_ZjtkON2viZz95_U9FLQA,12954
147
148
  phoenix/trace/span_json_decoder.py,sha256=IAFakPRqSMYxTPKYFMiXYxm7U-FipdN8_xbvapDS0Qc,3131
@@ -165,8 +166,8 @@ phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQd
165
166
  phoenix/utilities/__init__.py,sha256=8w1Ivw0KO9YKWrhcdnO73cSVqP9VHAp0pSfsi_oDiuQ,672
166
167
  phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
167
168
  phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
168
- arize_phoenix-3.11.1.dist-info/METADATA,sha256=CxX1LnZOSawfGoh1H2Q222Rw7PWanWDpxUUzbAKWMAo,29080
169
- arize_phoenix-3.11.1.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
170
- arize_phoenix-3.11.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
171
- arize_phoenix-3.11.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
172
- arize_phoenix-3.11.1.dist-info/RECORD,,
169
+ arize_phoenix-3.12.0.dist-info/METADATA,sha256=o2x8-y_lowmRbrLRRyau-RpB5fgtc4-l9EQ_gFhZe9Q,29080
170
+ arize_phoenix-3.12.0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
171
+ arize_phoenix-3.12.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
172
+ arize_phoenix-3.12.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
173
+ arize_phoenix-3.12.0.dist-info/RECORD,,
phoenix/server/app.py CHANGED
@@ -87,6 +87,7 @@ class HeadersMiddleware(BaseHTTPMiddleware):
87
87
  ) -> Response:
88
88
  response = await call_next(request)
89
89
  response.headers["x-colab-notebook-cache-control"] = "no-cache"
90
+ response.headers["Cache-Control"] = "no-store"
90
91
  return response
91
92
 
92
93
 
phoenix/trace/__init__.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import contextlib
2
2
  from typing import Iterator
3
3
 
4
+ from .projects import using_project
4
5
  from .span_evaluations import DocumentEvaluations, Evaluations, SpanEvaluations, TraceEvaluations
5
6
  from .trace_dataset import TraceDataset
6
7
 
@@ -10,6 +11,7 @@ __all__ = [
10
11
  "SpanEvaluations",
11
12
  "DocumentEvaluations",
12
13
  "TraceEvaluations",
14
+ "using_project",
13
15
  ]
14
16
 
15
17
 
@@ -0,0 +1,56 @@
1
+ import types
2
+ from typing import Any, Callable, Optional, Type
3
+
4
+ from openinference.semconv.resource import ResourceAttributes
5
+ from opentelemetry.sdk import trace
6
+ from opentelemetry.sdk.resources import Resource
7
+ from wrapt import wrap_function_wrapper
8
+
9
+
10
+ def project_override_wrapper(project_name: str) -> Callable[..., None]:
11
+ def wrapper(
12
+ wrapped: Any,
13
+ instance: "trace.ReadableSpan",
14
+ args: Any,
15
+ kwargs: Any,
16
+ ) -> None:
17
+ wrapped(*args, **kwargs)
18
+ instance._resource = Resource(
19
+ {
20
+ **instance._resource.attributes,
21
+ ResourceAttributes.PROJECT_NAME: project_name,
22
+ },
23
+ instance._resource.schema_url,
24
+ )
25
+
26
+ return wrapper
27
+
28
+
29
+ class using_project:
30
+ """
31
+ A context manager that switches the project for all spans created within the context.
32
+
33
+ This is useful for managing projects in notebook environments, however this should not be used
34
+ in production environments or complicated OpenTelemetry setups, as dynamically modifying the
35
+ span resource can lead to unexpected behavior.
36
+ """
37
+
38
+ def __init__(self, project_name: str) -> None:
39
+ self.project_name = project_name
40
+
41
+ def __enter__(self) -> None:
42
+ self.unwrapped_init: Optional[Callable[..., None]] = trace.ReadableSpan.__init__
43
+ wrap_function_wrapper(
44
+ module="opentelemetry.sdk.trace",
45
+ name="ReadableSpan.__init__",
46
+ wrapper=project_override_wrapper(self.project_name),
47
+ )
48
+
49
+ def __exit__(
50
+ self,
51
+ exc_type: Optional[Type[BaseException]],
52
+ exc_value: Optional[BaseException],
53
+ traceback: Optional[types.TracebackType],
54
+ ) -> None:
55
+ setattr(trace.ReadableSpan, "__init__", self.unwrapped_init)
56
+ self.unwrapped_init = None
phoenix/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "3.11.1"
1
+ __version__ = "3.12.0"