arize-phoenix 4.2.0__py3-none-any.whl → 4.2.2__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.3
2
2
  Name: arize-phoenix
3
- Version: 4.2.0
3
+ Version: 4.2.2
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
@@ -5,7 +5,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
5
5
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
6
  phoenix/services.py,sha256=haZUWKuxfI5lm0o61HgW_4B6RTBg9CUbXC8y92ZMsw4,5121
7
7
  phoenix/settings.py,sha256=cO-qgis_S27nHirTobYI9hHPfZH18R--WMmxNdsVUwc,273
8
- phoenix/version.py,sha256=pU56ZDjCDnUbINe39hYuKXHy9UI9Tf4xjWgnxBlxEDk,22
8
+ phoenix/version.py,sha256=MYYVMJ7T8BgXGMf3JVmERV6zor3Fs9pmD10PvRNtF9o,22
9
9
  phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
11
11
  phoenix/core/model.py,sha256=SBO8BZg_CeQuH5LrSgzlQfqMModzirkQePdhnbLw7dE,4756
@@ -47,17 +47,17 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
47
47
  phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
48
48
  phoenix/pointcloud/umap_parameters.py,sha256=lJsEOrbSuSiqI7g4Yt6xj7kgYxEqoep4ZHWLr6VWBqw,1760
49
49
  phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- phoenix/server/app.py,sha256=29S6klPWr27nfifyr63MpZ3mbq8pu-jwiqT_fTNqbS4,16247
50
+ phoenix/server/app.py,sha256=zsov7w_hjiXtr8js4nB3egSX1otDRBD2vEKz6b-GH1Y,16382
51
51
  phoenix/server/grpc_server.py,sha256=faktLxEtWGlCB1bPR4QwwTsRoQloahKMx0hAWqRGI5s,3379
52
52
  phoenix/server/main.py,sha256=chV26thMufLk96WZ1NqoxiXh_zF7hrnSM3fZjnjCTEw,10809
53
53
  phoenix/server/prometheus.py,sha256=j9DHB2fERuq_ZKmwVaqR-9wx5WcPPuU1Cm5Bhg5241Y,2996
54
54
  phoenix/server/telemetry.py,sha256=T_2OKrxNViAeaANlNspEekg_Y5uZIFWvKAnpz8Aoqvk,2762
55
55
  phoenix/server/thread_server.py,sha256=dP6cm6Cf08jNhDA1TRlVZpziu1YgtPDmaeIJMm725eI,2154
56
56
  phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- phoenix/server/api/context.py,sha256=ePwyJSxQh-IEO23KSy_fDwZnEA0NEG-XnFFScfrtn2c,1913
57
+ phoenix/server/api/context.py,sha256=dyqQ31LQf4WGiUmfoB_NZttsZ_x3--mVV_mIarKhP_o,1941
58
58
  phoenix/server/api/helpers.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
59
59
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
60
- phoenix/server/api/schema.py,sha256=qB9zSXHdjI6kJ-Nhy53bntwUleXmg5CkFSROMDuld9E,11605
60
+ phoenix/server/api/schema.py,sha256=E4QN0eoyhxsmXQSFkZlcv-Y4jPUkWE_st9QCjeLKwtQ,11729
61
61
  phoenix/server/api/dataloaders/__init__.py,sha256=nVAvmau7LniwcIvr4TTWWwt2ZeHP-AXXwo8tF83GZMQ,3810
62
62
  phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=dgAAlD0n8X6oAPLaD-czoefNkDqP338MouWsKaW8bOY,5684
63
63
  phoenix/server/api/dataloaders/document_evaluations.py,sha256=V-y8eyAA0sZpQTjHvmydbRENbkL_MmPJ8VMBFwLI7RM,1364
@@ -183,8 +183,8 @@ phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayU
183
183
  phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
184
184
  phoenix/utilities/project.py,sha256=qWsvKnG1oKhOFUowXf9qiOL2ia7jaFe_ijFFHEt8GJo,431
185
185
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
- arize_phoenix-4.2.0.dist-info/METADATA,sha256=QC253gQnkTiirFJP5l96uFIQNS9PrFo8yOMCfdybUw8,11148
187
- arize_phoenix-4.2.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
188
- arize_phoenix-4.2.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
189
- arize_phoenix-4.2.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
190
- arize_phoenix-4.2.0.dist-info/RECORD,,
186
+ arize_phoenix-4.2.2.dist-info/METADATA,sha256=aQfbjDY44pCgkgTTu1uEM7fSlOhNKXO6UPwcP2PhvGo,11148
187
+ arize_phoenix-4.2.2.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
188
+ arize_phoenix-4.2.2.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
189
+ arize_phoenix-4.2.2.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
190
+ arize_phoenix-4.2.2.dist-info/RECORD,,
@@ -55,3 +55,4 @@ class Context:
55
55
  export_path: Path
56
56
  corpus: Optional[Model] = None
57
57
  streaming_last_updated_at: Callable[[ProjectRowId], Optional[datetime]] = lambda _: None
58
+ read_only: bool = False
@@ -275,6 +275,8 @@ class Query:
275
275
  class Mutation(ExportEventsMutation):
276
276
  @strawberry.mutation
277
277
  async def delete_project(self, info: Info[Context, None], id: GlobalID) -> Query:
278
+ if info.context.read_only:
279
+ return Query()
278
280
  node_id = from_global_id_with_expected_type(str(id), "Project")
279
281
  async with info.context.db() as session:
280
282
  project = await session.scalar(
@@ -291,6 +293,8 @@ class Mutation(ExportEventsMutation):
291
293
 
292
294
  @strawberry.mutation
293
295
  async def clear_project(self, info: Info[Context, None], id: GlobalID) -> Query:
296
+ if info.context.read_only:
297
+ return Query()
294
298
  project_id = from_global_id_with_expected_type(str(id), "Project")
295
299
  delete_statement = delete(models.Trace).where(models.Trace.project_rowid == project_id)
296
300
  async with info.context.db() as session:
phoenix/server/app.py CHANGED
@@ -160,6 +160,7 @@ class GraphQLWithContext(GraphQL): # type: ignore
160
160
  corpus: Optional[Model] = None,
161
161
  streaming_last_updated_at: Callable[[ProjectRowId], Optional[datetime]] = lambda _: None,
162
162
  cache_for_dataloaders: Optional[CacheForDataLoaders] = None,
163
+ read_only: bool = False,
163
164
  ) -> None:
164
165
  self.db = db
165
166
  self.model = model
@@ -167,6 +168,7 @@ class GraphQLWithContext(GraphQL): # type: ignore
167
168
  self.export_path = export_path
168
169
  self.streaming_last_updated_at = streaming_last_updated_at
169
170
  self.cache_for_dataloaders = cache_for_dataloaders
171
+ self.read_only = read_only
170
172
  super().__init__(schema, graphiql=graphiql)
171
173
 
172
174
  async def get_context(
@@ -226,6 +228,7 @@ class GraphQLWithContext(GraphQL): # type: ignore
226
228
  trace_evaluations=TraceEvaluationsDataLoader(self.db),
227
229
  ),
228
230
  cache_for_dataloaders=self.cache_for_dataloaders,
231
+ read_only=self.read_only,
229
232
  )
230
233
 
231
234
 
@@ -388,6 +391,7 @@ def create_app(
388
391
  graphiql=True,
389
392
  streaming_last_updated_at=bulk_inserter.last_updated_at,
390
393
  cache_for_dataloaders=cache_for_dataloaders,
394
+ read_only=read_only,
391
395
  )
392
396
  if enable_prometheus:
393
397
  from phoenix.server.prometheus import PrometheusMiddleware
phoenix/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "4.2.0"
1
+ __version__ = "4.2.2"