arize-phoenix 4.0.1__tar.gz → 4.0.3__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.
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/PKG-INFO +1 -1
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/bulk_inserter.py +7 -8
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/trace_dataset.py +3 -2
- arize_phoenix-4.0.3/src/phoenix/version.py +1 -0
- arize_phoenix-4.0.1/src/phoenix/version.py +0 -1
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/.gitignore +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/IP_NOTICE +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/LICENSE +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/README.md +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/chat-service/chat/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/chat-service/chat/app.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/chat-service/chat/types.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/Dockerfile +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/Makefile +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/pyproject.toml +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/requirements.txt +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/schema.json +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/pyproject.toml +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/config.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/README.md +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/alembic.ini +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/engines.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/helpers.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/insertion/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/insertion/evaluation.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/insertion/helpers.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/insertion/span.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/migrate.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/migrations/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/migrations/env.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/migrations/script.py.mako +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/models.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/inferences/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/inferences/errors.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/inferences/fixtures.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/inferences/inferences.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/inferences/schema.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/inferences/validation.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/py.typed +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/evaluation_summaries.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/span_evaluations.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/trace_evaluations.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/helpers.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/v1/spans.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/v1/traces.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DatasetRole.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ExportEventsMutation.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Project.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/Trace.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/app.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/grpc_server.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/main.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/openapi/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/openapi/docs.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/prometheus.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/index.css +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/index.js +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/telemetry.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/services.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/settings.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/attributes.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/dsl/README.md +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/langchain/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/langchain/instrumentor.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/llama_index/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/llama_index/callback.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/openai/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/openai/instrumentor.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/utilities/deprecation.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/utilities/span_store.py +0 -0
|
@@ -3,7 +3,7 @@ import logging
|
|
|
3
3
|
from dataclasses import dataclass, field
|
|
4
4
|
from datetime import datetime, timezone
|
|
5
5
|
from itertools import islice
|
|
6
|
-
from time import perf_counter
|
|
6
|
+
from time import perf_counter
|
|
7
7
|
from typing import (
|
|
8
8
|
Any,
|
|
9
9
|
AsyncContextManager,
|
|
@@ -48,21 +48,20 @@ class BulkInserter:
|
|
|
48
48
|
cache_for_dataloaders: Optional[CacheForDataLoaders] = None,
|
|
49
49
|
initial_batch_of_spans: Optional[Iterable[Tuple[Span, str]]] = None,
|
|
50
50
|
initial_batch_of_evaluations: Optional[Iterable[pb.Evaluation]] = None,
|
|
51
|
-
|
|
51
|
+
sleep: float = 0.1,
|
|
52
52
|
max_num_per_transaction: int = 1000,
|
|
53
53
|
enable_prometheus: bool = False,
|
|
54
54
|
) -> None:
|
|
55
55
|
"""
|
|
56
56
|
:param db: A function to initiate a new database session.
|
|
57
57
|
:param initial_batch_of_spans: Initial batch of spans to insert.
|
|
58
|
-
:param
|
|
59
|
-
bulk insert. If there's nothing to insert, the inserter goes back to sleep.
|
|
58
|
+
:param sleep: The time to sleep between bulk insertions
|
|
60
59
|
:param max_num_per_transaction: The maximum number of items to insert in a single
|
|
61
60
|
transaction. Multiple transactions will be used if there are more items in the batch.
|
|
62
61
|
"""
|
|
63
62
|
self._db = db
|
|
64
63
|
self._running = False
|
|
65
|
-
self.
|
|
64
|
+
self._sleep = sleep
|
|
66
65
|
self._max_num_per_transaction = max_num_per_transaction
|
|
67
66
|
self._spans: List[Tuple[Span, str]] = (
|
|
68
67
|
[] if initial_batch_of_spans is None else list(initial_batch_of_spans)
|
|
@@ -98,11 +97,10 @@ class BulkInserter:
|
|
|
98
97
|
|
|
99
98
|
async def _bulk_insert(self) -> None:
|
|
100
99
|
spans_buffer, evaluations_buffer = None, None
|
|
101
|
-
|
|
100
|
+
# start first insert immediately if the inserter has not run recently
|
|
102
101
|
while self._spans or self._evaluations or self._running:
|
|
103
|
-
await asyncio.sleep(next_run_at - time())
|
|
104
|
-
next_run_at = time() + self._run_interval_seconds
|
|
105
102
|
if not (self._spans or self._evaluations):
|
|
103
|
+
await asyncio.sleep(self._sleep)
|
|
106
104
|
continue
|
|
107
105
|
# It's important to grab the buffers at the same time so there's
|
|
108
106
|
# no race condition, since an eval insertion will fail if the span
|
|
@@ -128,6 +126,7 @@ class BulkInserter:
|
|
|
128
126
|
evaluations_buffer = None
|
|
129
127
|
for project_rowid in transaction_result.updated_project_rowids:
|
|
130
128
|
self._last_updated_at_by_project[project_rowid] = datetime.now(timezone.utc)
|
|
129
|
+
await asyncio.sleep(self._sleep)
|
|
131
130
|
|
|
132
131
|
async def _insert_spans(self, spans: List[Tuple[Span, str]]) -> TransactionResult:
|
|
133
132
|
transaction_result = TransactionResult()
|
|
@@ -16,6 +16,7 @@ from pyarrow import Schema, Table, parquet
|
|
|
16
16
|
|
|
17
17
|
from phoenix.config import DATASET_DIR, GENERATED_DATASET_NAME_PREFIX, TRACE_DATASET_DIR
|
|
18
18
|
from phoenix.datetime_utils import normalize_timestamps
|
|
19
|
+
from phoenix.trace.attributes import unflatten
|
|
19
20
|
from phoenix.trace.errors import InvalidParquetMetadataError
|
|
20
21
|
from phoenix.trace.schemas import ATTRIBUTE_PREFIX, CONTEXT_PREFIX, Span
|
|
21
22
|
from phoenix.trace.span_evaluations import Evaluations, SpanEvaluations
|
|
@@ -161,13 +162,13 @@ class TraceDataset:
|
|
|
161
162
|
for _, row in self.dataframe.iterrows():
|
|
162
163
|
is_attribute = row.index.str.startswith(ATTRIBUTE_PREFIX)
|
|
163
164
|
attribute_keys = row.index[is_attribute]
|
|
164
|
-
attributes = (
|
|
165
|
+
attributes = unflatten(
|
|
165
166
|
row.loc[is_attribute]
|
|
166
167
|
.rename(
|
|
167
168
|
{key: key[len(ATTRIBUTE_PREFIX) :] for key in attribute_keys},
|
|
168
169
|
)
|
|
169
170
|
.dropna()
|
|
170
|
-
.
|
|
171
|
+
.items()
|
|
171
172
|
)
|
|
172
173
|
is_context = row.index.str.startswith(CONTEXT_PREFIX)
|
|
173
174
|
context_keys = row.index[is_context]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.0.3"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "4.0.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/examples/manually-instrumented-chatbot/frontend/Makefile
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/cache/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/record_counts.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/span_descendants.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/span_evaluations.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/token_counts.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/dataloaders/trace_evaluations.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/ClusterInput.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/Coordinates.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/DimensionFilter.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/DimensionInput.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/input_types/Granularity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/routers/v1/evaluations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DataQualityMetric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DimensionDataType.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DimensionWithValue.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EmbeddingDimension.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EmbeddingMetadata.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/EvaluationSummary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ExportEventsMutation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/PerformanceMetric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/ValidationResult.py
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/api/types/VectorDriftMetricEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-114x114.png
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-120x120.png
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-144x144.png
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-152x152.png
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-180x180.png
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-72x72.png
RENAMED
|
File without changes
|
{arize_phoenix-4.0.1 → arize_phoenix-4.0.3}/src/phoenix/server/static/apple-touch-icon-76x76.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|