arize-phoenix 2.9.0__tar.gz → 2.9.2__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 (179) hide show
  1. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/PKG-INFO +38 -16
  2. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/README.md +37 -15
  3. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/client.py +11 -6
  4. arize_phoenix-2.9.2/src/phoenix/version.py +1 -0
  5. arize_phoenix-2.9.0/src/phoenix/version.py +0 -1
  6. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/.gitignore +0 -0
  7. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/IP_NOTICE +0 -0
  8. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/LICENSE +0 -0
  9. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/pyproject.toml +0 -0
  10. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/__init__.py +0 -0
  11. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/config.py +0 -0
  12. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/__init__.py +0 -0
  13. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/embedding_dimension.py +0 -0
  14. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/evals.py +0 -0
  15. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/model.py +0 -0
  16. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/model_schema.py +0 -0
  17. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/model_schema_adapter.py +0 -0
  18. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/traces.py +0 -0
  19. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/__init__.py +0 -0
  20. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/dataset.py +0 -0
  21. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/errors.py +0 -0
  22. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/fixtures.py +0 -0
  23. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/schema.py +0 -0
  24. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/validation.py +0 -0
  25. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datetime_utils.py +0 -0
  26. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/exceptions.py +0 -0
  27. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/__init__.py +0 -0
  28. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/__init__.py +0 -0
  29. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/evaluators.py +0 -0
  30. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/__init__.py +0 -0
  31. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/classify.py +0 -0
  32. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/executor.py +0 -0
  33. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/generate.py +0 -0
  34. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/processing.py +0 -0
  35. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/__init__.py +0 -0
  36. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/anthropic.py +0 -0
  37. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/base.py +0 -0
  38. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/bedrock.py +0 -0
  39. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/litellm.py +0 -0
  40. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/openai.py +0 -0
  41. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/rate_limiters.py +0 -0
  42. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/vertex.py +0 -0
  43. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/vertexai.py +0 -0
  44. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/retrievals.py +0 -0
  45. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/__init__.py +0 -0
  46. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/default_templates.py +0 -0
  47. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/template.py +0 -0
  48. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/utils/__init__.py +0 -0
  49. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/utils/threads.py +0 -0
  50. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/README.md +0 -0
  51. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/__init__.py +0 -0
  52. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/binning.py +0 -0
  53. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/metrics.py +0 -0
  54. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/mixins.py +0 -0
  55. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  56. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/timeseries.py +0 -0
  57. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/wrappers.py +0 -0
  58. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/__init__.py +0 -0
  59. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/clustering.py +0 -0
  60. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/pointcloud.py +0 -0
  61. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/projectors.py +0 -0
  62. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  63. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/py.typed +0 -0
  64. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/__init__.py +0 -0
  65. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/__init__.py +0 -0
  66. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/context.py +0 -0
  67. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/helpers.py +0 -0
  68. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  69. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  70. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  71. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  72. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  73. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  74. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  75. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  76. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  77. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/__init__.py +0 -0
  78. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/interceptor.py +0 -0
  79. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/__init__.py +0 -0
  80. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/evaluation_handler.py +0 -0
  81. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/span_handler.py +0 -0
  82. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/trace_handler.py +0 -0
  83. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/utils.py +0 -0
  84. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/schema.py +0 -0
  85. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Cluster.py +0 -0
  86. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  87. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Dataset.py +0 -0
  88. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DatasetInfo.py +0 -0
  89. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DatasetRole.py +0 -0
  90. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  91. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Dimension.py +0 -0
  92. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  93. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  94. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionType.py +0 -0
  95. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  96. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  97. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  98. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  99. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  100. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Evaluation.py +0 -0
  101. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  102. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Event.py +0 -0
  103. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  104. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ExportEventsMutation.py +0 -0
  105. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  106. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Functionality.py +0 -0
  107. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/MimeType.py +0 -0
  108. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Model.py +0 -0
  109. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/NumericRange.py +0 -0
  110. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  111. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  112. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Retrieval.py +0 -0
  113. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  114. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Segments.py +0 -0
  115. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/SortDir.py +0 -0
  116. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Span.py +0 -0
  117. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  118. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  119. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  120. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  121. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/__init__.py +0 -0
  122. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/node.py +0 -0
  123. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/pagination.py +0 -0
  124. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/app.py +0 -0
  125. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/main.py +0 -0
  126. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  127. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  128. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  129. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  130. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  131. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  132. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  133. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  134. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/favicon.ico +0 -0
  135. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/index.css +0 -0
  136. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/index.js +0 -0
  137. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/modernizr.js +0 -0
  138. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/templates/__init__.py +0 -0
  139. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/templates/index.html +0 -0
  140. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/thread_server.py +0 -0
  141. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/services.py +0 -0
  142. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/__init__.py +0 -0
  143. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/data_extractor.py +0 -0
  144. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/evaluation.py +0 -0
  145. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/session.py +0 -0
  146. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/__init__.py +0 -0
  147. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/__init__.py +0 -0
  148. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/filter.py +0 -0
  149. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/helpers.py +0 -0
  150. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/missing.py +0 -0
  151. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/query.py +0 -0
  152. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/errors.py +0 -0
  153. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/evaluation_conventions.py +0 -0
  154. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/exporter.py +0 -0
  155. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/fixtures.py +0 -0
  156. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/langchain/__init__.py +0 -0
  157. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/langchain/instrumentor.py +0 -0
  158. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/langchain/tracer.py +0 -0
  159. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/__init__.py +0 -0
  160. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/callback.py +0 -0
  161. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/debug_callback.py +0 -0
  162. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/streaming.py +0 -0
  163. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/openai/__init__.py +0 -0
  164. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/openai/instrumentor.py +0 -0
  165. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/otel.py +0 -0
  166. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/schemas.py +0 -0
  167. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/semantic_conventions.py +0 -0
  168. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/span_evaluations.py +0 -0
  169. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/span_json_decoder.py +0 -0
  170. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/span_json_encoder.py +0 -0
  171. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/trace_dataset.py +0 -0
  172. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/tracer.py +0 -0
  173. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/utils.py +0 -0
  174. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/v1/__init__.py +0 -0
  175. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  176. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  177. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/utilities/__init__.py +0 -0
  178. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/utilities/error_handling.py +0 -0
  179. {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/utilities/logging.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arize-phoenix
3
- Version: 2.9.0
3
+ Version: 2.9.2
4
4
  Summary: ML Observability in your notebook
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -103,21 +103,22 @@ Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config o
103
103
 
104
104
  **Table of Contents**
105
105
 
106
- - [Installation](#installation)
107
- - [LLM Traces](#llm-traces)
108
- - [Tracing with LlamaIndex](#tracing-with-llamaindex)
109
- - [Tracing with LangChain](#tracing-with-langchain)
110
- - [LLM Evals](#llm-evals)
111
- - [Embedding Analysis](#embedding-analysis)
112
- - [UMAP-based Exploratory Data Analysis](#umap-based-exploratory-data-analysis)
113
- - [Cluster-driven Drift and Performance Analysis](#cluster-driven-drift-and-performance-analysis)
114
- - [Exportable Clusters](#exportable-clusters)
115
- - [Retrieval-Augmented Generation Analysis](#retrieval-augmented-generation-analysis)
116
- - [Structured Data Analysis](#structured-data-analysis)
117
- - [Breaking Changes](#breaking-changes)
118
- - [Community](#community)
119
- - [Thanks](#thanks)
120
- - [Copyright, Patent, and License](#copyright-patent-and-license)
106
+ - [Installation](#installation)
107
+ - [LLM Traces](#llm-traces)
108
+ - [Tracing with LlamaIndex](#tracing-with-llamaindex)
109
+ - [Tracing with LangChain](#tracing-with-langchain)
110
+ - [LLM Evals](#llm-evals)
111
+ - [Embedding Analysis](#embedding-analysis)
112
+ - [UMAP-based Exploratory Data Analysis](#umap-based-exploratory-data-analysis)
113
+ - [Cluster-driven Drift and Performance Analysis](#cluster-driven-drift-and-performance-analysis)
114
+ - [Exportable Clusters](#exportable-clusters)
115
+ - [Retrieval-Augmented Generation Analysis](#retrieval-augmented-generation-analysis)
116
+ - [Structured Data Analysis](#structured-data-analysis)
117
+ - [Deploying Phoenix](#deploying-phoenix)
118
+ - [Breaking Changes](#breaking-changes)
119
+ - [Community](#community)
120
+ - [Thanks](#thanks)
121
+ - [Copyright, Patent, and License](#copyright-patent-and-license)
121
122
 
122
123
  ## Installation
123
124
 
@@ -432,6 +433,27 @@ train_ds = px.Dataset(dataframe=train_df, schema=schema, name="training")
432
433
  session = px.launch_app(primary=prod_ds, reference=train_ds)
433
434
  ```
434
435
 
436
+ ## Deploying Phoenix
437
+
438
+ <a target="_blank" href="https://hub.docker.com/repository/docker/arizephoenix/phoenix/general">
439
+ <img src="https://img.shields.io/docker/v/arizephoenix/phoenix?sort=semver&logo=docker&label=image&color=blue">
440
+ </a>
441
+
442
+ <img src="https://storage.googleapis.com/arize-assets/phoenix/assets/images/deployment.png" title="How phoenix can collect traces from an LLM application"/>
443
+
444
+ Phoenix's notebook-first approach to observability makes it a great tool to utilize during experimentation and pre-production. However at some point you are going to want to ship your application to production and continue to monitor your application as it runs. Phoenix is made up of two components that can be deployed independently:
445
+
446
+ - **Trace Instrumentation**: These are a set of plugins that can be added to your application's startup process. These plugins (known as instrumentations) automatically collect spans for your application and export them for collection and visualization. For phoenix, all the instrumentors are managed via a single repository called [OpenInference](https://github.com/Arize-ai/openinference)
447
+ - **Trace Collector**: The Phoenix server acts as a trace collector and application that helps you troubleshoot your application in real time. You can pull the latest images of Phoenix from the [Docker Hub](https://hub.docker.com/repository/docker/arizephoenix/phoenix/general)
448
+
449
+ In order to run Phoenix tracing in production, you will have to follow these following steps:
450
+
451
+ - **Setup a Server**: your LLM application to run on a server ([examples](https://github.com/Arize-ai/openinference/tree/main/python/examples))
452
+ - **Instrument**: Add [OpenInference](https://github.com/Arize-ai/openinference) Instrumentation to your server
453
+ - Observe: Run the Phoenix server as a side-car or a standalone instance and point your tracing instrumentation to the phoenix server
454
+
455
+ For more information on deploying Phoenix, see the [Phoenix Deployment Guide](https://docs.arize.com/phoenix/deployment/deploying-phoenix).
456
+
435
457
  ## Breaking Changes
436
458
 
437
459
  - **v1.0.0** - Phoenix now exclusively supports the `openai>=1.0.0` sdk. If you are using an older version of the OpenAI SDK, you can continue to use `arize-phoenix==0.1.1`. However, we recommend upgrading to the latest version of the OpenAI SDK as it contains many improvements. If you are using Phoenix with LlamaIndex and and LangChain, you will have to upgrade to the versions of these packages that support the OpenAI `1.0.0` SDK as well (`llama-index>=0.8.64`, `langchain>=0.0.334`)
@@ -39,21 +39,22 @@ Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config o
39
39
 
40
40
  **Table of Contents**
41
41
 
42
- - [Installation](#installation)
43
- - [LLM Traces](#llm-traces)
44
- - [Tracing with LlamaIndex](#tracing-with-llamaindex)
45
- - [Tracing with LangChain](#tracing-with-langchain)
46
- - [LLM Evals](#llm-evals)
47
- - [Embedding Analysis](#embedding-analysis)
48
- - [UMAP-based Exploratory Data Analysis](#umap-based-exploratory-data-analysis)
49
- - [Cluster-driven Drift and Performance Analysis](#cluster-driven-drift-and-performance-analysis)
50
- - [Exportable Clusters](#exportable-clusters)
51
- - [Retrieval-Augmented Generation Analysis](#retrieval-augmented-generation-analysis)
52
- - [Structured Data Analysis](#structured-data-analysis)
53
- - [Breaking Changes](#breaking-changes)
54
- - [Community](#community)
55
- - [Thanks](#thanks)
56
- - [Copyright, Patent, and License](#copyright-patent-and-license)
42
+ - [Installation](#installation)
43
+ - [LLM Traces](#llm-traces)
44
+ - [Tracing with LlamaIndex](#tracing-with-llamaindex)
45
+ - [Tracing with LangChain](#tracing-with-langchain)
46
+ - [LLM Evals](#llm-evals)
47
+ - [Embedding Analysis](#embedding-analysis)
48
+ - [UMAP-based Exploratory Data Analysis](#umap-based-exploratory-data-analysis)
49
+ - [Cluster-driven Drift and Performance Analysis](#cluster-driven-drift-and-performance-analysis)
50
+ - [Exportable Clusters](#exportable-clusters)
51
+ - [Retrieval-Augmented Generation Analysis](#retrieval-augmented-generation-analysis)
52
+ - [Structured Data Analysis](#structured-data-analysis)
53
+ - [Deploying Phoenix](#deploying-phoenix)
54
+ - [Breaking Changes](#breaking-changes)
55
+ - [Community](#community)
56
+ - [Thanks](#thanks)
57
+ - [Copyright, Patent, and License](#copyright-patent-and-license)
57
58
 
58
59
  ## Installation
59
60
 
@@ -368,6 +369,27 @@ train_ds = px.Dataset(dataframe=train_df, schema=schema, name="training")
368
369
  session = px.launch_app(primary=prod_ds, reference=train_ds)
369
370
  ```
370
371
 
372
+ ## Deploying Phoenix
373
+
374
+ <a target="_blank" href="https://hub.docker.com/repository/docker/arizephoenix/phoenix/general">
375
+ <img src="https://img.shields.io/docker/v/arizephoenix/phoenix?sort=semver&logo=docker&label=image&color=blue">
376
+ </a>
377
+
378
+ <img src="https://storage.googleapis.com/arize-assets/phoenix/assets/images/deployment.png" title="How phoenix can collect traces from an LLM application"/>
379
+
380
+ Phoenix's notebook-first approach to observability makes it a great tool to utilize during experimentation and pre-production. However at some point you are going to want to ship your application to production and continue to monitor your application as it runs. Phoenix is made up of two components that can be deployed independently:
381
+
382
+ - **Trace Instrumentation**: These are a set of plugins that can be added to your application's startup process. These plugins (known as instrumentations) automatically collect spans for your application and export them for collection and visualization. For phoenix, all the instrumentors are managed via a single repository called [OpenInference](https://github.com/Arize-ai/openinference)
383
+ - **Trace Collector**: The Phoenix server acts as a trace collector and application that helps you troubleshoot your application in real time. You can pull the latest images of Phoenix from the [Docker Hub](https://hub.docker.com/repository/docker/arizephoenix/phoenix/general)
384
+
385
+ In order to run Phoenix tracing in production, you will have to follow these following steps:
386
+
387
+ - **Setup a Server**: your LLM application to run on a server ([examples](https://github.com/Arize-ai/openinference/tree/main/python/examples))
388
+ - **Instrument**: Add [OpenInference](https://github.com/Arize-ai/openinference) Instrumentation to your server
389
+ - Observe: Run the Phoenix server as a side-car or a standalone instance and point your tracing instrumentation to the phoenix server
390
+
391
+ For more information on deploying Phoenix, see the [Phoenix Deployment Guide](https://docs.arize.com/phoenix/deployment/deploying-phoenix).
392
+
371
393
  ## Breaking Changes
372
394
 
373
395
  - **v1.0.0** - Phoenix now exclusively supports the `openai>=1.0.0` sdk. If you are using an older version of the OpenAI SDK, you can continue to use `arize-phoenix==0.1.1`. However, we recommend upgrading to the latest version of the OpenAI SDK as it contains many improvements. If you are using Phoenix with LlamaIndex and and LangChain, you will have to upgrade to the versions of these packages that support the OpenAI `1.0.0` SDK as well (`llama-index>=0.8.64`, `langchain>=0.0.334`)
@@ -11,7 +11,7 @@ from pyarrow import ArrowInvalid
11
11
  from requests import Session
12
12
 
13
13
  import phoenix as px
14
- from phoenix.config import get_env_host, get_env_port
14
+ from phoenix.config import get_env_collector_endpoint, get_env_host, get_env_port
15
15
  from phoenix.session.data_extractor import TraceDataExtractor
16
16
  from phoenix.trace import Evaluations
17
17
  from phoenix.trace.dsl import SpanQuery
@@ -33,12 +33,17 @@ class Client(TraceDataExtractor):
33
33
  ----------
34
34
  endpoint : str, optional
35
35
  Phoenix server endpoint, e.g. http://localhost:6006. If not provided, the
36
- host and port will be inferred from the environment variables.
36
+ endpoint will be inferred from the environment variables.
37
37
  use_active_session_if_available : bool, optional
38
38
  If active session is available, use it instead of sending HTTP requests.
39
39
  """
40
40
  self._use_active_session_if_available = use_active_session_if_available
41
- self._base_url = endpoint or f"http://{get_env_host()}:{get_env_port()}"
41
+ host = get_env_host()
42
+ if host == "0.0.0.0":
43
+ host = "127.0.0.1"
44
+ self._base_url = (
45
+ endpoint or get_env_collector_endpoint() or f"http://{host}:{get_env_port()}"
46
+ )
42
47
  self._session = Session()
43
48
  weakref.finalize(self, self._session.close)
44
49
  if not (self._use_active_session_if_available and px.active_session()):
@@ -61,7 +66,7 @@ class Client(TraceDataExtractor):
61
66
  root_spans_only=root_spans_only,
62
67
  )
63
68
  response = self._session.get(
64
- url=urljoin(self._base_url, "v1/spans"),
69
+ url=urljoin(self._base_url, "/v1/spans"),
65
70
  json={
66
71
  "queries": [q.to_dict() for q in queries],
67
72
  "start_time": _to_iso_format(start_time),
@@ -91,7 +96,7 @@ class Client(TraceDataExtractor):
91
96
  def get_evaluations(self) -> List[Evaluations]:
92
97
  if self._use_active_session_if_available and (session := px.active_session()):
93
98
  return session.get_evaluations()
94
- response = self._session.get(urljoin(self._base_url, "v1/evaluations"))
99
+ response = self._session.get(urljoin(self._base_url, "/v1/evaluations"))
95
100
  if response.status_code == 404:
96
101
  logger.info("No evaluations found.")
97
102
  return []
@@ -111,7 +116,7 @@ class Client(TraceDataExtractor):
111
116
 
112
117
  def _warn_if_phoenix_is_not_running(self) -> None:
113
118
  try:
114
- self._session.get(urljoin(self._base_url, "arize_phoenix_version")).raise_for_status()
119
+ self._session.get(urljoin(self._base_url, "/arize_phoenix_version")).raise_for_status()
115
120
  except Exception:
116
121
  logger.warning(
117
122
  f"Arize Phoenix is not running on {self._base_url}. Launch Phoenix "
@@ -0,0 +1 @@
1
+ __version__ = "2.9.2"
@@ -1 +0,0 @@
1
- __version__ = "2.9.0"
File without changes
File without changes
File without changes