arize-phoenix 11.21.0__tar.gz → 11.22.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 (451) hide show
  1. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/PKG-INFO +6 -3
  2. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/README.md +4 -2
  3. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/pyproject.toml +1 -0
  4. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/models.py +9 -2
  5. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/queries.py +46 -34
  6. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/model_cost_manifest.json +3 -3
  7. arize_phoenix-11.22.0/src/phoenix/server/static/.vite/manifest.json +93 -0
  8. arize_phoenix-11.21.0/src/phoenix/server/static/assets/components-BNcxEjYs.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/components-BpxtWe3X.js +182 -180
  9. arize_phoenix-11.21.0/src/phoenix/server/static/assets/index-CKIBKnVD.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/index-Bsnzoh7f.js +22 -12
  10. arize_phoenix-11.21.0/src/phoenix/server/static/assets/pages-3RoC-adr.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/pages-BLzMd6Fl.js +443 -435
  11. arize_phoenix-11.21.0/src/phoenix/server/static/assets/vendor-BbqekBfb.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/vendor-D9AxkwFX.js +1 -1
  12. arize_phoenix-11.21.0/src/phoenix/server/static/assets/vendor-arizeai-CEwHhYfL.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/vendor-arizeai-BSWqLnk0.js +1 -1
  13. arize_phoenix-11.21.0/src/phoenix/server/static/assets/vendor-codemirror-CHApHLLJ.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/vendor-codemirror-DQOFTPza.js +3 -3
  14. arize_phoenix-11.21.0/src/phoenix/server/static/assets/vendor-recharts-Bqf7C6Cm.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/vendor-recharts-BcJHP7DH.js +1 -1
  15. arize_phoenix-11.21.0/src/phoenix/server/static/assets/vendor-shiki-BQ88Q1b1.js → arize_phoenix-11.22.0/src/phoenix/server/static/assets/vendor-shiki-DTHqzvBl.js +1 -1
  16. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/templates/index.html +1 -1
  17. arize_phoenix-11.22.0/src/phoenix/version.py +1 -0
  18. arize_phoenix-11.21.0/src/phoenix/server/static/.vite/manifest.json +0 -93
  19. arize_phoenix-11.21.0/src/phoenix/version.py +0 -1
  20. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/.gitignore +0 -0
  21. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/IP_NOTICE +0 -0
  22. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/LICENSE +0 -0
  23. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/__init__.py +0 -0
  24. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/auth.py +0 -0
  25. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/config.py +0 -0
  26. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/core/__init__.py +0 -0
  27. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/core/embedding_dimension.py +0 -0
  28. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/core/model.py +0 -0
  29. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/core/model_schema.py +0 -0
  30. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/core/model_schema_adapter.py +0 -0
  31. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/datetime_utils.py +0 -0
  32. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/README.md +0 -0
  33. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/__init__.py +0 -0
  34. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/alembic.ini +0 -0
  35. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/bulk_inserter.py +0 -0
  36. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/constants.py +0 -0
  37. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/engines.py +0 -0
  38. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/enums.py +0 -0
  39. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/facilitator.py +0 -0
  40. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/helpers.py +0 -0
  41. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/__init__.py +0 -0
  42. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/constants.py +0 -0
  43. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/dataset.py +0 -0
  44. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
  45. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/evaluation.py +0 -0
  46. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/helpers.py +0 -0
  47. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/span.py +0 -0
  48. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
  49. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
  50. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/insertion/types.py +0 -0
  51. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrate.py +0 -0
  52. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/__init__.py +0 -0
  53. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
  54. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
  55. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/env.py +0 -0
  56. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/script.py.mako +0 -0
  57. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
  58. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +0 -0
  59. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
  60. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
  61. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/6a88424799fe_update_users_with_auth_method.py +0 -0
  62. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +0 -0
  63. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/a20694b15f82_cost.py +0 -0
  64. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +0 -0
  65. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
  66. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
  67. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
  68. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/pg_config.py +0 -0
  69. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/__init__.py +0 -0
  70. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/annotation_configs.py +0 -0
  71. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/db_models.py +0 -0
  72. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/identifier.py +0 -0
  73. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/model_provider.py +0 -0
  74. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/token_price_customization.py +0 -0
  75. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/db/types/trace_retention.py +0 -0
  76. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/exceptions.py +0 -0
  77. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/__init__.py +0 -0
  78. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
  79. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/evaluators/base.py +0 -0
  80. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
  81. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
  82. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
  83. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/functions.py +0 -0
  84. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/tracing.py +0 -0
  85. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/types.py +0 -0
  86. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/experiments/utils.py +0 -0
  87. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/inferences/__init__.py +0 -0
  88. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/inferences/errors.py +0 -0
  89. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/inferences/fixtures.py +0 -0
  90. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/inferences/inferences.py +0 -0
  91. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/inferences/schema.py +0 -0
  92. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/inferences/validation.py +0 -0
  93. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/logging/__init__.py +0 -0
  94. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/logging/_config.py +0 -0
  95. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/logging/_filter.py +0 -0
  96. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/logging/_formatter.py +0 -0
  97. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/README.md +0 -0
  98. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/__init__.py +0 -0
  99. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/binning.py +0 -0
  100. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/metrics.py +0 -0
  101. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/mixins.py +0 -0
  102. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  103. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/timeseries.py +0 -0
  104. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/metrics/wrappers.py +0 -0
  105. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/pointcloud/__init__.py +0 -0
  106. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/pointcloud/clustering.py +0 -0
  107. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
  108. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/pointcloud/projectors.py +0 -0
  109. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  110. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/py.typed +0 -0
  111. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/__init__.py +0 -0
  112. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/README.md +0 -0
  113. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/__init__.py +0 -0
  114. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/auth.py +0 -0
  115. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/context.py +0 -0
  116. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
  117. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/annotation_configs_by_project.py +0 -0
  118. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
  119. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
  120. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
  121. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
  122. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
  123. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
  124. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
  125. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
  126. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
  127. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
  128. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
  129. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
  130. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
  131. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
  132. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/last_used_times_by_generative_model_id.py +0 -0
  133. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
  134. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
  135. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
  136. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
  137. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
  138. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +0 -0
  139. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
  140. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
  141. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
  142. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
  143. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
  144. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
  145. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
  146. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
  147. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
  148. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_by_span.py +0 -0
  149. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_generative_model.py +0 -0
  150. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_project_session.py +0 -0
  151. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_span.py +0 -0
  152. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_trace.py +0 -0
  153. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_details_by_span_cost.py +0 -0
  154. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment.py +0 -0
  155. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment_run.py +0 -0
  156. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_generative_model.py +0 -0
  157. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_project.py +0 -0
  158. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_project_session.py +0 -0
  159. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_trace.py +0 -0
  160. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_costs.py +0 -0
  161. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
  162. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
  163. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
  164. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
  165. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
  166. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
  167. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +0 -0
  168. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
  169. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/types.py +0 -0
  170. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
  171. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
  172. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/exceptions.py +0 -0
  173. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
  174. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/annotations.py +0 -0
  175. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
  176. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
  177. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/playground_clients.py +0 -0
  178. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
  179. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
  180. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
  181. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
  182. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
  183. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/prompts/conversions/aws.py +0 -0
  184. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
  185. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
  186. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
  187. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
  188. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
  189. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
  190. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
  191. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  192. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  193. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
  194. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/CreateProjectInput.py +0 -0
  195. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
  196. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
  197. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  198. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
  199. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DatasetFilter.py +0 -0
  200. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
  201. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
  202. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
  203. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
  204. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
  205. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
  206. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  207. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  208. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/GenerativeCredentialInput.py +0 -0
  209. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
  210. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  211. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
  212. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
  213. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
  214. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
  215. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  216. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ProjectFilter.py +0 -0
  217. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
  218. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/ProjectSort.py +0 -0
  219. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PromptFilter.py +0 -0
  220. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
  221. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
  222. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/SpanAnnotationFilter.py +0 -0
  223. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
  224. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  225. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/TimeBinConfig.py +0 -0
  226. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  227. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
  228. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
  229. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
  230. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/interceptor.py +0 -0
  231. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
  232. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/annotation_config_mutations.py +0 -0
  233. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
  234. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
  235. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
  236. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
  237. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
  238. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/model_mutations.py +0 -0
  239. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
  240. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +0 -0
  241. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
  242. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
  243. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
  244. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
  245. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
  246. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
  247. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
  248. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
  249. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/openapi/main.py +0 -0
  250. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/openapi/schema.py +0 -0
  251. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/__init__.py +0 -0
  252. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/auth.py +0 -0
  253. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
  254. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
  255. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/utils.py +0 -0
  256. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
  257. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/annotation_configs.py +0 -0
  258. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/annotations.py +0 -0
  259. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
  260. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
  261. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
  262. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
  263. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
  264. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/models.py +0 -0
  265. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/projects.py +0 -0
  266. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
  267. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/spans.py +0 -0
  268. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
  269. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/users.py +0 -0
  270. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
  271. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/schema.py +0 -0
  272. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/subscriptions.py +0 -0
  273. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Annotation.py +0 -0
  274. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/AnnotationConfig.py +0 -0
  275. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/AnnotationSource.py +0 -0
  276. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
  277. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
  278. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
  279. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
  280. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
  281. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
  282. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Cluster.py +0 -0
  283. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/CostBreakdown.py +0 -0
  284. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
  285. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/CronExpression.py +0 -0
  286. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  287. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Dataset.py +0 -0
  288. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
  289. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
  290. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  291. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
  292. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Dimension.py +0 -0
  293. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  294. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  295. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
  296. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  297. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  298. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  299. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  300. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  301. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
  302. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  303. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Event.py +0 -0
  304. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  305. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
  306. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Experiment.py +0 -0
  307. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
  308. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
  309. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
  310. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
  311. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  312. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Functionality.py +0 -0
  313. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
  314. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
  315. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Identifier.py +0 -0
  316. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/InferenceModel.py +0 -0
  317. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Inferences.py +0 -0
  318. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
  319. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
  320. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/MimeType.py +0 -0
  321. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ModelInterface.py +0 -0
  322. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
  323. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  324. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PlaygroundModel.py +0 -0
  325. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Project.py +0 -0
  326. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
  327. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ProjectTraceRetentionPolicy.py +0 -0
  328. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Prompt.py +0 -0
  329. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PromptLabel.py +0 -0
  330. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  331. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PromptVersion.py +0 -0
  332. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
  333. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
  334. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
  335. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
  336. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  337. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Segments.py +0 -0
  338. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ServerStatus.py +0 -0
  339. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/SortDir.py +0 -0
  340. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Span.py +0 -0
  341. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
  342. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/SpanCostDetailSummaryEntry.py +0 -0
  343. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/SpanCostSummary.py +0 -0
  344. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
  345. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
  346. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  347. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/TokenCountPromptDetails.py +0 -0
  348. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/TokenPrice.py +0 -0
  349. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
  350. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
  351. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/Trace.py +0 -0
  352. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
  353. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  354. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/User.py +0 -0
  355. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
  356. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/UserRole.py +0 -0
  357. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  358. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  359. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/__init__.py +0 -0
  360. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/node.py +0 -0
  361. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/types/pagination.py +0 -0
  362. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/api/utils.py +0 -0
  363. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/app.py +0 -0
  364. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/authorization.py +0 -0
  365. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/bearer_auth.py +0 -0
  366. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/__init__.py +0 -0
  367. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/cost_details_calculator.py +0 -0
  368. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/cost_model_lookup.py +0 -0
  369. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/helpers.py +0 -0
  370. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/regex_specificity.py +0 -0
  371. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/cost_tracking/token_cost_calculator.py +0 -0
  372. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/daemons/__init__.py +0 -0
  373. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/daemons/db_disk_usage_monitor.py +0 -0
  374. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/daemons/generative_model_store.py +0 -0
  375. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/daemons/span_cost_calculator.py +0 -0
  376. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/dml_event.py +0 -0
  377. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/dml_event_handler.py +0 -0
  378. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/__init__.py +0 -0
  379. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/sender.py +0 -0
  380. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/templates/__init__.py +0 -0
  381. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/templates/db_disk_usage_notification.html +0 -0
  382. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
  383. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/templates/welcome.html +0 -0
  384. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/email/types.py +0 -0
  385. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/experiments/__init__.py +0 -0
  386. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/experiments/utils.py +0 -0
  387. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/grpc_server.py +0 -0
  388. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/jwt_store.py +0 -0
  389. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/main.py +0 -0
  390. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/middleware/__init__.py +0 -0
  391. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/middleware/gzip.py +0 -0
  392. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/oauth2.py +0 -0
  393. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/openapi/__init__.py +0 -0
  394. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/prometheus.py +0 -0
  395. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/rate_limiters.py +0 -0
  396. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/retention.py +0 -0
  397. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  398. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  399. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  400. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  401. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  402. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  403. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  404. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  405. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/assets/vendor-CqDb5u4o.css +0 -0
  406. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/assets/vendor-three-BLWp5bic.js +0 -0
  407. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/favicon.ico +0 -0
  408. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/static/modernizr.js +0 -0
  409. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/telemetry.py +0 -0
  410. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/templates/__init__.py +0 -0
  411. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/thread_server.py +0 -0
  412. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/server/types.py +0 -0
  413. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/services.py +0 -0
  414. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/session/__init__.py +0 -0
  415. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/session/client.py +0 -0
  416. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/session/data_extractor.py +0 -0
  417. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/session/evaluation.py +0 -0
  418. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/session/session.py +0 -0
  419. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/settings.py +0 -0
  420. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/__init__.py +0 -0
  421. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/attributes.py +0 -0
  422. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/dsl/README.md +0 -0
  423. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/dsl/__init__.py +0 -0
  424. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/dsl/filter.py +0 -0
  425. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/dsl/helpers.py +0 -0
  426. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/dsl/query.py +0 -0
  427. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/errors.py +0 -0
  428. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
  429. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/exporter.py +0 -0
  430. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/fixtures.py +0 -0
  431. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/otel.py +0 -0
  432. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/projects.py +0 -0
  433. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/schemas.py +0 -0
  434. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/span_evaluations.py +0 -0
  435. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/span_json_decoder.py +0 -0
  436. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/span_json_encoder.py +0 -0
  437. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/trace_dataset.py +0 -0
  438. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/utils.py +0 -0
  439. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/v1/__init__.py +0 -0
  440. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  441. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  442. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/__init__.py +0 -0
  443. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/client.py +0 -0
  444. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/deprecation.py +0 -0
  445. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/error_handling.py +0 -0
  446. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/json.py +0 -0
  447. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/logging.py +0 -0
  448. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/project.py +0 -0
  449. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/re.py +0 -0
  450. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/span_store.py +0 -0
  451. {arize_phoenix-11.21.0 → arize_phoenix-11.22.0}/src/phoenix/utilities/template_formatters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 11.21.0
3
+ Version: 11.22.0
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://arize.com/docs/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -38,6 +38,7 @@ Requires-Dist: opentelemetry-exporter-otlp
38
38
  Requires-Dist: opentelemetry-proto>=1.12.0
39
39
  Requires-Dist: opentelemetry-sdk
40
40
  Requires-Dist: opentelemetry-semantic-conventions
41
+ Requires-Dist: orjson
41
42
  Requires-Dist: pandas>=1.0
42
43
  Requires-Dist: prometheus-client
43
44
  Requires-Dist: protobuf>=4.25.8
@@ -167,7 +168,7 @@ Description-Content-Type: text/markdown
167
168
  <a target="_blank" href="https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-mcp">
168
169
  <img src="https://badge.mcpx.dev?status=on" title="MCP Enabled"/>
169
170
  </a>
170
- <a href="https://cursor.com/install-mcp?name=phoenix&config=eyJjb21tYW5kIjoibnB4IC15IEBhcml6ZWFpL3Bob2VuaXgtbWNwQGxhdGVzdCAtLWJhc2VVcmwgaHR0cDovL2xvY2FsaG9zdDo2MDA2IC0tYXBpS2V5IHlvdXItYXBpLWtleSJ9"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add Arize Phoenix MCP server to Cursor" height=20 /></a>
171
+ <a href="cursor://anysphere.cursor-deeplink/mcp/install?name=phoenix&config=eyJjb21tYW5kIjoibnB4IC15IEBhcml6ZWFpL3Bob2VuaXgtbWNwQGxhdGVzdCAtLWJhc2VVcmwgaHR0cHM6Ly9teS1waG9lbml4LmNvbSAtLWFwaUtleSB5b3VyLWFwaS1rZXkifQ%3D%3D"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add Arize Phoenix MCP server to Cursor" height=20 /></a>
171
172
  </p>
172
173
 
173
174
  Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
@@ -254,14 +255,16 @@ Phoenix is built on top of OpenTelemetry and is vendor, language, and framework
254
255
  | Integration | Package | Version Badge |
255
256
  | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
256
257
  | [LangChain4j](https://github.com/Arize-ai/openinference/tree/main/java/instrumentation/openinference-instrumentation-langchain4j) | `openinference-instrumentation-langchain4j` | [![Maven Central](https://img.shields.io/maven-central/v/com.arize/openinference-instrumentation-langchain4j.svg)](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-langchain4j) |
258
+ | [SpringAI](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) | `openinference-instrumentation-springAI` | [![Maven Central](https://img.shields.io/maven-central/v/com.arize/openinference-instrumentation-springAI.svg)](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) |
257
259
 
258
260
  ### Platforms
259
261
 
260
262
  | Platform | Description | Docs |
261
263
  | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
264
+ | [BeeAI](https://docs.beeai.dev/observability/agents-traceability) | AI agent framework with built-in observability | [Integration Guide](https://docs.beeai.dev/observability/agents-traceability) |
262
265
  | [Dify](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) | Open-source LLM app development platform | [Integration Guide](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) |
266
+ | [Envoy AI Gateway](https://github.com/envoyproxy/ai-gateway) | AI Gateway built on Envoy Proxy for AI workloads | [Integration Guide](https://github.com/envoyproxy/ai-gateway/tree/main/cmd/aigw#opentelemetry-setup-with-phoenix) |
263
267
  | [LangFlow](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) | Visual framework for building multi-agent and RAG applications | [Integration Guide](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) |
264
- | [BeeAI](https://docs.beeai.dev/observability/agents-traceability) | AI agent framework with built-in observability | [Integration Guide](https://docs.beeai.dev/observability/agents-traceability) |
265
268
  | [LiteLLM Proxy](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) | Proxy server for LLMs | [Integration Guide](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) |
266
269
 
267
270
  ## Community
@@ -34,7 +34,7 @@
34
34
  <a target="_blank" href="https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-mcp">
35
35
  <img src="https://badge.mcpx.dev?status=on" title="MCP Enabled"/>
36
36
  </a>
37
- <a href="https://cursor.com/install-mcp?name=phoenix&config=eyJjb21tYW5kIjoibnB4IC15IEBhcml6ZWFpL3Bob2VuaXgtbWNwQGxhdGVzdCAtLWJhc2VVcmwgaHR0cDovL2xvY2FsaG9zdDo2MDA2IC0tYXBpS2V5IHlvdXItYXBpLWtleSJ9"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add Arize Phoenix MCP server to Cursor" height=20 /></a>
37
+ <a href="cursor://anysphere.cursor-deeplink/mcp/install?name=phoenix&config=eyJjb21tYW5kIjoibnB4IC15IEBhcml6ZWFpL3Bob2VuaXgtbWNwQGxhdGVzdCAtLWJhc2VVcmwgaHR0cHM6Ly9teS1waG9lbml4LmNvbSAtLWFwaUtleSB5b3VyLWFwaS1rZXkifQ%3D%3D"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add Arize Phoenix MCP server to Cursor" height=20 /></a>
38
38
  </p>
39
39
 
40
40
  Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
@@ -121,14 +121,16 @@ Phoenix is built on top of OpenTelemetry and is vendor, language, and framework
121
121
  | Integration | Package | Version Badge |
122
122
  | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
123
123
  | [LangChain4j](https://github.com/Arize-ai/openinference/tree/main/java/instrumentation/openinference-instrumentation-langchain4j) | `openinference-instrumentation-langchain4j` | [![Maven Central](https://img.shields.io/maven-central/v/com.arize/openinference-instrumentation-langchain4j.svg)](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-langchain4j) |
124
+ | [SpringAI](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) | `openinference-instrumentation-springAI` | [![Maven Central](https://img.shields.io/maven-central/v/com.arize/openinference-instrumentation-springAI.svg)](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) |
124
125
 
125
126
  ### Platforms
126
127
 
127
128
  | Platform | Description | Docs |
128
129
  | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
130
+ | [BeeAI](https://docs.beeai.dev/observability/agents-traceability) | AI agent framework with built-in observability | [Integration Guide](https://docs.beeai.dev/observability/agents-traceability) |
129
131
  | [Dify](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) | Open-source LLM app development platform | [Integration Guide](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) |
132
+ | [Envoy AI Gateway](https://github.com/envoyproxy/ai-gateway) | AI Gateway built on Envoy Proxy for AI workloads | [Integration Guide](https://github.com/envoyproxy/ai-gateway/tree/main/cmd/aigw#opentelemetry-setup-with-phoenix) |
130
133
  | [LangFlow](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) | Visual framework for building multi-agent and RAG applications | [Integration Guide](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) |
131
- | [BeeAI](https://docs.beeai.dev/observability/agents-traceability) | AI agent framework with built-in observability | [Integration Guide](https://docs.beeai.dev/observability/agents-traceability) |
132
134
  | [LiteLLM Proxy](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) | Proxy server for LLMs | [Integration Guide](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) |
133
135
 
134
136
  ## Community
@@ -61,6 +61,7 @@ dependencies = [
61
61
  "email-validator",
62
62
  "python-dateutil",
63
63
  "prometheus_client",
64
+ "orjson",
64
65
  ]
65
66
  dynamic = ["version"]
66
67
 
@@ -2,6 +2,7 @@ import re
2
2
  from datetime import datetime, timezone
3
3
  from typing import Any, Iterable, Literal, Optional, Sequence, TypedDict, cast
4
4
 
5
+ import orjson
5
6
  import sqlalchemy as sa
6
7
  import sqlalchemy.sql as sql
7
8
  from openinference.semconv.trace import RerankerAttributes, SpanAttributes
@@ -187,7 +188,10 @@ class JsonDict(TypeDecorator[dict[str, Any]]):
187
188
  impl = JSON_
188
189
 
189
190
  def process_bind_param(self, value: Optional[dict[str, Any]], _: Dialect) -> dict[str, Any]:
190
- return value if isinstance(value, dict) else {}
191
+ return orjson.loads(orjson.dumps(value)) if isinstance(value, dict) else {}
192
+
193
+ def process_result_value(self, value: Optional[Any], _: Dialect) -> Optional[dict[str, Any]]:
194
+ return orjson.loads(orjson.dumps(value)) if isinstance(value, dict) and value else value
191
195
 
192
196
 
193
197
  class JsonList(TypeDecorator[list[Any]]):
@@ -196,7 +200,10 @@ class JsonList(TypeDecorator[list[Any]]):
196
200
  impl = JSON_
197
201
 
198
202
  def process_bind_param(self, value: Optional[list[Any]], _: Dialect) -> list[Any]:
199
- return value if isinstance(value, list) else []
203
+ return orjson.loads(orjson.dumps(value)) if isinstance(value, list) else []
204
+
205
+ def process_result_value(self, value: Optional[Any], _: Dialect) -> Optional[list[Any]]:
206
+ return orjson.loads(orjson.dumps(value)) if isinstance(value, list) and value else value
200
207
 
201
208
 
202
209
  class UtcTimeStamp(TypeDecorator[datetime]):
@@ -7,8 +7,8 @@ from typing import cast as type_cast
7
7
  import numpy as np
8
8
  import numpy.typing as npt
9
9
  import strawberry
10
- from sqlalchemy import ColumnElement, String, and_, case, cast, distinct, func, select, text
11
- from sqlalchemy.orm import aliased, joinedload
10
+ from sqlalchemy import ColumnElement, String, and_, case, cast, func, select, text
11
+ from sqlalchemy.orm import aliased, joinedload, load_only
12
12
  from starlette.authentication import UnauthenticatedUser
13
13
  from strawberry import ID, UNSET
14
14
  from strawberry.relay import Connection, GlobalID, Node
@@ -375,41 +375,52 @@ class Query:
375
375
  raise BadRequest("Compare experiment IDs cannot contain the base experiment ID")
376
376
  if len(set(compare_experiment_ids)) < len(compare_experiment_ids):
377
377
  raise BadRequest("Compare experiment IDs must be unique")
378
- experiment_ids = [
379
- from_global_id_with_expected_type(experiment_id, models.Experiment.__name__)
380
- for experiment_id in (base_experiment_id, *compare_experiment_ids)
381
- ]
378
+
379
+ try:
380
+ base_experiment_rowid = from_global_id_with_expected_type(
381
+ base_experiment_id, models.Experiment.__name__
382
+ )
383
+ except ValueError:
384
+ raise BadRequest(f"Invalid base experiment ID: {base_experiment_id}")
385
+
386
+ compare_experiment_rowids = []
387
+ for compare_experiment_id in compare_experiment_ids:
388
+ try:
389
+ compare_experiment_rowids.append(
390
+ from_global_id_with_expected_type(
391
+ compare_experiment_id, models.Experiment.__name__
392
+ )
393
+ )
394
+ except ValueError:
395
+ raise BadRequest(f"Invalid compare experiment ID: {compare_experiment_id}")
396
+
397
+ experiment_rowids = [base_experiment_rowid, *compare_experiment_rowids]
398
+
382
399
  cursor = Cursor.from_string(after) if after else None
383
400
  page_size = first or 50
384
401
 
385
402
  async with info.context.db() as session:
386
- validation_result = (
387
- await session.execute(
403
+ experiments = (
404
+ await session.scalars(
388
405
  select(
389
- func.count(distinct(models.DatasetVersion.dataset_id)),
390
- func.max(models.DatasetVersion.dataset_id),
391
- func.max(models.DatasetVersion.id),
392
- func.count(models.Experiment.id),
393
- )
394
- .select_from(models.DatasetVersion)
395
- .join(
396
406
  models.Experiment,
397
- models.Experiment.dataset_version_id == models.DatasetVersion.id,
398
407
  )
399
- .where(
400
- models.Experiment.id.in_(experiment_ids),
408
+ .where(models.Experiment.id.in_(experiment_rowids))
409
+ .options(
410
+ load_only(
411
+ models.Experiment.dataset_id, models.Experiment.dataset_version_id
412
+ )
401
413
  )
402
414
  )
403
- ).first()
404
- if validation_result is None:
405
- raise NotFound("No experiments could be found for input IDs.")
406
-
407
- num_datasets, dataset_id, version_id, num_resolved_experiment_ids = validation_result
408
- if num_datasets != 1:
409
- raise BadRequest("Experiments must belong to the same dataset.")
410
- if num_resolved_experiment_ids != len(experiment_ids):
415
+ ).all()
416
+ if not experiments or len(experiments) < len(experiment_rowids):
411
417
  raise NotFound("Unable to resolve one or more experiment IDs.")
412
-
418
+ num_datasets = len(set(experiment.dataset_id for experiment in experiments))
419
+ if num_datasets > 1:
420
+ raise BadRequest("Experiments must belong to the same dataset.")
421
+ base_experiment = next(
422
+ experiment for experiment in experiments if experiment.id == base_experiment_rowid
423
+ )
413
424
  revision_ids = (
414
425
  select(func.max(models.DatasetExampleRevision.id))
415
426
  .join(
@@ -418,8 +429,9 @@ class Query:
418
429
  )
419
430
  .where(
420
431
  and_(
421
- models.DatasetExampleRevision.dataset_version_id <= version_id,
422
- models.DatasetExample.dataset_id == dataset_id,
432
+ models.DatasetExampleRevision.dataset_version_id
433
+ <= base_experiment.dataset_version_id,
434
+ models.DatasetExample.dataset_id == base_experiment.dataset_id,
423
435
  )
424
436
  )
425
437
  .group_by(models.DatasetExampleRevision.dataset_example_id)
@@ -447,7 +459,7 @@ class Query:
447
459
  examples_query = update_examples_query_with_filter_condition(
448
460
  query=examples_query,
449
461
  filter_condition=filter_condition,
450
- experiment_ids=experiment_ids,
462
+ experiment_ids=experiment_rowids,
451
463
  )
452
464
 
453
465
  examples = (await session.scalars(examples_query)).all()
@@ -466,7 +478,7 @@ class Query:
466
478
  models.ExperimentRun.dataset_example_id.in_(
467
479
  example.id for example in examples
468
480
  ),
469
- models.ExperimentRun.experiment_id.in_(experiment_ids),
481
+ models.ExperimentRun.experiment_id.in_(experiment_rowids),
470
482
  )
471
483
  )
472
484
  .options(joinedload(models.ExperimentRun.trace).load_only(models.Trace.trace_id))
@@ -479,7 +491,7 @@ class Query:
479
491
  cursors_and_nodes = []
480
492
  for example in examples:
481
493
  run_comparison_items = []
482
- for experiment_id in experiment_ids:
494
+ for experiment_id in experiment_rowids:
483
495
  run_comparison_items.append(
484
496
  RunComparisonItem(
485
497
  experiment_id=GlobalID(Experiment.__name__, str(experiment_id)),
@@ -496,7 +508,7 @@ class Query:
496
508
  example=DatasetExample(
497
509
  id_attr=example.id,
498
510
  created_at=example.created_at,
499
- version_id=version_id,
511
+ version_id=base_experiment.dataset_version_id,
500
512
  ),
501
513
  run_comparison_items=run_comparison_items,
502
514
  )
@@ -1491,7 +1503,7 @@ class Query:
1491
1503
  return None
1492
1504
 
1493
1505
  @strawberry.field
1494
- async def get_project_session_by_otel_id(
1506
+ async def get_project_session_by_id(
1495
1507
  self,
1496
1508
  info: Info[Context, None],
1497
1509
  session_id: str,
@@ -2182,17 +2182,17 @@
2182
2182
  "source": "litellm",
2183
2183
  "token_prices": [
2184
2184
  {
2185
- "base_rate": 5e-6,
2185
+ "base_rate": 1.25e-6,
2186
2186
  "is_prompt": true,
2187
2187
  "token_type": "input"
2188
2188
  },
2189
2189
  {
2190
- "base_rate": 0.00002,
2190
+ "base_rate": 0.00001,
2191
2191
  "is_prompt": false,
2192
2192
  "token_type": "output"
2193
2193
  },
2194
2194
  {
2195
- "base_rate": 1.25e-6,
2195
+ "base_rate": 1.25e-7,
2196
2196
  "is_prompt": true,
2197
2197
  "token_type": "cache_read"
2198
2198
  }
@@ -0,0 +1,93 @@
1
+ {
2
+ "_components-BpxtWe3X.js": {
3
+ "file": "assets/components-BpxtWe3X.js",
4
+ "name": "components",
5
+ "imports": [
6
+ "_vendor-D9AxkwFX.js",
7
+ "_pages-BLzMd6Fl.js",
8
+ "_vendor-arizeai-BSWqLnk0.js",
9
+ "_vendor-codemirror-DQOFTPza.js",
10
+ "_vendor-three-BLWp5bic.js"
11
+ ]
12
+ },
13
+ "_pages-BLzMd6Fl.js": {
14
+ "file": "assets/pages-BLzMd6Fl.js",
15
+ "name": "pages",
16
+ "imports": [
17
+ "_vendor-D9AxkwFX.js",
18
+ "_vendor-arizeai-BSWqLnk0.js",
19
+ "_components-BpxtWe3X.js",
20
+ "_vendor-codemirror-DQOFTPza.js",
21
+ "_vendor-recharts-BcJHP7DH.js"
22
+ ]
23
+ },
24
+ "_vendor-CqDb5u4o.css": {
25
+ "file": "assets/vendor-CqDb5u4o.css",
26
+ "src": "_vendor-CqDb5u4o.css"
27
+ },
28
+ "_vendor-D9AxkwFX.js": {
29
+ "file": "assets/vendor-D9AxkwFX.js",
30
+ "name": "vendor",
31
+ "imports": [
32
+ "_vendor-three-BLWp5bic.js"
33
+ ],
34
+ "css": [
35
+ "assets/vendor-CqDb5u4o.css"
36
+ ]
37
+ },
38
+ "_vendor-arizeai-BSWqLnk0.js": {
39
+ "file": "assets/vendor-arizeai-BSWqLnk0.js",
40
+ "name": "vendor-arizeai",
41
+ "imports": [
42
+ "_vendor-D9AxkwFX.js"
43
+ ]
44
+ },
45
+ "_vendor-codemirror-DQOFTPza.js": {
46
+ "file": "assets/vendor-codemirror-DQOFTPza.js",
47
+ "name": "vendor-codemirror",
48
+ "imports": [
49
+ "_vendor-D9AxkwFX.js",
50
+ "_vendor-shiki-DTHqzvBl.js"
51
+ ],
52
+ "dynamicImports": [
53
+ "_vendor-shiki-DTHqzvBl.js",
54
+ "_vendor-shiki-DTHqzvBl.js",
55
+ "_vendor-shiki-DTHqzvBl.js"
56
+ ]
57
+ },
58
+ "_vendor-recharts-BcJHP7DH.js": {
59
+ "file": "assets/vendor-recharts-BcJHP7DH.js",
60
+ "name": "vendor-recharts",
61
+ "imports": [
62
+ "_vendor-D9AxkwFX.js"
63
+ ]
64
+ },
65
+ "_vendor-shiki-DTHqzvBl.js": {
66
+ "file": "assets/vendor-shiki-DTHqzvBl.js",
67
+ "name": "vendor-shiki",
68
+ "isDynamicEntry": true,
69
+ "imports": [
70
+ "_vendor-D9AxkwFX.js"
71
+ ]
72
+ },
73
+ "_vendor-three-BLWp5bic.js": {
74
+ "file": "assets/vendor-three-BLWp5bic.js",
75
+ "name": "vendor-three"
76
+ },
77
+ "index.tsx": {
78
+ "file": "assets/index-Bsnzoh7f.js",
79
+ "name": "index",
80
+ "src": "index.tsx",
81
+ "isEntry": true,
82
+ "imports": [
83
+ "_vendor-D9AxkwFX.js",
84
+ "_vendor-arizeai-BSWqLnk0.js",
85
+ "_pages-BLzMd6Fl.js",
86
+ "_components-BpxtWe3X.js",
87
+ "_vendor-three-BLWp5bic.js",
88
+ "_vendor-codemirror-DQOFTPza.js",
89
+ "_vendor-shiki-DTHqzvBl.js",
90
+ "_vendor-recharts-BcJHP7DH.js"
91
+ ]
92
+ }
93
+ }