arize-phoenix 7.1.0__tar.gz → 7.2.0__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 arize-phoenix might be problematic. Click here for more details.

Files changed (347) hide show
  1. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/PKG-INFO +16 -14
  2. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/README.md +5 -6
  3. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/pyproject.toml +8 -7
  4. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/session_io.py +9 -5
  5. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +5 -2
  6. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +5 -2
  7. arize_phoenix-7.2.0/src/phoenix/server/api/types/DataQualityMetric.py +40 -0
  8. arize_phoenix-7.2.0/src/phoenix/server/api/types/PerformanceMetric.py +16 -0
  9. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/TimeSeries.py +5 -2
  10. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/.vite/manifest.json +9 -9
  11. arize_phoenix-7.1.0/src/phoenix/server/static/assets/components-DaxEPah8.js → arize_phoenix-7.2.0/src/phoenix/server/static/assets/components-Fbz1fA9N.js +59 -59
  12. arize_phoenix-7.1.0/src/phoenix/server/static/assets/index-DxfKd3lv.js → arize_phoenix-7.2.0/src/phoenix/server/static/assets/index-BmwKNkwH.js +1 -1
  13. arize_phoenix-7.1.0/src/phoenix/server/static/assets/pages-CY7Swxhi.js → arize_phoenix-7.2.0/src/phoenix/server/static/assets/pages-mOmTzhTQ.js +8 -4
  14. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/templates/index.html +0 -4
  15. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/types.py +5 -5
  16. arize_phoenix-7.2.0/src/phoenix/version.py +1 -0
  17. arize_phoenix-7.1.0/src/phoenix/server/api/types/DataQualityMetric.py +0 -22
  18. arize_phoenix-7.1.0/src/phoenix/server/api/types/PerformanceMetric.py +0 -13
  19. arize_phoenix-7.1.0/src/phoenix/version.py +0 -1
  20. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/.gitignore +0 -0
  21. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/IP_NOTICE +0 -0
  22. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/LICENSE +0 -0
  23. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/__init__.py +0 -0
  24. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/auth.py +0 -0
  25. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/config.py +0 -0
  26. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/core/__init__.py +0 -0
  27. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/core/embedding_dimension.py +0 -0
  28. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/core/model.py +0 -0
  29. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/core/model_schema.py +0 -0
  30. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/core/model_schema_adapter.py +0 -0
  31. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/datetime_utils.py +0 -0
  32. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/README.md +0 -0
  33. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/__init__.py +0 -0
  34. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/alembic.ini +0 -0
  35. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/bulk_inserter.py +0 -0
  36. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/engines.py +0 -0
  37. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/enums.py +0 -0
  38. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/facilitator.py +0 -0
  39. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/helpers.py +0 -0
  40. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/__init__.py +0 -0
  41. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/constants.py +0 -0
  42. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/dataset.py +0 -0
  43. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
  44. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/evaluation.py +0 -0
  45. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/helpers.py +0 -0
  46. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/span.py +0 -0
  47. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
  48. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
  49. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/insertion/types.py +0 -0
  50. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrate.py +0 -0
  51. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/__init__.py +0 -0
  52. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
  53. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
  54. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/env.py +0 -0
  55. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/script.py.mako +0 -0
  56. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
  57. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
  58. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
  59. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
  60. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
  61. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/db/models.py +0 -0
  62. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/exceptions.py +0 -0
  63. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/__init__.py +0 -0
  64. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
  65. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/evaluators/base.py +0 -0
  66. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
  67. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
  68. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
  69. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/functions.py +0 -0
  70. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/tracing.py +0 -0
  71. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/types.py +0 -0
  72. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/experiments/utils.py +0 -0
  73. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/inferences/__init__.py +0 -0
  74. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/inferences/errors.py +0 -0
  75. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/inferences/fixtures.py +0 -0
  76. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/inferences/inferences.py +0 -0
  77. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/inferences/schema.py +0 -0
  78. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/inferences/validation.py +0 -0
  79. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/logging/__init__.py +0 -0
  80. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/logging/_config.py +0 -0
  81. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/logging/_filter.py +0 -0
  82. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/logging/_formatter.py +0 -0
  83. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/README.md +0 -0
  84. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/__init__.py +0 -0
  85. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/binning.py +0 -0
  86. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/metrics.py +0 -0
  87. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/mixins.py +0 -0
  88. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  89. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/timeseries.py +0 -0
  90. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/metrics/wrappers.py +0 -0
  91. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/pointcloud/__init__.py +0 -0
  92. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/pointcloud/clustering.py +0 -0
  93. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
  94. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/pointcloud/projectors.py +0 -0
  95. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  96. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/py.typed +0 -0
  97. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/__init__.py +0 -0
  98. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/README.md +0 -0
  99. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/__init__.py +0 -0
  100. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/auth.py +0 -0
  101. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/context.py +0 -0
  102. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
  103. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
  104. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
  105. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
  106. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
  107. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
  108. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
  109. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
  110. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
  111. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
  112. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
  113. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
  114. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
  115. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
  116. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
  117. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
  118. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
  119. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
  120. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
  121. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
  122. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
  123. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
  124. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
  125. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
  126. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
  127. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
  128. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
  129. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
  130. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
  131. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
  132. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
  133. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
  134. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/exceptions.py +0 -0
  135. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
  136. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
  137. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/helpers/playground_clients.py +0 -0
  138. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
  139. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
  140. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
  141. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
  142. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
  143. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
  144. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
  145. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  146. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  147. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
  148. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
  149. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
  150. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
  151. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
  152. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
  153. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
  154. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
  155. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
  156. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
  157. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  158. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  159. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
  160. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  161. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
  162. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
  163. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
  164. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
  165. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
  166. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
  167. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  168. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/TemplateOptions.py +0 -0
  169. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  170. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
  171. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
  172. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
  173. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/interceptor.py +0 -0
  174. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
  175. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
  176. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
  177. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
  178. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
  179. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
  180. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
  181. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
  182. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
  183. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
  184. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
  185. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/openapi/main.py +0 -0
  186. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/openapi/schema.py +0 -0
  187. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/queries.py +0 -0
  188. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/__init__.py +0 -0
  189. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/auth.py +0 -0
  190. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
  191. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
  192. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/utils.py +0 -0
  193. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
  194. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
  195. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
  196. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
  197. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
  198. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
  199. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/pydantic_compat.py +0 -0
  200. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/spans.py +0 -0
  201. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
  202. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
  203. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/schema.py +0 -0
  204. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/subscriptions.py +0 -0
  205. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Annotation.py +0 -0
  206. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
  207. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
  208. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
  209. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
  210. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
  211. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
  212. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Cluster.py +0 -0
  213. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
  214. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Dataset.py +0 -0
  215. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
  216. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
  217. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  218. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
  219. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Dimension.py +0 -0
  220. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  221. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  222. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
  223. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  224. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  225. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  226. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  227. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  228. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
  229. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  230. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Event.py +0 -0
  231. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  232. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
  233. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Experiment.py +0 -0
  234. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
  235. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
  236. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
  237. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
  238. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  239. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Functionality.py +0 -0
  240. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
  241. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
  242. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Inferences.py +0 -0
  243. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
  244. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
  245. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/MimeType.py +0 -0
  246. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Model.py +0 -0
  247. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
  248. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Project.py +0 -0
  249. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
  250. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  251. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
  252. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  253. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Segments.py +0 -0
  254. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/SortDir.py +0 -0
  255. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Span.py +0 -0
  256. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
  257. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
  258. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
  259. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/TemplateLanguage.py +0 -0
  260. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
  261. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/Trace.py +0 -0
  262. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
  263. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  264. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/User.py +0 -0
  265. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
  266. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/UserRole.py +0 -0
  267. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  268. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  269. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/__init__.py +0 -0
  270. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/node.py +0 -0
  271. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/types/pagination.py +0 -0
  272. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/api/utils.py +0 -0
  273. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/app.py +0 -0
  274. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/bearer_auth.py +0 -0
  275. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/dml_event.py +0 -0
  276. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/dml_event_handler.py +0 -0
  277. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/email/__init__.py +0 -0
  278. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/email/sender.py +0 -0
  279. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/email/templates/__init__.py +0 -0
  280. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
  281. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/email/types.py +0 -0
  282. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/grpc_server.py +0 -0
  283. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/jwt_store.py +0 -0
  284. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/main.py +0 -0
  285. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/oauth2.py +0 -0
  286. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/openapi/__init__.py +0 -0
  287. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/prometheus.py +0 -0
  288. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/rate_limiters.py +0 -0
  289. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  290. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  291. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  292. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  293. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  294. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  295. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  296. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  297. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-DwOx_a-2.js +0 -0
  298. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-DxkFTwjz.css +0 -0
  299. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-arizeai-BWSsCZNG.js +0 -0
  300. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-codemirror-WrxmCiOZ.js +0 -0
  301. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-recharts-Bj7q9ORc.js +0 -0
  302. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-shiki-RnWcZtzE.js +0 -0
  303. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/assets/vendor-three-DwGkEfCM.js +0 -0
  304. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/favicon.ico +0 -0
  305. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/static/modernizr.js +0 -0
  306. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/telemetry.py +0 -0
  307. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/templates/__init__.py +0 -0
  308. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/server/thread_server.py +0 -0
  309. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/services.py +0 -0
  310. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/session/__init__.py +0 -0
  311. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/session/client.py +0 -0
  312. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/session/data_extractor.py +0 -0
  313. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/session/evaluation.py +0 -0
  314. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/session/session.py +0 -0
  315. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/settings.py +0 -0
  316. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/__init__.py +0 -0
  317. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/attributes.py +0 -0
  318. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/dsl/README.md +0 -0
  319. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/dsl/__init__.py +0 -0
  320. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/dsl/filter.py +0 -0
  321. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/dsl/helpers.py +0 -0
  322. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/dsl/query.py +0 -0
  323. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/errors.py +0 -0
  324. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
  325. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/exporter.py +0 -0
  326. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/fixtures.py +0 -0
  327. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/otel.py +0 -0
  328. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/projects.py +0 -0
  329. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/schemas.py +0 -0
  330. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/span_evaluations.py +0 -0
  331. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/span_json_decoder.py +0 -0
  332. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/span_json_encoder.py +0 -0
  333. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/trace_dataset.py +0 -0
  334. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/utils.py +0 -0
  335. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/v1/__init__.py +0 -0
  336. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  337. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  338. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/__init__.py +0 -0
  339. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/client.py +0 -0
  340. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/deprecation.py +0 -0
  341. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/error_handling.py +0 -0
  342. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/json.py +0 -0
  343. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/logging.py +0 -0
  344. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/project.py +0 -0
  345. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/re.py +0 -0
  346. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/span_store.py +0 -0
  347. {arize_phoenix-7.1.0 → arize_phoenix-7.2.0}/src/phoenix/utilities/template_formatters.py +0 -0
@@ -1,19 +1,22 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 7.1.0
3
+ Version: 7.2.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
7
7
  Project-URL: Source, https://github.com/Arize-ai/phoenix
8
8
  Author-email: Arize AI <phoenix-devs@arize.com>
9
9
  License: Elastic-2.0
10
+ License-File: IP_NOTICE
11
+ License-File: LICENSE
10
12
  Keywords: Explainability,Monitoring,Observability
11
13
  Classifier: Programming Language :: Python
12
14
  Classifier: Programming Language :: Python :: 3.9
13
15
  Classifier: Programming Language :: Python :: 3.10
14
16
  Classifier: Programming Language :: Python :: 3.11
15
17
  Classifier: Programming Language :: Python :: 3.12
16
- Requires-Python: <3.13,>=3.9
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Requires-Python: <3.14,>=3.9
17
20
  Requires-Dist: aioitertools
18
21
  Requires-Dist: aiosqlite
19
22
  Requires-Dist: alembic<2,>=1.3.0
@@ -44,13 +47,13 @@ Requires-Dist: scipy
44
47
  Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
45
48
  Requires-Dist: sqlean-py>=3.45.1
46
49
  Requires-Dist: starlette
47
- Requires-Dist: strawberry-graphql==0.247.0
50
+ Requires-Dist: strawberry-graphql==0.253.1
48
51
  Requires-Dist: tqdm
49
52
  Requires-Dist: typing-extensions>=4.6
50
53
  Requires-Dist: uvicorn
51
54
  Requires-Dist: websockets
52
- Requires-Dist: wrapt; sys_platform != 'darwin'
53
- Requires-Dist: wrapt<1.17; sys_platform == 'darwin'
55
+ Requires-Dist: wrapt<1.17; sys_platform == 'darwin' and platform_machine == 'x86_64'
56
+ Requires-Dist: wrapt>=1.17; sys_platform != 'darwin' or platform_machine != 'x86_64'
54
57
  Provides-Extra: container
55
58
  Requires-Dist: anthropic; extra == 'container'
56
59
  Requires-Dist: fast-hdbscan>=0.2.0; extra == 'container'
@@ -66,7 +69,7 @@ Requires-Dist: opentelemetry-sdk; extra == 'container'
66
69
  Requires-Dist: opentelemetry-semantic-conventions; extra == 'container'
67
70
  Requires-Dist: prometheus-client; extra == 'container'
68
71
  Requires-Dist: py-grpc-prometheus; extra == 'container'
69
- Requires-Dist: strawberry-graphql[opentelemetry]==0.247.0; extra == 'container'
72
+ Requires-Dist: strawberry-graphql[opentelemetry]==0.253.1; extra == 'container'
70
73
  Requires-Dist: umap-learn; extra == 'container'
71
74
  Requires-Dist: uvloop; (platform_system != 'Windows') and extra == 'container'
72
75
  Provides-Extra: dev
@@ -97,7 +100,7 @@ Requires-Dist: pytest-postgresql; extra == 'dev'
97
100
  Requires-Dist: pytest-xdist; extra == 'dev'
98
101
  Requires-Dist: pytest==8.3.3; extra == 'dev'
99
102
  Requires-Dist: ruff==0.6.9; extra == 'dev'
100
- Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.247.0; extra == 'dev'
103
+ Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.253.1; extra == 'dev'
101
104
  Requires-Dist: tabulate; extra == 'dev'
102
105
  Requires-Dist: tox-uv==1.11.3; extra == 'dev'
103
106
  Requires-Dist: tox==4.18.1; extra == 'dev'
@@ -153,12 +156,12 @@ Description-Content-Type: text/markdown
153
156
 
154
157
  Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
155
158
 
156
- - [**_Tracing_**](https://docs.arize.com/phoenix/tracing/integrations-tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
159
+ - [**_Tracing_**](https://docs.arize.com/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
157
160
  - [**_Evaluation_**](https://docs.arize.com/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
158
161
  - [**_Datasets_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
159
162
  - [**_Experiments_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
160
163
 
161
- Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/langchain), [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/haystack), 🧩[DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/openai), [Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/bedrock), [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/mistralai), [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/vertexai), [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
164
+ Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/langchain), [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/haystack), 🧩[DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/openai), [Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/bedrock), [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/mistralai), [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/vertexai), [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
162
165
 
163
166
  Phoenix runs practically anywhere, including your Jupyter notebook, local machine, containerized deployment, or in the cloud.
164
167
 
@@ -191,9 +194,9 @@ Phoenix container images are available via [Docker Hub](https://hub.docker.com/r
191
194
  | REST API | ✅ |
192
195
  | GraphQL API | ✅ |
193
196
  | Data Retention | Customizable |
194
- | Authentication | ✅ |
195
- | Social Login | ✅ |
196
- | RBAC | ✅ |
197
+ | [Authentication](https://docs.arize.com/phoenix/deployment/authentication) | ✅ |
198
+ | [Social Login](https://docs.arize.com/phoenix/deployment/authentication#configuring-oauth2-identity-providers) | ✅ |
199
+ | [RBAC](https://docs.arize.com/phoenix/deployment/authentication#permissions) | ✅ |
197
200
  | Projects | ✅ |
198
201
  | [Self-Hosting](https://docs.arize.com/phoenix/deployment) | ✅ |
199
202
  | Jupyter Notebooks | ✅ |
@@ -243,7 +246,6 @@ Join our community to connect with thousands of AI builders.
243
246
  - 🌟 Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
244
247
  - 🐞 Report bugs with [GitHub Issues](https://github.com/Arize-ai/phoenix/issues).
245
248
  - 𝕏 Follow us on [𝕏](https://twitter.com/ArizePhoenix).
246
- - 💌️ Sign up for our [mailing list](https://phoenix.arize.com/#updates).
247
249
  - 🗺️ Check out our [roadmap](https://github.com/orgs/Arize-ai/projects/45) to see where we're heading next.
248
250
 
249
251
  ## Breaking Changes
@@ -29,12 +29,12 @@
29
29
 
30
30
  Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
31
31
 
32
- - [**_Tracing_**](https://docs.arize.com/phoenix/tracing/integrations-tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
32
+ - [**_Tracing_**](https://docs.arize.com/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
33
33
  - [**_Evaluation_**](https://docs.arize.com/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
34
34
  - [**_Datasets_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
35
35
  - [**_Experiments_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
36
36
 
37
- Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/langchain), [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/haystack), 🧩[DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/openai), [Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/bedrock), [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/mistralai), [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/vertexai), [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
37
+ Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/langchain), [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/haystack), 🧩[DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/openai), [Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/bedrock), [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/mistralai), [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/vertexai), [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
38
38
 
39
39
  Phoenix runs practically anywhere, including your Jupyter notebook, local machine, containerized deployment, or in the cloud.
40
40
 
@@ -67,9 +67,9 @@ Phoenix container images are available via [Docker Hub](https://hub.docker.com/r
67
67
  | REST API | ✅ |
68
68
  | GraphQL API | ✅ |
69
69
  | Data Retention | Customizable |
70
- | Authentication | ✅ |
71
- | Social Login | ✅ |
72
- | RBAC | ✅ |
70
+ | [Authentication](https://docs.arize.com/phoenix/deployment/authentication) | ✅ |
71
+ | [Social Login](https://docs.arize.com/phoenix/deployment/authentication#configuring-oauth2-identity-providers) | ✅ |
72
+ | [RBAC](https://docs.arize.com/phoenix/deployment/authentication#permissions) | ✅ |
73
73
  | Projects | ✅ |
74
74
  | [Self-Hosting](https://docs.arize.com/phoenix/deployment) | ✅ |
75
75
  | Jupyter Notebooks | ✅ |
@@ -119,7 +119,6 @@ Join our community to connect with thousands of AI builders.
119
119
  - 🌟 Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
120
120
  - 🐞 Report bugs with [GitHub Issues](https://github.com/Arize-ai/phoenix/issues).
121
121
  - 𝕏 Follow us on [𝕏](https://twitter.com/ArizePhoenix).
122
- - 💌️ Sign up for our [mailing list](https://phoenix.arize.com/#updates).
123
122
  - 🗺️ Check out our [roadmap](https://github.com/orgs/Arize-ai/projects/45) to see where we're heading next.
124
123
 
125
124
  ## Breaking Changes
@@ -2,7 +2,7 @@
2
2
  name = "arize-phoenix"
3
3
  description = "AI Observability and Evaluation"
4
4
  readme = "README.md"
5
- requires-python = ">=3.9, <3.13"
5
+ requires-python = ">=3.9, <3.14"
6
6
  license = {text="Elastic-2.0"}
7
7
  license-files = { paths = ["LICENSE", "IP_NOTICE"] }
8
8
  keywords = [
@@ -19,6 +19,7 @@ classifiers = [
19
19
  "Programming Language :: Python :: 3.10",
20
20
  "Programming Language :: Python :: 3.11",
21
21
  "Programming Language :: Python :: 3.12",
22
+ "Programming Language :: Python :: 3.13",
22
23
  ]
23
24
  dependencies = [
24
25
  "scikit-learn",
@@ -28,12 +29,12 @@ dependencies = [
28
29
  "starlette",
29
30
  "uvicorn",
30
31
  "psutil",
31
- "strawberry-graphql==0.247.0", # need to pin version because we're monkey-patching
32
+ "strawberry-graphql==0.253.1", # need to pin version because we're monkey-patching
32
33
  "pyarrow",
33
34
  "typing-extensions>=4.6",
34
35
  "scipy",
35
- "wrapt<1.17; sys_platform == 'darwin'",
36
- "wrapt; sys_platform != 'darwin'",
36
+ "wrapt<1.17; sys_platform == 'darwin' and platform_machine == 'x86_64'",
37
+ "wrapt>=1.17; sys_platform != 'darwin' or platform_machine != 'x86_64'",
37
38
  "protobuf>=3.20.2, <6.0",
38
39
  "grpcio",
39
40
  "grpc-interceptor",
@@ -87,7 +88,7 @@ dev = [
87
88
  "pytest-postgresql",
88
89
  "asyncpg",
89
90
  "psycopg[binary,pool]",
90
- "strawberry-graphql[debug-server,opentelemetry]==0.247.0", # need to pin version because we're monkey-patching
91
+ "strawberry-graphql[debug-server,opentelemetry]==0.253.1", # need to pin version because we're monkey-patching
91
92
  "pre-commit",
92
93
  "arize[AutoEmbeddings, LLM_Evaluation]",
93
94
  "llama-index>=0.10.3",
@@ -133,7 +134,7 @@ container = [
133
134
  "opentelemetry-instrumentation-sqlalchemy",
134
135
  "opentelemetry-instrumentation-grpc",
135
136
  "py-grpc-prometheus",
136
- "strawberry-graphql[opentelemetry]==0.247.0", # need to pin version because we're monkey-patching
137
+ "strawberry-graphql[opentelemetry]==0.253.1", # need to pin version because we're monkey-patching
137
138
  "uvloop; platform_system != 'Windows'",
138
139
  "fast-hdbscan>=0.2.0",
139
140
  "numba>=0.60.0", # https://github.com/astral-sh/uv/issues/6281
@@ -229,7 +230,7 @@ dependencies = [
229
230
  "py-grpc-prometheus",
230
231
  "pypistats", # this is needed to type-check third-party packages
231
232
  "requests", # this is needed to type-check third-party packages
232
- "strawberry-graphql[opentelemetry]==0.247.0", # need to pin version because we're monkey-patching
233
+ "strawberry-graphql[opentelemetry]==0.253.1", # need to pin version because we're monkey-patching
233
234
  "tenacity",
234
235
  "types-cachetools",
235
236
  "types-protobuf",
@@ -31,8 +31,8 @@ class SessionIODataLoader(DataLoader[Key, Result]):
31
31
  )
32
32
  if self._kind == "first_input":
33
33
  stmt = stmt.add_columns(
34
- models.Span.attributes[INPUT_VALUE].label("value"),
35
- models.Span.attributes[INPUT_MIME_TYPE].label("mime_type"),
34
+ models.Span.attributes[INPUT_VALUE].as_string().label("value"),
35
+ models.Span.attributes[INPUT_MIME_TYPE].as_string().label("mime_type"),
36
36
  func.row_number()
37
37
  .over(
38
38
  partition_by=models.Trace.project_session_rowid,
@@ -42,8 +42,8 @@ class SessionIODataLoader(DataLoader[Key, Result]):
42
42
  )
43
43
  elif self._kind == "last_output":
44
44
  stmt = stmt.add_columns(
45
- models.Span.attributes[OUTPUT_VALUE].label("value"),
46
- models.Span.attributes[OUTPUT_MIME_TYPE].label("mime_type"),
45
+ models.Span.attributes[OUTPUT_VALUE].as_string().label("value"),
46
+ models.Span.attributes[OUTPUT_MIME_TYPE].as_string().label("mime_type"),
47
47
  func.row_number()
48
48
  .over(
49
49
  partition_by=models.Trace.project_session_rowid,
@@ -57,7 +57,11 @@ class SessionIODataLoader(DataLoader[Key, Result]):
57
57
 
58
58
  def _stmt(self, *keys: Key) -> Select[tuple[int, str, str]]:
59
59
  subq = self._subq.where(models.Trace.project_session_rowid.in_(keys)).subquery()
60
- return select(subq.c.id_, subq.c.value, subq.c.mime_type).filter_by(rank=1)
60
+ return (
61
+ select(subq.c.id_, subq.c.value, subq.c.mime_type)
62
+ .filter_by(rank=1)
63
+ .where(subq.c.value.isnot(None))
64
+ )
61
65
 
62
66
  async def _load_fn(self, keys: list[Key]) -> list[Result]:
63
67
  async with self._db() as session:
@@ -8,7 +8,10 @@ from typing_extensions import Annotated
8
8
  from phoenix.core.model_schema import Column
9
9
  from phoenix.metrics import Metric
10
10
  from phoenix.metrics.mixins import UnaryOperator
11
- from phoenix.server.api.types.DataQualityMetric import DataQualityMetric
11
+ from phoenix.server.api.types.DataQualityMetric import (
12
+ DATA_QUALITY_METRIC_FACTORIES,
13
+ DataQualityMetric,
14
+ )
12
15
 
13
16
 
14
17
  @strawberry.input
@@ -26,7 +29,7 @@ class DataQualityMetricInput:
26
29
  metric_instance: strawberry.Private[Metric] = field(init=False)
27
30
 
28
31
  def __post_init__(self) -> None:
29
- metric_instance = self.metric.value()
32
+ metric_instance = DATA_QUALITY_METRIC_FACTORIES[self.metric]()
30
33
  if isinstance(metric_instance, UnaryOperator):
31
34
  if not isinstance(self.column_name, str):
32
35
  raise ValueError(f"column name must not be null for {self.metric.name}")
@@ -3,7 +3,10 @@ import strawberry
3
3
  from phoenix.core.model_schema import ACTUAL_LABEL, PREDICTION_LABEL, Column, Model
4
4
  from phoenix.metrics import Metric
5
5
  from phoenix.metrics.mixins import EvaluationMetric
6
- from phoenix.server.api.types.PerformanceMetric import PerformanceMetric
6
+ from phoenix.server.api.types.PerformanceMetric import (
7
+ PERFORMANCE_METRIC_FUNCTIONS,
8
+ PerformanceMetric,
9
+ )
7
10
 
8
11
 
9
12
  @strawberry.input
@@ -14,5 +17,5 @@ class PerformanceMetricInput:
14
17
  return EvaluationMetric(
15
18
  actual=Column(model[ACTUAL_LABEL].name),
16
19
  predicted=Column(model[PREDICTION_LABEL].name),
17
- eval=self.metric.value,
20
+ eval=PERFORMANCE_METRIC_FUNCTIONS[self.metric],
18
21
  )
@@ -0,0 +1,40 @@
1
+ from enum import Enum, auto
2
+ from functools import partial
3
+ from typing import Callable, Mapping, cast
4
+
5
+ import strawberry
6
+
7
+ from phoenix.metrics import Metric
8
+ from phoenix.metrics.metrics import Cardinality, Count, Max, Mean, Min, PercentEmpty, Quantile, Sum
9
+
10
+
11
+ @strawberry.enum
12
+ class DataQualityMetric(Enum):
13
+ cardinality = auto()
14
+ percentEmpty = auto()
15
+ mean = auto()
16
+ sum = auto()
17
+ min = auto()
18
+ max = auto()
19
+ count = auto()
20
+ p01 = auto()
21
+ p25 = auto()
22
+ p50 = auto()
23
+ p75 = auto()
24
+ p99 = auto()
25
+
26
+
27
+ DATA_QUALITY_METRIC_FACTORIES: Mapping[DataQualityMetric, Callable[[], Metric]] = {
28
+ DataQualityMetric.cardinality: cast(Callable[[], Metric], Cardinality),
29
+ DataQualityMetric.percentEmpty: cast(Callable[[], Metric], PercentEmpty),
30
+ DataQualityMetric.mean: cast(Callable[[], Metric], Mean),
31
+ DataQualityMetric.sum: cast(Callable[[], Metric], Sum),
32
+ DataQualityMetric.min: cast(Callable[[], Metric], Min),
33
+ DataQualityMetric.max: cast(Callable[[], Metric], Max),
34
+ DataQualityMetric.count: cast(Callable[[], Metric], Count),
35
+ DataQualityMetric.p01: cast(Callable[[], Metric], partial(Quantile, probability=0.01)),
36
+ DataQualityMetric.p25: cast(Callable[[], Metric], partial(Quantile, probability=0.25)),
37
+ DataQualityMetric.p50: cast(Callable[[], Metric], partial(Quantile, probability=0.50)),
38
+ DataQualityMetric.p75: cast(Callable[[], Metric], partial(Quantile, probability=0.75)),
39
+ DataQualityMetric.p99: cast(Callable[[], Metric], partial(Quantile, probability=0.99)),
40
+ }
@@ -0,0 +1,16 @@
1
+ from enum import Enum, auto
2
+ from typing import Callable, Mapping, cast
3
+
4
+ import strawberry
5
+
6
+ from phoenix.metrics.wrappers import SkEval
7
+
8
+
9
+ @strawberry.enum
10
+ class PerformanceMetric(Enum):
11
+ accuracyScore = auto()
12
+
13
+
14
+ PERFORMANCE_METRIC_FUNCTIONS: Mapping[PerformanceMetric, Callable[..., float]] = {
15
+ PerformanceMetric.accuracyScore: cast(Callable[..., float], SkEval.accuracy_score),
16
+ }
@@ -15,7 +15,10 @@ from phoenix.metrics.timeseries import timeseries
15
15
  from phoenix.server.api.input_types.Granularity import Granularity, to_timestamps
16
16
  from phoenix.server.api.input_types.TimeRange import TimeRange
17
17
  from phoenix.server.api.interceptor import GqlValueMediator
18
- from phoenix.server.api.types.DataQualityMetric import DataQualityMetric
18
+ from phoenix.server.api.types.DataQualityMetric import (
19
+ DATA_QUALITY_METRIC_FACTORIES,
20
+ DataQualityMetric,
21
+ )
19
22
  from phoenix.server.api.types.InferencesRole import InferencesRole
20
23
  from phoenix.server.api.types.ScalarDriftMetricEnum import ScalarDriftMetric
21
24
  from phoenix.server.api.types.VectorDriftMetricEnum import VectorDriftMetric
@@ -100,7 +103,7 @@ def get_data_quality_timeseries_data(
100
103
  granularity: Granularity,
101
104
  inferences_role: InferencesRole,
102
105
  ) -> list[TimeSeriesDataPoint]:
103
- metric_instance = metric.value()
106
+ metric_instance = DATA_QUALITY_METRIC_FACTORIES[metric]()
104
107
  if isinstance(metric_instance, UnaryOperator):
105
108
  metric_instance = replace(
106
109
  metric_instance,
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-DaxEPah8.js": {
3
- "file": "assets/components-DaxEPah8.js",
2
+ "_components-Fbz1fA9N.js": {
3
+ "file": "assets/components-Fbz1fA9N.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-DwOx_a-2.js",
7
- "_pages-CY7Swxhi.js",
7
+ "_pages-mOmTzhTQ.js",
8
8
  "_vendor-arizeai-BWSsCZNG.js",
9
9
  "_vendor-codemirror-WrxmCiOZ.js",
10
10
  "_vendor-three-DwGkEfCM.js"
11
11
  ]
12
12
  },
13
- "_pages-CY7Swxhi.js": {
14
- "file": "assets/pages-CY7Swxhi.js",
13
+ "_pages-mOmTzhTQ.js": {
14
+ "file": "assets/pages-mOmTzhTQ.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-DwOx_a-2.js",
18
18
  "_vendor-arizeai-BWSsCZNG.js",
19
- "_components-DaxEPah8.js",
19
+ "_components-Fbz1fA9N.js",
20
20
  "_vendor-codemirror-WrxmCiOZ.js",
21
21
  "_vendor-recharts-Bj7q9ORc.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-DxfKd3lv.js",
72
+ "file": "assets/index-BmwKNkwH.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-DwOx_a-2.js",
78
78
  "_vendor-arizeai-BWSsCZNG.js",
79
- "_pages-CY7Swxhi.js",
80
- "_components-DaxEPah8.js",
79
+ "_pages-mOmTzhTQ.js",
80
+ "_components-Fbz1fA9N.js",
81
81
  "_vendor-three-DwGkEfCM.js",
82
82
  "_vendor-codemirror-WrxmCiOZ.js",
83
83
  "_vendor-shiki-RnWcZtzE.js",