arize-phoenix 4.4.4rc5__py3-none-any.whl → 4.5.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.

Files changed (118) hide show
  1. {arize_phoenix-4.4.4rc5.dist-info → arize_phoenix-4.5.0.dist-info}/METADATA +5 -5
  2. {arize_phoenix-4.4.4rc5.dist-info → arize_phoenix-4.5.0.dist-info}/RECORD +56 -117
  3. {arize_phoenix-4.4.4rc5.dist-info → arize_phoenix-4.5.0.dist-info}/WHEEL +1 -1
  4. phoenix/__init__.py +27 -0
  5. phoenix/config.py +7 -21
  6. phoenix/core/model.py +25 -25
  7. phoenix/core/model_schema.py +62 -64
  8. phoenix/core/model_schema_adapter.py +25 -27
  9. phoenix/db/bulk_inserter.py +14 -54
  10. phoenix/db/insertion/evaluation.py +6 -6
  11. phoenix/db/insertion/helpers.py +2 -13
  12. phoenix/db/migrations/versions/cf03bd6bae1d_init.py +28 -2
  13. phoenix/db/models.py +4 -236
  14. phoenix/inferences/fixtures.py +23 -23
  15. phoenix/inferences/inferences.py +7 -7
  16. phoenix/inferences/validation.py +1 -1
  17. phoenix/server/api/context.py +0 -18
  18. phoenix/server/api/dataloaders/__init__.py +0 -18
  19. phoenix/server/api/dataloaders/span_descendants.py +3 -2
  20. phoenix/server/api/routers/v1/__init__.py +2 -77
  21. phoenix/server/api/routers/v1/evaluations.py +2 -4
  22. phoenix/server/api/routers/v1/spans.py +1 -3
  23. phoenix/server/api/routers/v1/traces.py +4 -1
  24. phoenix/server/api/schema.py +303 -2
  25. phoenix/server/api/types/Cluster.py +19 -19
  26. phoenix/server/api/types/Dataset.py +63 -282
  27. phoenix/server/api/types/DatasetRole.py +23 -0
  28. phoenix/server/api/types/Dimension.py +29 -30
  29. phoenix/server/api/types/EmbeddingDimension.py +34 -40
  30. phoenix/server/api/types/Event.py +16 -16
  31. phoenix/server/api/{mutations/export_events_mutations.py → types/ExportEventsMutation.py} +14 -17
  32. phoenix/server/api/types/Model.py +42 -43
  33. phoenix/server/api/types/Project.py +12 -26
  34. phoenix/server/api/types/Span.py +2 -79
  35. phoenix/server/api/types/TimeSeries.py +6 -6
  36. phoenix/server/api/types/Trace.py +4 -15
  37. phoenix/server/api/types/UMAPPoints.py +1 -1
  38. phoenix/server/api/types/node.py +111 -5
  39. phoenix/server/api/types/pagination.py +52 -10
  40. phoenix/server/app.py +49 -101
  41. phoenix/server/main.py +27 -49
  42. phoenix/server/openapi/docs.py +0 -3
  43. phoenix/server/static/index.js +2595 -3523
  44. phoenix/server/templates/index.html +0 -1
  45. phoenix/services.py +15 -15
  46. phoenix/session/client.py +21 -438
  47. phoenix/session/session.py +37 -47
  48. phoenix/trace/exporter.py +9 -14
  49. phoenix/trace/fixtures.py +7 -133
  50. phoenix/trace/schemas.py +2 -1
  51. phoenix/trace/span_evaluations.py +3 -3
  52. phoenix/trace/trace_dataset.py +6 -6
  53. phoenix/version.py +1 -1
  54. phoenix/datasets/__init__.py +0 -0
  55. phoenix/datasets/evaluators/__init__.py +0 -18
  56. phoenix/datasets/evaluators/code_evaluators.py +0 -99
  57. phoenix/datasets/evaluators/llm_evaluators.py +0 -244
  58. phoenix/datasets/evaluators/utils.py +0 -292
  59. phoenix/datasets/experiments.py +0 -550
  60. phoenix/datasets/tracing.py +0 -85
  61. phoenix/datasets/types.py +0 -178
  62. phoenix/db/insertion/dataset.py +0 -237
  63. phoenix/db/migrations/types.py +0 -29
  64. phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -291
  65. phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -100
  66. phoenix/server/api/dataloaders/dataset_example_spans.py +0 -43
  67. phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -85
  68. phoenix/server/api/dataloaders/experiment_error_rates.py +0 -43
  69. phoenix/server/api/dataloaders/experiment_run_counts.py +0 -42
  70. phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -49
  71. phoenix/server/api/dataloaders/project_by_name.py +0 -31
  72. phoenix/server/api/dataloaders/span_projects.py +0 -33
  73. phoenix/server/api/dataloaders/trace_row_ids.py +0 -39
  74. phoenix/server/api/helpers/dataset_helpers.py +0 -179
  75. phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -16
  76. phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -14
  77. phoenix/server/api/input_types/ClearProjectInput.py +0 -15
  78. phoenix/server/api/input_types/CreateDatasetInput.py +0 -12
  79. phoenix/server/api/input_types/DatasetExampleInput.py +0 -14
  80. phoenix/server/api/input_types/DatasetSort.py +0 -17
  81. phoenix/server/api/input_types/DatasetVersionSort.py +0 -16
  82. phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -13
  83. phoenix/server/api/input_types/DeleteDatasetInput.py +0 -7
  84. phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -9
  85. phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -35
  86. phoenix/server/api/input_types/PatchDatasetInput.py +0 -14
  87. phoenix/server/api/mutations/__init__.py +0 -13
  88. phoenix/server/api/mutations/auth.py +0 -11
  89. phoenix/server/api/mutations/dataset_mutations.py +0 -520
  90. phoenix/server/api/mutations/experiment_mutations.py +0 -65
  91. phoenix/server/api/mutations/project_mutations.py +0 -47
  92. phoenix/server/api/openapi/__init__.py +0 -0
  93. phoenix/server/api/openapi/main.py +0 -6
  94. phoenix/server/api/openapi/schema.py +0 -16
  95. phoenix/server/api/queries.py +0 -503
  96. phoenix/server/api/routers/v1/dataset_examples.py +0 -178
  97. phoenix/server/api/routers/v1/datasets.py +0 -965
  98. phoenix/server/api/routers/v1/experiment_evaluations.py +0 -66
  99. phoenix/server/api/routers/v1/experiment_runs.py +0 -108
  100. phoenix/server/api/routers/v1/experiments.py +0 -174
  101. phoenix/server/api/types/AnnotatorKind.py +0 -10
  102. phoenix/server/api/types/CreateDatasetPayload.py +0 -8
  103. phoenix/server/api/types/DatasetExample.py +0 -85
  104. phoenix/server/api/types/DatasetExampleRevision.py +0 -34
  105. phoenix/server/api/types/DatasetVersion.py +0 -14
  106. phoenix/server/api/types/ExampleRevisionInterface.py +0 -14
  107. phoenix/server/api/types/Experiment.py +0 -140
  108. phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -13
  109. phoenix/server/api/types/ExperimentComparison.py +0 -19
  110. phoenix/server/api/types/ExperimentRun.py +0 -91
  111. phoenix/server/api/types/ExperimentRunAnnotation.py +0 -57
  112. phoenix/server/api/types/Inferences.py +0 -80
  113. phoenix/server/api/types/InferencesRole.py +0 -23
  114. phoenix/utilities/json.py +0 -61
  115. phoenix/utilities/re.py +0 -50
  116. {arize_phoenix-4.4.4rc5.dist-info → arize_phoenix-4.5.0.dist-info}/licenses/IP_NOTICE +0 -0
  117. {arize_phoenix-4.4.4rc5.dist-info → arize_phoenix-4.5.0.dist-info}/licenses/LICENSE +0 -0
  118. /phoenix/server/api/{helpers/__init__.py → helpers.py} +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 4.4.4rc5
3
+ Version: 4.5.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
@@ -20,18 +20,16 @@ Requires-Python: <3.13,>=3.8
20
20
  Requires-Dist: aioitertools
21
21
  Requires-Dist: aiosqlite
22
22
  Requires-Dist: alembic<2,>=1.3.0
23
- Requires-Dist: arize-phoenix-evals>=0.3.0
24
23
  Requires-Dist: cachetools
25
24
  Requires-Dist: grpcio
26
25
  Requires-Dist: hdbscan>=0.8.33
27
- Requires-Dist: httpx
28
26
  Requires-Dist: jinja2
29
27
  Requires-Dist: numpy<2
30
28
  Requires-Dist: openinference-instrumentation
31
29
  Requires-Dist: openinference-instrumentation-langchain>=0.1.12
32
30
  Requires-Dist: openinference-instrumentation-llama-index>=1.2.0
33
31
  Requires-Dist: openinference-instrumentation-openai>=0.1.4
34
- Requires-Dist: openinference-semantic-conventions>=0.1.9
32
+ Requires-Dist: openinference-semantic-conventions>=0.1.5
35
33
  Requires-Dist: opentelemetry-exporter-otlp
36
34
  Requires-Dist: opentelemetry-proto>=1.12.0
37
35
  Requires-Dist: opentelemetry-sdk
@@ -40,7 +38,7 @@ Requires-Dist: pandas
40
38
  Requires-Dist: protobuf<6.0,>=3.20
41
39
  Requires-Dist: psutil
42
40
  Requires-Dist: pyarrow
43
- Requires-Dist: python-multipart
41
+ Requires-Dist: requests
44
42
  Requires-Dist: scikit-learn
45
43
  Requires-Dist: scipy
46
44
  Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
@@ -89,7 +87,9 @@ Requires-Dist: pytest==8.2.2; extra == 'dev'
89
87
  Requires-Dist: ruff==0.4.9; extra == 'dev'
90
88
  Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.235.0; extra == 'dev'
91
89
  Provides-Extra: evals
90
+ Requires-Dist: arize-phoenix-evals>=0.3.0; extra == 'evals'
92
91
  Provides-Extra: experimental
92
+ Requires-Dist: tenacity; extra == 'experimental'
93
93
  Provides-Extra: llama-index
94
94
  Requires-Dist: llama-index==0.10.44; extra == 'llama-index'
95
95
  Provides-Extra: pg
@@ -1,49 +1,38 @@
1
- phoenix/__init__.py,sha256=JMXBf8J0tAa5ycWDIn8QWYgQu6H2vL77RC4lful-YH8,1542
2
- phoenix/config.py,sha256=9xkQBn_Z-tsQct-zq0B80N4Xa2k2jfhivdc_qYCA5G8,7618
1
+ phoenix/__init__.py,sha256=NyJ6xQhGeEdbHVA72gbQlGo3WElzQxmpQBSME-CZNZI,2389
2
+ phoenix/config.py,sha256=ZGzdeE_1IJe_WFyRY7hxFbNNtHbZATk2b1pWUxpcTxk,7155
3
3
  phoenix/datetime_utils.py,sha256=oqkxJ5I7ggrCKYTEi8q-akC501calylD26NVOPQQcHw,3305
4
4
  phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
5
5
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
- phoenix/services.py,sha256=aTxhcOA1pZHB6U-B3TEcp6fqDF5oT0xCUvEUNMZVTUQ,5175
6
+ phoenix/services.py,sha256=haZUWKuxfI5lm0o61HgW_4B6RTBg9CUbXC8y92ZMsw4,5121
7
7
  phoenix/settings.py,sha256=cO-qgis_S27nHirTobYI9hHPfZH18R--WMmxNdsVUwc,273
8
- phoenix/version.py,sha256=-Vg_bLotyeJdv0gFqG5-A64nsG-6AR0xZSp3sDDsV_w,25
8
+ phoenix/version.py,sha256=kasr7b-vOsk9-oG-TlLAfGiJiloadombYp2VxAPe1ck,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
- phoenix/core/model.py,sha256=km_a--PBHOuA337ClRw9xqhOHhrUT6Rl9pz_zV0JYkQ,4843
12
- phoenix/core/model_schema.py,sha256=F2dbbVnkDLsPYoyZDv1q03uhvP8LcU1wXp0g-exiWs0,50551
13
- phoenix/core/model_schema_adapter.py,sha256=0Tm_Y_gV-WED8fKBCaFXAEFwE3CTEZS1dowqnTZ7x7g,8426
14
- phoenix/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- phoenix/datasets/experiments.py,sha256=RzZezHQcTpPcr7gY9rGtoYlfoesFNhNV7EO5f_oHNFk,21198
16
- phoenix/datasets/tracing.py,sha256=wVpt8Ie9WNPoi1djJdcrkwCokHdTO0bicXViLg3O-1Y,2831
17
- phoenix/datasets/types.py,sha256=N17mnnVwmu1k3bnmbyROPt_6TxPaZY_QkOZmCOR5_jE,4835
18
- phoenix/datasets/evaluators/__init__.py,sha256=KSr9fNG4O93swYxNdPj_UihP9Itl_5mj0a492wi_4_0,465
19
- phoenix/datasets/evaluators/code_evaluators.py,sha256=DdCcAi274t_TLs_aARd-GmWWpJrxVeNEAegMFEAfe0E,3894
20
- phoenix/datasets/evaluators/llm_evaluators.py,sha256=aVfAHOWhskBiy0IVeq_ACTs7B37uXTTtDoNBS0XenIc,9165
21
- phoenix/datasets/evaluators/utils.py,sha256=S7OGrb1sBWg5l9K35X29OKJe5wZ3k7xMhxJBclzxta0,10452
11
+ phoenix/core/model.py,sha256=SBO8BZg_CeQuH5LrSgzlQfqMModzirkQePdhnbLw7dE,4756
12
+ phoenix/core/model_schema.py,sha256=b8cGsYc6l_6nRQxGaiHraoMgE9NwW19rA3-GEfJ2byI,50259
13
+ phoenix/core/model_schema_adapter.py,sha256=aFvNtpI01sdaLoKvEvcsx51vP5_6anP0_g9idcJNaCI,8287
22
14
  phoenix/db/README.md,sha256=IvKaZyf9ECbGBYYePaRhBveKZwDbxAc-c7BMxJYZh6Q,595
23
15
  phoenix/db/__init__.py,sha256=pDjEFXukHmJBM-1D8RjmXkvLsz85YWNxMQczt81ec3A,118
24
16
  phoenix/db/alembic.ini,sha256=p8DjVqGUs_tTx8oU56JP7qj-rMUebNFizItUSv_hPhs,3763
25
- phoenix/db/bulk_inserter.py,sha256=zbZGWZFDybKaGLGzpxgLwxAS5sC0_wXcvM0be4kUhh8,11286
17
+ phoenix/db/bulk_inserter.py,sha256=jubepj2a40jFy95NB8UFznpkFnlRRwB-iOXZ6DS0au8,9493
26
18
  phoenix/db/engines.py,sha256=vLWaZlToMtDI7rJDxSidYkfOoojamxaZxaz8ND3zTus,4770
27
19
  phoenix/db/helpers.py,sha256=L2_jP1iIWpUREhKLYYb4_vf_6v_BiU1E73Z2PczGm6s,1589
28
20
  phoenix/db/migrate.py,sha256=MuhtNWnR24riROvarvKfbRb4_D5xuQi6P760vBUKl1E,2270
29
- phoenix/db/models.py,sha256=lYzI3tCDUl8njXb3Vf3R8e6y56-MErprjjfBE-o9Kao,20419
21
+ phoenix/db/models.py,sha256=0TMbI69xOcW2a1uWLmwTDANSSoOvuFcBczbrjNSh3Cw,12240
30
22
  phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- phoenix/db/insertion/dataset.py,sha256=_vxy5e6W5jEuvO2fMKbbNCn9JvHkwI4LRKk_10eKFVg,7171
32
- phoenix/db/insertion/evaluation.py,sha256=fAerUy3QGf2wID_tiVmPvzxBDFGiONPl3pmpZDgJDWQ,7183
33
- phoenix/db/insertion/helpers.py,sha256=7tf6qQyJ05nn3IXaZEpj2b4Jz5boGLWT8tzlMaJ9tQY,2337
23
+ phoenix/db/insertion/evaluation.py,sha256=nvKXGWv0XD23G3ISw2u9_SqbwtGaB0Vd63wL59nPlCA,7189
24
+ phoenix/db/insertion/helpers.py,sha256=2oBbzwx_Q0JJ9WlvbGl_a8hWySHyGhzbMNv-SHtcM-4,2022
34
25
  phoenix/db/insertion/span.py,sha256=DNBjSrx5g2W5KuTB1dkHwtkb0SFnMIxN1jB-BAdGKFY,5634
35
26
  phoenix/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
27
  phoenix/db/migrations/env.py,sha256=QbzB5zrRs6XQQmrYeUpuzeilcMlM-MsbaAgHHYcIHTI,3626
37
28
  phoenix/db/migrations/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
38
- phoenix/db/migrations/types.py,sha256=Frq1AKSyBKQQ0FLzON-EmgTqE4kNkOpHMsbWnI-WgCE,605
39
- phoenix/db/migrations/versions/10460e46d750_datasets.py,sha256=l69yZfScFrjfZZpY0gnqwhsDUEctLeo02qMgA_aOGDg,8155
40
- phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=CbWT3ZTR0CZqeT3zWLoTWhboFmnOy3Ju1z6Ztpq8WIM,8122
29
+ phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=I0st_gylN4giqNNw9AXUf37Zs6dF692ReW7cTfufgdU,8662
41
30
  phoenix/inferences/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
31
  phoenix/inferences/errors.py,sha256=cGp9vxnw4SewFoWBV3ZGMkhE0Kh73lPIv3Ppz_H_RoA,8261
43
- phoenix/inferences/fixtures.py,sha256=FC2eRL4dpobKQHYOilFtDexUWFkMZ_w6jun_4WkbMk0,20792
44
- phoenix/inferences/inferences.py,sha256=YVZ56vZXgV0gVrDhFxcaPlawoDm5cFm2GQpaPkbZE-4,30718
32
+ phoenix/inferences/fixtures.py,sha256=bEfvBixW56jje2Mrt4TH88V3N6K84XJX1HNFBZTh8PQ,20711
33
+ phoenix/inferences/inferences.py,sha256=6vtHq0exSQqy3IVGqvbgOPKfYMbgFgwmNG5YyZDsNuI,30694
45
34
  phoenix/inferences/schema.py,sha256=UYej9IJ6pFeNW3fq721kJy16ONso_xVDm78Q68G4hl4,6643
46
- phoenix/inferences/validation.py,sha256=fdmbsjUBwtacRiVFdh9aem-QrgPfq_OlEmPdascWluc,8297
35
+ phoenix/inferences/validation.py,sha256=dZ9lCFUV0EY7HCkQkQBrs-GLAEIZdpOqUxwD5l4dp88,8294
47
36
  phoenix/metrics/README.md,sha256=5gekqTU-5gGdMwvcfNp2Wlu8p1ul9kGY_jq0XXQusoI,1964
48
37
  phoenix/metrics/__init__.py,sha256=W8lVORvjBo66pFgUmU9P8Fi8i4yI75wOPkhU42sfeQU,2417
49
38
  phoenix/metrics/binning.py,sha256=jDd7YcyEhptCp3zWcH6tfyq87vJ3c8L50ocSuxgPAoQ,12739
@@ -58,137 +47,89 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
58
47
  phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
59
48
  phoenix/pointcloud/umap_parameters.py,sha256=lJsEOrbSuSiqI7g4Yt6xj7kgYxEqoep4ZHWLr6VWBqw,1760
60
49
  phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- phoenix/server/app.py,sha256=LQrHWt5HG_pWqnR9Ozb3-vnAGiiRGuZ3uV_9-886Yxw,18340
50
+ phoenix/server/app.py,sha256=zsov7w_hjiXtr8js4nB3egSX1otDRBD2vEKz6b-GH1Y,16382
62
51
  phoenix/server/grpc_server.py,sha256=faktLxEtWGlCB1bPR4QwwTsRoQloahKMx0hAWqRGI5s,3379
63
- phoenix/server/main.py,sha256=mtzH_2Kyvuy3AHiiKfqiCdUQ6SGFzeT4q9fefbV6GLg,11114
52
+ phoenix/server/main.py,sha256=6XhQhpmvuneIKXwVJFfMQFuqdPgyQCL5W0QzK2cZsrI,10330
64
53
  phoenix/server/prometheus.py,sha256=j9DHB2fERuq_ZKmwVaqR-9wx5WcPPuU1Cm5Bhg5241Y,2996
65
54
  phoenix/server/telemetry.py,sha256=T_2OKrxNViAeaANlNspEekg_Y5uZIFWvKAnpz8Aoqvk,2762
66
55
  phoenix/server/thread_server.py,sha256=dP6cm6Cf08jNhDA1TRlVZpziu1YgtPDmaeIJMm725eI,2154
67
56
  phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- phoenix/server/api/context.py,sha256=jb69SVdb5hpVbfM4U0pZi4sGa2a-0VKOJWcBjjS7l4s,2761
57
+ phoenix/server/api/context.py,sha256=dyqQ31LQf4WGiUmfoB_NZttsZ_x3--mVV_mIarKhP_o,1941
58
+ phoenix/server/api/helpers.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
69
59
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
70
- phoenix/server/api/queries.py,sha256=wp5BlapuxDIoaQJm7mzG0dURfVxR32vXSJVC0JqG4_Y,19845
71
- phoenix/server/api/schema.py,sha256=BcxdqO5CSGqpKd-AAJHMjFlzaK9oJA8GJuxmMfcdjn4,434
72
- phoenix/server/api/dataloaders/__init__.py,sha256=urbG3M-k2cpj2ymMLYQ28tzIXAG1edECxM-tJ22ylqE,4720
73
- phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=Vpr5IEKSR4QnAVxE5NM7u92fPNgeHQV2ieYc6JakCj0,3788
74
- phoenix/server/api/dataloaders/dataset_example_spans.py,sha256=_jLlo0KdUS65d4PNTtE9aXVyG_NZWgA7VcpNC9udQ8U,1484
60
+ phoenix/server/api/schema.py,sha256=E4QN0eoyhxsmXQSFkZlcv-Y4jPUkWE_st9QCjeLKwtQ,11729
61
+ phoenix/server/api/dataloaders/__init__.py,sha256=nVAvmau7LniwcIvr4TTWWwt2ZeHP-AXXwo8tF83GZMQ,3810
75
62
  phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=dgAAlD0n8X6oAPLaD-czoefNkDqP338MouWsKaW8bOY,5684
76
63
  phoenix/server/api/dataloaders/document_evaluations.py,sha256=V-y8eyAA0sZpQTjHvmydbRENbkL_MmPJ8VMBFwLI7RM,1364
77
64
  phoenix/server/api/dataloaders/document_retrieval_metrics.py,sha256=8tZYMNLZ7zxUmyTHHZRUTZTumvw6lK2tYOpFbATIPdI,4270
78
65
  phoenix/server/api/dataloaders/evaluation_summaries.py,sha256=z9aal3IQL_t30aNqpAS7x4tjq0xNkuEG8dWW-bhqZmo,5724
79
- phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=RsQ-o84kWVTYgIlh9VKkyw2kDMWIlHCRpS7RE2aw9vs,2881
80
- phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=EHlTdZi8F94vo-qJUcnnXFvuSh_d0fTT0Xg4SfW_A70,1397
81
- phoenix/server/api/dataloaders/experiment_run_counts.py,sha256=wxHv08aZELJ91KTjHdt_x33M3wGDDa9GfbFHeRyOyGk,1343
82
- phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=Va1KuoHOd-wzvrlKykoV4kLRFW4JsJvGp_DUI4HYZX4,1631
83
66
  phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=pEc7QjB2iiNOQm_Fmo99F5O_DKOJWgGmcnT0OADJzYE,7423
84
67
  phoenix/server/api/dataloaders/min_start_or_max_end_times.py,sha256=IoFX5PtSpvQdMk_7-oB8TpIse3Q4PMxep4qKggkHpzo,2902
85
- phoenix/server/api/dataloaders/project_by_name.py,sha256=ziYp8fZGy2duD-f_oTqNLwbrGmBQFesqlTEHBDMtZlw,1170
86
68
  phoenix/server/api/dataloaders/record_counts.py,sha256=mp3KlhwFw-Iy7o6bFxtJKC6B5kGinPIh5PxxNkrxf8o,4283
87
- phoenix/server/api/dataloaders/span_descendants.py,sha256=djqXXwupWaXkFdscoy-iILYijuxlqr8hJcv6JawsV6s,2162
69
+ phoenix/server/api/dataloaders/span_descendants.py,sha256=oxan-AjoHfEt9y2cBk-P6kSKCOOlkvSzpXrrXwGvq6s,2153
88
70
  phoenix/server/api/dataloaders/span_evaluations.py,sha256=quXGyj_OYvHrcWfzXlYIv7C1OCZiL1K7cWU-YEAlsNA,1316
89
- phoenix/server/api/dataloaders/span_projects.py,sha256=KV--NTLpdXyFUGYN69KHeVVHDBJR2oupo1cgLvqK6Ko,1304
90
71
  phoenix/server/api/dataloaders/token_counts.py,sha256=1t3jAyrxRCce6XLcn_9ymiQtVBh7r5x0A01yE6Ren4s,5015
91
72
  phoenix/server/api/dataloaders/trace_evaluations.py,sha256=kmo2llOAXQ7iPtCLSFr8g_I7KHH6hwarASiPNWq2ZEg,1330
92
- phoenix/server/api/dataloaders/trace_row_ids.py,sha256=yAWuVFWUjDdmmwfXsGs_l6LuGl0ihMRm5FS-TueSzTY,1168
93
73
  phoenix/server/api/dataloaders/cache/__init__.py,sha256=SYoOM9n8FJaMdQarma5d1blu-jIg2GB8Shqg5ezSzZ8,106
94
74
  phoenix/server/api/dataloaders/cache/two_tier_cache.py,sha256=I38L1RsOis98OQftE7n1Q9QBZfFJO6OW_qIINkuJllo,2295
95
- phoenix/server/api/helpers/__init__.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
96
- phoenix/server/api/helpers/dataset_helpers.py,sha256=A6UzEyAb4gFtyc_AV63_yl9OpN0vn8Vw1BBCTNjg9J0,6875
97
- phoenix/server/api/input_types/AddExamplesToDatasetInput.py,sha256=ZGXMV0H3DYHi4DdqGhejDzaWdFinyem1Mc8DVA7iCh0,436
98
- phoenix/server/api/input_types/AddSpansToDatasetInput.py,sha256=C4oZ0WqYqca1kleNOCMIM2_aY6Qnc5n1xXG51_C1V0w,368
99
- phoenix/server/api/input_types/ClearProjectInput.py,sha256=cpPFRyQ3ffy2dLbCZgYpway-mCzhdm4QqnUg8caOBfQ,382
100
75
  phoenix/server/api/input_types/ClusterInput.py,sha256=EL4ftvZxQ8mVdruUPcdhMhByORmSmM8S-X6RPqU6GX0,179
101
76
  phoenix/server/api/input_types/Coordinates.py,sha256=meTwbIjwTfqx5DGD2DBlH9wQzdQVNM5a8x9dp1FfIgA,173
102
- phoenix/server/api/input_types/CreateDatasetInput.py,sha256=Q3MwouIx9jTQBRWDju75iMQXEGJCrL4aD4ESQp771nc,248
103
77
  phoenix/server/api/input_types/DataQualityMetricInput.py,sha256=LazvmQCCM5m9SDZTpyxQXO1rYF4cmsc3lsR2S9S65X4,1292
104
- phoenix/server/api/input_types/DatasetExampleInput.py,sha256=9oJ6pCFxFd02IWJuK4YAUvz-jCgFGDUCDDb2--GAzCw,289
105
- phoenix/server/api/input_types/DatasetSort.py,sha256=KDKjx5L8WFNwx7O-g1pDzCMMwY-ErgDd1_HkkZBAvCY,333
106
- phoenix/server/api/input_types/DatasetVersionSort.py,sha256=w9HyP9rQKsZGiGc2f33ZNmiO9g7FN8r77T7GA85kb40,344
107
- phoenix/server/api/input_types/DeleteDatasetExamplesInput.py,sha256=Pfod1r5BJISRG9w_eu9jFeEhNu2XYfcvlhxQ5HWdHAw,350
108
- phoenix/server/api/input_types/DeleteDatasetInput.py,sha256=p7xjCyWnVCIXHnezmDiWhMq-DHcGv7ucp_O7s8fsiKE,127
109
- phoenix/server/api/input_types/DeleteExperimentsInput.py,sha256=yUbwMckIBvIL-R9t8K9c3qTWciAXt3Uv_Tio3K2e1uw,166
110
78
  phoenix/server/api/input_types/DimensionFilter.py,sha256=vcXgglSnZcB5pGh-6oEtRmGx95hISgFUR7BEPw01g7U,3143
111
79
  phoenix/server/api/input_types/DimensionInput.py,sha256=Vfx5FmiMKey4-EHDQsQRPzSAMRJMN5oVMLDUl4NKAa8,164
112
80
  phoenix/server/api/input_types/Granularity.py,sha256=6SVfZ5yTZYq1PI6vdpjfkBUc4YilLSkF-k6okuSNbbQ,2301
113
- phoenix/server/api/input_types/PatchDatasetExamplesInput.py,sha256=E86aBGXDBC83jiEGwV5rilnoeQf6eqCfZ0aAVeIt2VI,890
114
- phoenix/server/api/input_types/PatchDatasetInput.py,sha256=OURtTVY8Z_oFEDtKwT1LCMaOK5D4QYo5TVQ6mDrex-g,328
115
81
  phoenix/server/api/input_types/PerformanceMetricInput.py,sha256=fElsLTSEYYgGFGMYTEGcYid39tXUKFdV_JkdHavMcbA,591
116
82
  phoenix/server/api/input_types/SpanSort.py,sha256=BqV0DjI4m3RKFbzsHN47XNhJfFmErFIYg64c8EJAVMo,6312
117
83
  phoenix/server/api/input_types/TimeRange.py,sha256=yzx-gxj8mDeGLft1FzU_x1MVEgIG5Pt6-f8PUVDgipQ,522
118
84
  phoenix/server/api/input_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
- phoenix/server/api/mutations/__init__.py,sha256=Jcz-pM6SklhEGKcjA7AIB2WJXGhnxGsghrIq131kyDo,502
120
- phoenix/server/api/mutations/auth.py,sha256=vPRFoj7J6PV6QeODewG4K0PhoOebS5AfMRpbi_wuhyQ,311
121
- phoenix/server/api/mutations/dataset_mutations.py,sha256=Zp2sFWyGyubILUQboR6bafRWafsfeRO2ffUWnkLlfgI,22532
122
- phoenix/server/api/mutations/experiment_mutations.py,sha256=Fw_yEdITGJ6A33M5JZ-2YnBTDoBqZUUFON6vy8JoVjE,2569
123
- phoenix/server/api/mutations/export_events_mutations.py,sha256=t_wYBxaqvBJYRoHslh3Bmoxmwlzoy0u8SsBKWIKN5hE,4028
124
- phoenix/server/api/mutations/project_mutations.py,sha256=3SVDCZqxB0Iv60cOwBL8c-rY3QUUPs8PXbp-C_K1mWY,2267
125
- phoenix/server/api/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- phoenix/server/api/openapi/main.py,sha256=WY0pj3B7siQyyYqKyhqnzWC7P8MtEtiukOBUjGwLXfw,153
127
- phoenix/server/api/openapi/schema.py,sha256=uuSYe1Ecu72aXRgTNjyMu-9ZPE13DAHJPKtedS-MsSs,451
128
85
  phoenix/server/api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
86
  phoenix/server/api/routers/utils.py,sha256=M41BoH-fl37izhRuN2aX7lWm7jOC20A_3uClv9TVUUY,583
130
- phoenix/server/api/routers/v1/__init__.py,sha256=B5eSaylPI7MoYia1-VgKrU8rDi-69r_hRwPU5yMLUTE,2808
131
- phoenix/server/api/routers/v1/dataset_examples.py,sha256=wtplRUv2ee9xGTrcEMgTn-7L4NX_73IcwUXkCMZEFc4,6726
132
- phoenix/server/api/routers/v1/datasets.py,sha256=ws2Guou9mspwFx3-cBFZoD2VuTwWGoFZmtt2Sr3zg6k,31516
133
- phoenix/server/api/routers/v1/evaluations.py,sha256=rwSVg-rpujhsMcDVFt-VAr0Ix9TgvLcY_bSxeh8PzJI,9241
134
- phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=xhrkPUc_4ncIBm24aUyzu47UU0CN1tGlbisn-oLqt_Y,2702
135
- phoenix/server/api/routers/v1/experiment_runs.py,sha256=0AUNHA5nvpGDeoJUGK8VxP2TFN3iPwhMW3D9QmHstPk,4399
136
- phoenix/server/api/routers/v1/experiments.py,sha256=5Rh7q6sHswmk11PZSJ7KMrtqfIE16X_xSKkKSASK9-I,7251
137
- phoenix/server/api/routers/v1/spans.py,sha256=FEnmlRPBPl71BSGNBuPrz14fk8nmxJQYsKECdDbdUdw,3977
138
- phoenix/server/api/routers/v1/traces.py,sha256=dYEf5pThenAQCgfQljHdrnwd4tC_tAXm6Kvk6GphPYs,2774
139
- phoenix/server/api/types/AnnotatorKind.py,sha256=UmYb2KG0JfxdX0mW1qrXrUoIgjMOncRJr1i8mJki1sE,141
140
- phoenix/server/api/types/Cluster.py,sha256=ac4YfT1OH3xLVmex7EUmB6b9IpULnhLTt554LR0jglE,5689
141
- phoenix/server/api/types/CreateDatasetPayload.py,sha256=R-6zCmuD0f76RU9Giu78xwTHlASQs6Aq8yzvX1Kxc3g,140
87
+ phoenix/server/api/routers/v1/__init__.py,sha256=uYzxJaI3XH6LNi9QaxoysvH9WDcTxcvP9GFghGa550I,447
88
+ phoenix/server/api/routers/v1/evaluations.py,sha256=DXAGpRvZicgROavqCogqEzoSi1V-__lYtre_KU1rCWc,9207
89
+ phoenix/server/api/routers/v1/spans.py,sha256=u2yDMxQF1Ou2A50dkNHYZfer939xsn2QJMAM8S8ICwY,3933
90
+ phoenix/server/api/routers/v1/traces.py,sha256=rrE4QMSAda1yw0s50YV1tW7GaM3phplY_tO8xd23HCY,2889
91
+ phoenix/server/api/types/Cluster.py,sha256=R08ZKrLl1KK8colxHU57N5XIOTMUwg5ZI50ofPoxxSM,5618
142
92
  phoenix/server/api/types/DataQualityMetric.py,sha256=zRKsNvHBu-NdcsunuLhqFpZhi6ks-HMqA1PJD27jTak,590
143
- phoenix/server/api/types/Dataset.py,sha256=zHxWuteqBA2dgO9BsCTpSaUTzrvTs4z9uRwaTCEi8eg,11470
144
- phoenix/server/api/types/DatasetExample.py,sha256=5f7DO6jRec1G5jaJW5FrykFU9R07jDn8jxDkNbQX0Ek,3107
145
- phoenix/server/api/types/DatasetExampleRevision.py,sha256=c-jWR6dTguEZTm54IMlFr0Ic84I3nefyDnZb7nF5hnI,874
93
+ phoenix/server/api/types/Dataset.py,sha256=nQVtXltVfoKeccAQ5IHD_k1t5mCe8eIjD0nG-LZlhTk,3341
94
+ phoenix/server/api/types/DatasetRole.py,sha256=UA8ecelVWfa9BVi--4A9fGhKFQ-jAaNHm7H5BpmZBPw,564
146
95
  phoenix/server/api/types/DatasetValues.py,sha256=7VbCOLlzOXpZN80-zYF2UGuafRcPsZF-8WQNc0YsKFc,1119
147
- phoenix/server/api/types/DatasetVersion.py,sha256=NnDriqQUE20N_Jhyu3-IxHWJQE9wmdHEJIQAKyTVJpo,302
148
- phoenix/server/api/types/Dimension.py,sha256=k_yt4uDf14bgnUruyj8xlHlkIeMrVrUj-HGtrZEuGkw,10338
96
+ phoenix/server/api/types/Dimension.py,sha256=IAS7Q7TkpbGqr1Vie4gJyi9SrYMK2L5mZwjYvpDQnQU,10198
149
97
  phoenix/server/api/types/DimensionDataType.py,sha256=o0QQRpUzgXbhd10drR2LthxrjB8klQcELrIvsbp4l_g,441
150
98
  phoenix/server/api/types/DimensionShape.py,sha256=LNsRt3Uyx1OmwMa5EXk1JGRXPLVV2EEgYXz-6wnLJn4,562
151
99
  phoenix/server/api/types/DimensionType.py,sha256=JLikZUBVqbHlUWcYYd8d60gB1_hmAcuFuZZsjCXpIwc,801
152
100
  phoenix/server/api/types/DimensionWithValue.py,sha256=4_koirnDrZBBdFkIWka2f-OeqZ6IzQXwqz3ccjdgHrc,484
153
101
  phoenix/server/api/types/DocumentEvaluationSummary.py,sha256=EpgKn0uiH2Vbpyltc1MeoWOZjzbRuHkPCZ2Zkoqfni8,3480
154
102
  phoenix/server/api/types/DocumentRetrievalMetrics.py,sha256=amkpC3H5IU5-9GvO0telpbq00m6lIcv_2v446OpwFwc,1822
155
- phoenix/server/api/types/EmbeddingDimension.py,sha256=2OTVzAcfY-2xnJLl7122EAaqJyp0sob1v9-ryaNWknw,18961
103
+ phoenix/server/api/types/EmbeddingDimension.py,sha256=GHGpx4D9TSpcdaQ7FMmKMtCu2MVIv-yTRQq9mQfe5_o,18678
156
104
  phoenix/server/api/types/EmbeddingMetadata.py,sha256=fJvNNYCbkf3SJalArLy9rcBq9Uj1SNac60zjqe1PFnM,461
157
105
  phoenix/server/api/types/Evaluation.py,sha256=pSoaJH8-WzPvmZKn5fButzkXSN3Rvuq9GJ7g9H1aaaU,3997
158
106
  phoenix/server/api/types/EvaluationSummary.py,sha256=EFucuzAhcxR9sdEn6WNAtmAGJk-QR_3j3y7Mn2A9_bU,1528
159
- phoenix/server/api/types/Event.py,sha256=XdYgaIxcVIW-YFViCkxj5l9OaVNepyIrCtm5Iqg2le8,3989
107
+ phoenix/server/api/types/Event.py,sha256=5ohMNtXxE7Oy4xrDIl6ngFxT44chv0XnRUV1NNt_-9Y,3900
160
108
  phoenix/server/api/types/EventMetadata.py,sha256=-J0tYF9eZTHwCjwxQHY7Gckr2_MNW5OoWT1mydweZNM,635
161
- phoenix/server/api/types/ExampleRevisionInterface.py,sha256=gV3Gt9-3Oi5wjaVtepC6nOt3FzTzZFD1KebNnqiw56E,294
162
- phoenix/server/api/types/Experiment.py,sha256=Cs0EKhVLI5l5LKFI0hQA-ekZuaiJcOHT88JGFBa2deU,4906
163
- phoenix/server/api/types/ExperimentAnnotationSummary.py,sha256=Uk3JtxIrsMoZT5tqc4nJdUOM3XegVzjUyoV3pkjNotE,256
164
- phoenix/server/api/types/ExperimentComparison.py,sha256=0sFz6MoBDw39dds0qVyaqhVs9qqO5rkG1FMSjmfBeCc,441
165
- phoenix/server/api/types/ExperimentRun.py,sha256=8jUIi3ApVCqQHwnYe59CYhrmh5iZ6-QmlH5WpF7UWtM,2990
166
- phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=zGstMbS5OxNikEhD8VouY7Ls7YbxKm-0EmqvGeY3-DI,1773
109
+ phoenix/server/api/types/ExportEventsMutation.py,sha256=PYqazKSx-S3uMLLXVlBmGSOxUhDb990dzZ4xNrRRiCw,3812
167
110
  phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
168
111
  phoenix/server/api/types/Functionality.py,sha256=tzV9xdhB8zqfsjWxP66NDC7EZsplYkYO7jRbLWJIeeg,382
169
- phoenix/server/api/types/Inferences.py,sha256=HWuDZZrXPWVoEy_pA3bRsAOUYsCKgAxf9zshasGqu5Y,3403
170
- phoenix/server/api/types/InferencesRole.py,sha256=Kj9aiXOpGhpeg9PHd9MDU7aXVIT28EjJxr4P6xybfzc,601
171
112
  phoenix/server/api/types/MimeType.py,sha256=Zpi6zCalkSFgsvhzvOs-O1gYA04usAi9H__QZUmFlO0,365
172
- phoenix/server/api/types/Model.py,sha256=991I3wKNFTwEOGR9PCmEVBg2Y9DuQR65SovU_8kzkVs,8085
113
+ phoenix/server/api/types/Model.py,sha256=Jo0skz14xGKd-cy6YyxWOvNE0cXHRelSecmLUOgqizk,7880
173
114
  phoenix/server/api/types/NumericRange.py,sha256=afEjgF97Go_OvmjMggbPBt-zGM8IONewAyEiKEHRds0,192
174
115
  phoenix/server/api/types/PerformanceMetric.py,sha256=W92B7OghEOgzFvmY0LCqpgavHaQggTGshdgfD0yqHX4,350
175
- phoenix/server/api/types/Project.py,sha256=SzvfPHr3VAm4FjvNzIfLsCyRqnZDsms13Xe1zA00rd4,13343
116
+ phoenix/server/api/types/Project.py,sha256=M5qv27Nx0fypogumDd__wjO5L7j_glcNubIN5hpN3ms,12848
176
117
  phoenix/server/api/types/PromptResponse.py,sha256=Q8HKtpp8GpUOcxPCzZpkkokidDd6u0aZOv_SuPZZd5Q,630
177
118
  phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSFw-AO1rWw,285
178
119
  phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2Te38SspXGyEs-S1fY23_A,232
179
120
  phoenix/server/api/types/Segments.py,sha256=m2yoegrxA1Tn7ZAy1rMjjD1isc752MaAXMoffkBlvrM,2921
180
121
  phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
181
- phoenix/server/api/types/Span.py,sha256=W4Rsg85bgqbDhgYwpjgOTrIQKbkwpFQPpL6nqMyzhCs,13865
182
- phoenix/server/api/types/TimeSeries.py,sha256=wjzuxHFqCey0O7Ys25qiXyuqXK8an-osyNWUE8A_8G4,5227
183
- phoenix/server/api/types/Trace.py,sha256=ep-mPexub1ijxAnBvc2KrGsNVXO2SfDR1WxqER2wcD8,2376
184
- phoenix/server/api/types/UMAPPoints.py,sha256=5sOuruzM8saXa8C2XiyUfk2XPrkVGmhqKpclMYRw1dk,1656
122
+ phoenix/server/api/types/Span.py,sha256=ln3X1qZdM4ZxMgStsYFvI8vlCmjU-VUV4mD4WqU63zI,10898
123
+ phoenix/server/api/types/TimeSeries.py,sha256=QbLfxHnwYsMsirpq4tx9us6ha7YtAVzK4m8mAL3fMt0,5200
124
+ phoenix/server/api/types/Trace.py,sha256=VXr5iX5QeeeypDOY8-D19vm3bYTm-9tBZWomp2XEUnc,2007
125
+ phoenix/server/api/types/UMAPPoints.py,sha256=8l9RJXi308qty4MdHb2pBbiU6ZuLbrRRxXNbPhXoxKI,1639
185
126
  phoenix/server/api/types/ValidationResult.py,sha256=pHwdYk4J7SJ5xhlWWHg_6qWkfk4rjOx-bSkGHvkDE3Q,142
186
127
  phoenix/server/api/types/VectorDriftMetricEnum.py,sha256=etiJM5ZjQuD-oE7sY-FbdIKY050jk3IU49IMwmfJbEc,188
187
128
  phoenix/server/api/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
- phoenix/server/api/types/node.py,sha256=V0Xh9U4cGkz3iMg-vzEXtcs6cumU29JFPiU-JuGzjWI,848
189
- phoenix/server/api/types/pagination.py,sha256=PcaJ0s4exsTKgCZC4aFm1cgZNrGpHSdo6PbkWzPcweg,9077
129
+ phoenix/server/api/types/node.py,sha256=C3xB1zNXBEz1Nrb6KUp89QMX1vnVeuR1WJCjH-R5vsM,4330
130
+ phoenix/server/api/types/pagination.py,sha256=Ewc13FFbxzVJxMYFxDISpCsRXJFrOG5QYsXb4UaW2WM,10052
190
131
  phoenix/server/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
- phoenix/server/openapi/docs.py,sha256=fTb9q2oOSKC5bLVQy2Dsg3Bs0mGkCOKX1ypX7731sE0,7044
132
+ phoenix/server/openapi/docs.py,sha256=N7d4IHnhZ2Uvwgogo3Rjx-e_kX2NoenXPWkNjf1R22E,6913
192
133
  phoenix/server/static/apple-touch-icon-114x114.png,sha256=xtFVXAYQnJkpUApg2D1hltSTuyO4Is4sD4A0ZkikiVU,9486
193
134
  phoenix/server/static/apple-touch-icon-120x120.png,sha256=iqZVAk634BbjJMozA8aHYyw15JjhIlIrG41FA2DFFaE,9957
194
135
  phoenix/server/static/apple-touch-icon-144x144.png,sha256=VgARtkHKoU8zikb3_G83h_cb02kpPcoJqO78yRh1AfU,10047
@@ -199,28 +140,28 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
199
140
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
200
141
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
201
142
  phoenix/server/static/index.css,sha256=KKGpx4iwF91VGRm0YN-4cn8oC-oIqC6HecoPf0x3ZM8,1885
202
- phoenix/server/static/index.js,sha256=I9Y8svcPruUrXklKcZUxFz5HfLB0vOwczYLSwLAs_04,3500011
143
+ phoenix/server/static/index.js,sha256=OkUrMDFdfm5jbrpA5yxVhTkGwKByUGmkGeWoVsQyNrE,3351373
203
144
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
204
145
  phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
- phoenix/server/templates/index.html,sha256=S4z7qSoNSwnKFAH9r96AR-YJEyoKMd-VMWVlJ_IdzME,2039
146
+ phoenix/server/templates/index.html,sha256=lO2wGA5XsftPg03rw_VcyaYf_4vegtlWbIT5ms4fA_c,1982
206
147
  phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
- phoenix/session/client.py,sha256=R7dV38yjkIQa522nhG6jhDllWcXft2JJ7RlcPYpqiiQ,24846
148
+ phoenix/session/client.py,sha256=4Pm9RtP-FAH99-gLgGHNOdzqLpJ8ROAOgnpjwPW8WHA,10143
208
149
  phoenix/session/data_extractor.py,sha256=dwhiDu-ISaXr8UI9I-CszZhB5BlUNmdDopjFZvMIXMw,2101
209
150
  phoenix/session/evaluation.py,sha256=aKeV8UVOyq3b7CYOwt3cWuLz0xzvMjX7vlEPILJ_fcs,5311
210
- phoenix/session/session.py,sha256=rjIuSSK2gAYIUPQTJc4E2ebew5o6I070FWRoFn4W3EI,26620
151
+ phoenix/session/session.py,sha256=-OuqBRMT1tcat7qmy3g2mkDxK6krbtyH2mHpLskZ62k,26103
211
152
  phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
212
153
  phoenix/trace/attributes.py,sha256=xSr2EvlkDS9Wiij7FywXzw7UmMAMLIARSEm_P686BKM,12434
213
154
  phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
214
155
  phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
215
- phoenix/trace/exporter.py,sha256=eAYemdvDCHMugDJiaR29BFFMTQBdf3oerdkz34Cl3hE,4736
216
- phoenix/trace/fixtures.py,sha256=gBGFG2gkcBsSDzolzzR9AJDrB_fdOQfUaGgHV-EHdco,14204
156
+ phoenix/trace/exporter.py,sha256=D4crJLITTwdo96kav2mHuIJleFQ7hmjDWDuVASdpcao,4658
157
+ phoenix/trace/fixtures.py,sha256=kupizPlPLoQyCxZfrIU7ZC87dYiL8uEhZEmdia__5qQ,9644
217
158
  phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
218
159
  phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
219
- phoenix/trace/schemas.py,sha256=Mjc6fD9OyeMnEk5wPPSbveqnNUYWK3p3BxpOvSGanHU,5950
220
- phoenix/trace/span_evaluations.py,sha256=GaADtJLi2njra4aYaie0BIwkSgdxPB_SNseglI4ykZA,13104
160
+ phoenix/trace/schemas.py,sha256=JiFKhGD2JF6Eai7UOhPF5urcuKGkpMLHc3Vltbe1msk,5967
161
+ phoenix/trace/span_evaluations.py,sha256=7DI1EFfpZoOH8iIUYNzL9P6U9j0Hc2Z3u2SD0h1SF_Q,13101
221
162
  phoenix/trace/span_json_decoder.py,sha256=IAFakPRqSMYxTPKYFMiXYxm7U-FipdN8_xbvapDS0Qc,3131
222
163
  phoenix/trace/span_json_encoder.py,sha256=tzSCIQJbeFBm33K68G8A5M12n_86tCDyuU0WAobxEz4,2010
223
- phoenix/trace/trace_dataset.py,sha256=CI9oma7sJTggUxvNHQR-uGIqrAvcSvkcDfyUBOeWjxo,13848
164
+ phoenix/trace/trace_dataset.py,sha256=197ey31Zp40eN_gH1YVGM7avkZs-YlROSKG3M5eZsWg,13830
224
165
  phoenix/trace/utils.py,sha256=7LurVGXn245cjj4MJsc7v6jq4DSJkpK6YGBfIaSywuw,1307
225
166
  phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
226
167
  phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
@@ -239,13 +180,11 @@ phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQd
239
180
  phoenix/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
181
  phoenix/utilities/deprecation.py,sha256=cFuTVvjSYyRlrdxdJewjJVieIEHPk30BukSRGRydQ3k,1046
241
182
  phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
242
- phoenix/utilities/json.py,sha256=nuD1SbPm871tbt9Cz7V2NUmS9m0jWgcpRUx1YOV3NYQ,1954
243
183
  phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
244
184
  phoenix/utilities/project.py,sha256=qWsvKnG1oKhOFUowXf9qiOL2ia7jaFe_ijFFHEt8GJo,431
245
- phoenix/utilities/re.py,sha256=PDve_OLjRTM8yQQJHC8-n3HdIONi7aNils3ZKRZ5uBM,2045
246
185
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
- arize_phoenix-4.4.4rc5.dist-info/METADATA,sha256=yT0gbMlPkiRkZeC8Yj_eLyaufriREVn3jxz5-qTKDjI,11012
248
- arize_phoenix-4.4.4rc5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
249
- arize_phoenix-4.4.4rc5.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
250
- arize_phoenix-4.4.4rc5.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
251
- arize_phoenix-4.4.4rc5.dist-info/RECORD,,
186
+ arize_phoenix-4.5.0.dist-info/METADATA,sha256=YUkCpYnFJNxjC5tecb4RQTL3eGZJI5SHEtBahDcOOZM,11047
187
+ arize_phoenix-4.5.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
188
+ arize_phoenix-4.5.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
189
+ arize_phoenix-4.5.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
190
+ arize_phoenix-4.5.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.25.0
2
+ Generator: hatchling 1.24.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
phoenix/__init__.py CHANGED
@@ -1,3 +1,9 @@
1
+ import sys
2
+ from importlib.abc import Loader, MetaPathFinder
3
+ from importlib.machinery import ModuleSpec
4
+ from types import ModuleType
5
+ from typing import Any, Optional
6
+
1
7
  from .inferences.fixtures import ExampleInferences, load_example
2
8
  from .inferences.inferences import Inferences
3
9
  from .inferences.schema import EmbeddingColumnNames, RetrievalEmbeddingColumnNames, Schema
@@ -51,3 +57,24 @@ __all__ = [
51
57
  "Client",
52
58
  "evals",
53
59
  ]
60
+
61
+
62
+ class PhoenixEvalsFinder(MetaPathFinder):
63
+ def find_spec(self, fullname: Any, path: Any, target: Any = None) -> Optional[ModuleSpec]:
64
+ if fullname == "phoenix.evals":
65
+ return ModuleSpec(fullname, PhoenixEvalsLoader())
66
+ return None
67
+
68
+
69
+ class PhoenixEvalsLoader(Loader):
70
+ def create_module(self, spec: ModuleSpec) -> None:
71
+ return None
72
+
73
+ def exec_module(self, module: ModuleType) -> None:
74
+ raise ImportError(
75
+ "The optional `phoenix.evals` package is not installed. "
76
+ "Please install `phoenix` with the `evals` extra: `pip install 'arize-phoenix[evals]'`."
77
+ )
78
+
79
+
80
+ sys.meta_path.append(PhoenixEvalsFinder())
phoenix/config.py CHANGED
@@ -2,9 +2,7 @@ import os
2
2
  import tempfile
3
3
  from logging import getLogger
4
4
  from pathlib import Path
5
- from typing import Dict, List, Optional
6
-
7
- from .utilities.re import parse_env_headers
5
+ from typing import List, Optional
8
6
 
9
7
  logger = getLogger(__name__)
10
8
 
@@ -14,12 +12,6 @@ ENV_PHOENIX_GRPC_PORT = "PHOENIX_GRPC_PORT"
14
12
  ENV_PHOENIX_HOST = "PHOENIX_HOST"
15
13
  ENV_PHOENIX_HOST_ROOT_PATH = "PHOENIX_HOST_ROOT_PATH"
16
14
  ENV_NOTEBOOK_ENV = "PHOENIX_NOTEBOOK_ENV"
17
- ENV_PHOENIX_CLIENT_HEADERS = "PHOENIX_CLIENT_HEADERS"
18
- """
19
- The headers to include in Phoenix client requests.
20
- Note: This overrides OTEL_EXPORTER_OTLP_HEADERS in the case where
21
- phoenix.trace instrumentors are used.
22
- """
23
15
  ENV_PHOENIX_COLLECTOR_ENDPOINT = "PHOENIX_COLLECTOR_ENDPOINT"
24
16
  """
25
17
  The endpoint traces and evals are sent to. This must be set if the Phoenix
@@ -113,15 +105,15 @@ GRPC_PORT = 4317
113
105
  """The port the gRPC server will run on after launch_app is called.
114
106
  The default network port for OTLP/gRPC is 4317.
115
107
  See https://opentelemetry.io/docs/specs/otlp/#otlpgrpc-default-port"""
116
- GENERATED_INFERENCES_NAME_PREFIX = "phoenix_inferences_"
108
+ GENERATED_DATASET_NAME_PREFIX = "phoenix_dataset_"
117
109
  """The prefix of datasets that are auto-assigned a name."""
118
110
  WORKING_DIR = get_working_dir()
119
- """The work directory for saving, loading, and exporting data."""
111
+ """The work directory for saving, loading, and exporting datasets."""
120
112
 
121
113
  ROOT_DIR = WORKING_DIR
122
114
  EXPORT_DIR = ROOT_DIR / "exports"
123
- INFERENCES_DIR = ROOT_DIR / "inferences"
124
- TRACE_DATASETS_DIR = ROOT_DIR / "trace_datasets"
115
+ DATASET_DIR = ROOT_DIR / "datasets"
116
+ TRACE_DATASET_DIR = ROOT_DIR / "trace_datasets"
125
117
 
126
118
 
127
119
  def ensure_working_dir() -> None:
@@ -134,8 +126,8 @@ def ensure_working_dir() -> None:
134
126
  for path in (
135
127
  ROOT_DIR,
136
128
  EXPORT_DIR,
137
- INFERENCES_DIR,
138
- TRACE_DATASETS_DIR,
129
+ DATASET_DIR,
130
+ TRACE_DATASET_DIR,
139
131
  ):
140
132
  path.mkdir(parents=True, exist_ok=True)
141
133
  except Exception as e:
@@ -227,10 +219,4 @@ def get_env_enable_prometheus() -> bool:
227
219
  )
228
220
 
229
221
 
230
- def get_env_client_headers() -> Optional[Dict[str, str]]:
231
- if headers_str := os.getenv(ENV_PHOENIX_CLIENT_HEADERS):
232
- return parse_env_headers(headers_str)
233
- return None
234
-
235
-
236
222
  DEFAULT_PROJECT_NAME = "default"
phoenix/core/model.py CHANGED
@@ -7,73 +7,73 @@ from .embedding_dimension import EmbeddingDimension
7
7
 
8
8
 
9
9
  def _get_embedding_dimensions(
10
- primary_inferences: Inferences, reference_inferences: Optional[Inferences]
10
+ primary_dataset: Inferences, reference_dataset: Optional[Inferences]
11
11
  ) -> List[EmbeddingDimension]:
12
12
  embedding_dimensions: List[EmbeddingDimension] = []
13
13
  embedding_features: EmbeddingFeatures = {}
14
14
 
15
15
  primary_embedding_features: Optional[EmbeddingFeatures] = (
16
- primary_inferences.schema.embedding_feature_column_names
16
+ primary_dataset.schema.embedding_feature_column_names
17
17
  )
18
18
  if primary_embedding_features is not None:
19
19
  embedding_features.update(primary_embedding_features)
20
20
  primary_prompt_column_names: Optional[EmbeddingColumnNames] = (
21
- primary_inferences.schema.prompt_column_names
21
+ primary_dataset.schema.prompt_column_names
22
22
  )
23
23
  if primary_prompt_column_names is not None:
24
24
  embedding_features.update({"prompt": primary_prompt_column_names})
25
25
  primary_response_column_names: Optional[Union[str, EmbeddingColumnNames]] = (
26
- primary_inferences.schema.response_column_names
26
+ primary_dataset.schema.response_column_names
27
27
  )
28
28
  if isinstance(primary_response_column_names, EmbeddingColumnNames):
29
29
  embedding_features.update({"response": primary_response_column_names})
30
30
 
31
- if reference_inferences is not None:
31
+ if reference_dataset is not None:
32
32
  reference_embedding_features: Optional[EmbeddingFeatures] = (
33
- reference_inferences.schema.embedding_feature_column_names
33
+ reference_dataset.schema.embedding_feature_column_names
34
34
  )
35
35
  if reference_embedding_features is not None:
36
36
  embedding_features.update(reference_embedding_features)
37
37
  reference_prompt_column_names: Optional[EmbeddingColumnNames] = (
38
- reference_inferences.schema.prompt_column_names
38
+ reference_dataset.schema.prompt_column_names
39
39
  )
40
40
  if reference_prompt_column_names is not None:
41
41
  embedding_features.update({"prompt": reference_prompt_column_names})
42
42
  reference_response_column_names: Optional[Union[str, EmbeddingColumnNames]] = (
43
- reference_inferences.schema.response_column_names
43
+ reference_dataset.schema.response_column_names
44
44
  )
45
45
  if isinstance(reference_response_column_names, EmbeddingColumnNames):
46
46
  embedding_features.update({"response": reference_response_column_names})
47
47
 
48
48
  for embedding_feature, embedding_column_names in embedding_features.items():
49
49
  embedding_dimensions.append(EmbeddingDimension(name=embedding_feature))
50
- if reference_inferences is not None:
51
- _check_embedding_vector_lengths_match_across_inference_sets(
52
- embedding_feature, embedding_column_names, primary_inferences, reference_inferences
50
+ if reference_dataset is not None:
51
+ _check_embedding_vector_lengths_match_across_datasets(
52
+ embedding_feature, embedding_column_names, primary_dataset, reference_dataset
53
53
  )
54
54
 
55
55
  return embedding_dimensions
56
56
 
57
57
 
58
- def _check_embedding_vector_lengths_match_across_inference_sets(
58
+ def _check_embedding_vector_lengths_match_across_datasets(
59
59
  embedding_feature_name: str,
60
60
  embedding_column_names: EmbeddingColumnNames,
61
- primary_inferences: Inferences,
62
- reference_inferences: Inferences,
61
+ primary_dataset: Inferences,
62
+ reference_dataset: Inferences,
63
63
  ) -> None:
64
64
  """
65
65
  Ensure that for each embedding feature, the vector lengths match across the primary
66
- and reference inferences which is required for calculating embedding drift (vector distance)
66
+ and reference datasets which is required for calculating embedding drift (vector distance)
67
67
  """
68
68
  primary_vector_length = _get_column_vector_length(
69
- primary_inferences, embedding_column_names.vector_column_name
69
+ primary_dataset, embedding_column_names.vector_column_name
70
70
  )
71
71
  reference_vector_length = _get_column_vector_length(
72
- reference_inferences, embedding_column_names.vector_column_name
72
+ reference_dataset, embedding_column_names.vector_column_name
73
73
  )
74
74
 
75
- # if one of the inferences doesn't have the embedding column at all, which is fine since we
76
- # just consider this as missing from one of the inferences and won't need to worry about
75
+ # if one of the datasets doesn't have the embedding column at all, which is fine since we
76
+ # just consider this as missing from one of the datasets and won't need to worry about
77
77
  # calculating drift
78
78
  if primary_vector_length is None or reference_vector_length is None:
79
79
  return
@@ -81,23 +81,23 @@ def _check_embedding_vector_lengths_match_across_inference_sets(
81
81
  if primary_vector_length != reference_vector_length:
82
82
  raise ValueError(
83
83
  f"Embedding vector length must match for "
84
- f"both inference sets; embedding_feature={embedding_feature_name} "
84
+ f"both datasets; embedding_feature={embedding_feature_name} "
85
85
  f"vector_column={embedding_column_names.vector_column_name}"
86
86
  )
87
87
 
88
88
 
89
89
  def _get_column_vector_length(
90
- inferences: Inferences, embedding_vector_column_name: str
90
+ dataset: Inferences, embedding_vector_column_name: str
91
91
  ) -> Optional[int]:
92
92
  """
93
- Because a inferences has already been constructed, we can assume that the lengths
94
- of the vectors for any given embedding feature in the inferences are the same.
93
+ Because a dataset has already been constructed, we can assume that the lengths
94
+ of the vectors for any given embedding feature in the dataset are the same.
95
95
  Returns the length a vector by getting the length first non-null vector.
96
96
  """
97
- if embedding_vector_column_name not in inferences.dataframe:
97
+ if embedding_vector_column_name not in dataset.dataframe:
98
98
  return None
99
99
 
100
- column = inferences.dataframe[embedding_vector_column_name]
100
+ column = dataset.dataframe[embedding_vector_column_name]
101
101
 
102
102
  for row in column:
103
103
  # None/NaN is a valid entry for a row and represents the fact that the