arize-phoenix 5.1.1__tar.gz → 5.1.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-5.1.1 → arize_phoenix-5.1.3}/.gitignore +3 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/PKG-INFO +1 -2
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/pyproject.toml +21 -5
- arize_phoenix-5.1.3/src/phoenix/server/email/sender.py +97 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/main.py +10 -16
- arize_phoenix-5.1.3/src/phoenix/server/static/.vite/manifest.json +78 -0
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/components-REunxTt6.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/components-XIEhA1rq.js +1 -1
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/index-DAPJxlCw.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/index-DY9zA_Wc.js +1 -1
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/pages-1VrMk2pW.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/pages-BGZBXlrn.js +2 -2
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/vendor-B5IC0ivG.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/vendor-D8cj1ZYg.js +47 -47
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/vendor-arizeai-aFbT4kl1.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/vendor-arizeai-BU1VHwXB.js +1 -1
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/vendor-codemirror-BEGorXSV.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/vendor-codemirror-BDMHmh1x.js +1 -1
- arize_phoenix-5.1.1/src/phoenix/server/static/assets/vendor-recharts-6nUU7gU_.js → arize_phoenix-5.1.3/src/phoenix/server/static/assets/vendor-recharts-BATX_8yP.js +1 -1
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/fixtures.py +1 -1
- arize_phoenix-5.1.3/src/phoenix/version.py +1 -0
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/chat-service/chat/app.py +0 -227
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/chat-service/chat/types.py +0 -25
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/frontend/Dockerfile +0 -15
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/frontend/Makefile +0 -20
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/frontend/pyproject.toml +0 -24
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/frontend/requirements.txt +0 -123
- arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/frontend/schema.json +0 -149
- arize_phoenix-5.1.1/integration_tests/_helpers.py +0 -1023
- arize_phoenix-5.1.1/integration_tests/auth/conftest.py +0 -79
- arize_phoenix-5.1.1/integration_tests/auth/test_auth.py +0 -959
- arize_phoenix-5.1.1/integration_tests/conftest.py +0 -210
- arize_phoenix-5.1.1/integration_tests/mypy.ini +0 -3
- arize_phoenix-5.1.1/integration_tests/pytest.ini +0 -11
- arize_phoenix-5.1.1/integration_tests/requirements.txt +0 -12
- arize_phoenix-5.1.1/integration_tests/ruff.toml +0 -15
- arize_phoenix-5.1.1/integration_tests/server/test_launch_app.py +0 -36
- arize_phoenix-5.1.1/src/phoenix/server/email/sender.py +0 -26
- arize_phoenix-5.1.1/src/phoenix/server/email/templates/__init__.py +0 -0
- arize_phoenix-5.1.1/src/phoenix/server/openapi/__init__.py +0 -0
- arize_phoenix-5.1.1/src/phoenix/server/static/.vite/manifest.json +0 -78
- arize_phoenix-5.1.1/src/phoenix/server/templates/__init__.py +0 -0
- arize_phoenix-5.1.1/src/phoenix/session/__init__.py +0 -0
- arize_phoenix-5.1.1/src/phoenix/utilities/__init__.py +0 -0
- arize_phoenix-5.1.1/src/phoenix/version.py +0 -1
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/IP_NOTICE +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/LICENSE +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/README.md +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/auth.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/config.py +0 -0
- {arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/chat-service/chat → arize_phoenix-5.1.3/src/phoenix/core}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/README.md +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/alembic.ini +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/bulk_inserter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/engines.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/enums.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/facilitator.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/helpers.py +0 -0
- {arize_phoenix-5.1.1/examples/manually-instrumented-chatbot/frontend → arize_phoenix-5.1.3/src/phoenix/db/insertion}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/constants.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/dataset.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/document_annotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/evaluation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/helpers.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/span.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/span_annotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/trace_annotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/insertion/types.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrate.py +0 -0
- {arize_phoenix-5.1.1/integration_tests → arize_phoenix-5.1.3/src/phoenix/db/migrations}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrations/env.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrations/script.py.mako +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/db/models.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/evaluators/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/evaluators/base.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/evaluators/utils.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/functions.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/tracing.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/types.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/experiments/utils.py +0 -0
- {arize_phoenix-5.1.1/integration_tests/auth → arize_phoenix-5.1.3/src/phoenix/inferences}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/inferences/errors.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/inferences/fixtures.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/inferences/inferences.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/inferences/schema.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/inferences/validation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/logging/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/logging/_config.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/logging/_filter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/logging/_formatter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/py.typed +0 -0
- {arize_phoenix-5.1.1/integration_tests → arize_phoenix-5.1.3/src/phoenix}/server/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/README.md +0 -0
- {arize_phoenix-5.1.1/src/phoenix/core → arize_phoenix-5.1.3/src/phoenix/server/api}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/auth.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/trace_row_ids.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/dataloaders/users.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/exceptions.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/helpers/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/db/insertion → arize_phoenix-5.1.3/src/phoenix/server/api/input_types}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/db/migrations → arize_phoenix-5.1.3/src/phoenix/server/api/openapi}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/openapi/main.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/openapi/schema.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/queries.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/auth.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/embeddings.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/oauth2.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/pydantic_compat.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/spans.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/traces.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/routers/v1/utils.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Annotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ApiKey.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/AuthMethod.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DatasetExample.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Experiment.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Inferences.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/InferencesRole.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/LabelFraction.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Project.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/Trace.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/User.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/UserApiKey.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/UserRole.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/inferences → arize_phoenix-5.1.3/src/phoenix/server/api/types}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/api/utils.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/app.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/bearer_auth.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/dml_event.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/dml_event_handler.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/server → arize_phoenix-5.1.3/src/phoenix/server/email}/__init__.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/server/api → arize_phoenix-5.1.3/src/phoenix/server/email/templates}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/email/templates/password_reset.html +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/email/types.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/grpc_server.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/jwt_store.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/oauth2.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/server/api/input_types → arize_phoenix-5.1.3/src/phoenix/server/openapi}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/prometheus.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/rate_limiters.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/assets/vendor-DxkFTwjz.css +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/assets/vendor-three-DwGkEfCM.js +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/telemetry.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/server/api/openapi → arize_phoenix-5.1.3/src/phoenix/server/templates}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/server/types.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/services.py +0 -0
- {arize_phoenix-5.1.1/src/phoenix/server/api/types → arize_phoenix-5.1.3/src/phoenix/session}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/settings.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/attributes.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/dsl/README.md +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-5.1.1/src/phoenix/server/email → arize_phoenix-5.1.3/src/phoenix/utilities}/__init__.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/client.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/deprecation.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/json.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/re.py +0 -0
- {arize_phoenix-5.1.1 → arize_phoenix-5.1.3}/src/phoenix/utilities/span_store.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 5.1.
|
|
3
|
+
Version: 5.1.3
|
|
4
4
|
Summary: AI Observability and Evaluation
|
|
5
5
|
Project-URL: Documentation, https://docs.arize.com/phoenix/
|
|
6
6
|
Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
|
|
@@ -24,7 +24,6 @@ Requires-Dist: arize-phoenix-otel>=0.5.1
|
|
|
24
24
|
Requires-Dist: authlib
|
|
25
25
|
Requires-Dist: cachetools
|
|
26
26
|
Requires-Dist: fastapi
|
|
27
|
-
Requires-Dist: fastapi-mail
|
|
28
27
|
Requires-Dist: grpc-interceptor
|
|
29
28
|
Requires-Dist: grpcio
|
|
30
29
|
Requires-Dist: hdbscan>=0.8.38
|
|
@@ -59,7 +59,6 @@ dependencies = [
|
|
|
59
59
|
"arize-phoenix-evals>=0.13.1",
|
|
60
60
|
"arize-phoenix-otel>=0.5.1",
|
|
61
61
|
"fastapi",
|
|
62
|
-
"fastapi-mail",
|
|
63
62
|
"pydantic>=1.0,!=2.0.*,<3", # exclude 2.0.* since it does not support the `json_encoders` configuration setting
|
|
64
63
|
"authlib",
|
|
65
64
|
]
|
|
@@ -146,15 +145,32 @@ build-backend = "hatchling.build"
|
|
|
146
145
|
|
|
147
146
|
[tool.hatch.build.targets.wheel]
|
|
148
147
|
packages = ["src/phoenix"]
|
|
149
|
-
exclude = [
|
|
150
|
-
|
|
148
|
+
exclude = [
|
|
149
|
+
"src/phoenix/evals/",
|
|
150
|
+
"src/phoenix/otel/",
|
|
151
|
+
]
|
|
152
|
+
artifacts = [
|
|
153
|
+
"src/phoenix/server/static",
|
|
154
|
+
"src/phoenix/db/migrations",
|
|
155
|
+
]
|
|
151
156
|
|
|
152
157
|
[tool.hatch.build]
|
|
153
158
|
only-packages = true
|
|
154
159
|
|
|
155
160
|
[tool.hatch.build.targets.sdist]
|
|
156
|
-
exclude = [
|
|
157
|
-
|
|
161
|
+
exclude = [
|
|
162
|
+
"packages/",
|
|
163
|
+
"src/phoenix/evals/",
|
|
164
|
+
"src/phoenix/otel/",
|
|
165
|
+
"tests/",
|
|
166
|
+
"integration_tests/",
|
|
167
|
+
"scripts/",
|
|
168
|
+
"examples/",
|
|
169
|
+
]
|
|
170
|
+
artifacts = [
|
|
171
|
+
"src/phoenix/server/static",
|
|
172
|
+
"src/phoenix/db/migrations",
|
|
173
|
+
]
|
|
158
174
|
|
|
159
175
|
[tool.hatch.envs.default]
|
|
160
176
|
dependencies = [
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import smtplib
|
|
3
|
+
import ssl
|
|
4
|
+
from email.message import EmailMessage
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Literal
|
|
7
|
+
|
|
8
|
+
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
|
9
|
+
|
|
10
|
+
EMAIL_TEMPLATE_FOLDER = Path(__file__).parent / "templates"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SimpleEmailSender:
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
smtp_server: str,
|
|
17
|
+
smtp_port: int,
|
|
18
|
+
username: str,
|
|
19
|
+
password: str,
|
|
20
|
+
sender_email: str,
|
|
21
|
+
connection_method: Literal["STARTTLS", "SSL", "PLAIN"] = "STARTTLS",
|
|
22
|
+
validate_certs: bool = True,
|
|
23
|
+
) -> None:
|
|
24
|
+
self.smtp_server = smtp_server
|
|
25
|
+
self.smtp_port = smtp_port
|
|
26
|
+
self.username = username
|
|
27
|
+
self.password = password
|
|
28
|
+
self.sender_email = sender_email
|
|
29
|
+
self.connection_method = connection_method.upper()
|
|
30
|
+
self.validate_certs = validate_certs
|
|
31
|
+
|
|
32
|
+
self.env = Environment(
|
|
33
|
+
loader=FileSystemLoader(EMAIL_TEMPLATE_FOLDER),
|
|
34
|
+
autoescape=select_autoescape(["html", "xml"]),
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
async def send_password_reset_email(
|
|
38
|
+
self,
|
|
39
|
+
email: str,
|
|
40
|
+
reset_url: str,
|
|
41
|
+
) -> None:
|
|
42
|
+
subject = "[Phoenix] Password Reset Request"
|
|
43
|
+
template_name = "password_reset.html"
|
|
44
|
+
|
|
45
|
+
template = self.env.get_template(template_name)
|
|
46
|
+
html_content = template.render(reset_url=reset_url)
|
|
47
|
+
|
|
48
|
+
msg = EmailMessage()
|
|
49
|
+
msg["Subject"] = subject
|
|
50
|
+
msg["From"] = self.sender_email
|
|
51
|
+
msg["To"] = email
|
|
52
|
+
msg.set_content(html_content, subtype="html")
|
|
53
|
+
|
|
54
|
+
def send_email() -> None:
|
|
55
|
+
context: ssl.SSLContext
|
|
56
|
+
if self.validate_certs:
|
|
57
|
+
context = ssl.create_default_context()
|
|
58
|
+
else:
|
|
59
|
+
context = ssl._create_unverified_context()
|
|
60
|
+
|
|
61
|
+
methods_to_try = [self.connection_method]
|
|
62
|
+
# add secure method fallbacks
|
|
63
|
+
if self.connection_method != "PLAIN":
|
|
64
|
+
if self.connection_method != "STARTTLS":
|
|
65
|
+
methods_to_try.append("STARTTLS")
|
|
66
|
+
elif self.connection_method != "SSL":
|
|
67
|
+
methods_to_try.append("SSL")
|
|
68
|
+
|
|
69
|
+
for method in methods_to_try:
|
|
70
|
+
try:
|
|
71
|
+
if method == "STARTTLS":
|
|
72
|
+
server = smtplib.SMTP(self.smtp_server, self.smtp_port)
|
|
73
|
+
server.ehlo()
|
|
74
|
+
server.starttls(context=context)
|
|
75
|
+
server.ehlo()
|
|
76
|
+
elif method == "SSL":
|
|
77
|
+
server = smtplib.SMTP_SSL(self.smtp_server, self.smtp_port, context=context)
|
|
78
|
+
server.ehlo()
|
|
79
|
+
elif method == "PLAIN":
|
|
80
|
+
server = smtplib.SMTP(self.smtp_server, self.smtp_port)
|
|
81
|
+
server.ehlo()
|
|
82
|
+
else:
|
|
83
|
+
continue # Unsupported method
|
|
84
|
+
|
|
85
|
+
if self.username and self.password:
|
|
86
|
+
server.login(self.username, self.password)
|
|
87
|
+
|
|
88
|
+
server.send_message(msg)
|
|
89
|
+
server.quit()
|
|
90
|
+
break # Success
|
|
91
|
+
except Exception as e:
|
|
92
|
+
print(f"Failed to send email using {method}: {e}")
|
|
93
|
+
continue
|
|
94
|
+
else:
|
|
95
|
+
raise Exception("All connection methods failed")
|
|
96
|
+
|
|
97
|
+
await asyncio.to_thread(send_email)
|
|
@@ -10,7 +10,6 @@ from time import sleep, time
|
|
|
10
10
|
from typing import List, Optional
|
|
11
11
|
from urllib.parse import urljoin
|
|
12
12
|
|
|
13
|
-
from fastapi_mail import ConnectionConfig
|
|
14
13
|
from jinja2 import BaseLoader, Environment
|
|
15
14
|
from uvicorn import Config, Server
|
|
16
15
|
|
|
@@ -59,7 +58,7 @@ from phoenix.server.app import (
|
|
|
59
58
|
create_engine_and_run_migrations,
|
|
60
59
|
instrument_engine_if_enabled,
|
|
61
60
|
)
|
|
62
|
-
from phoenix.server.email.sender import
|
|
61
|
+
from phoenix.server.email.sender import SimpleEmailSender
|
|
63
62
|
from phoenix.server.types import DbSessionFactory
|
|
64
63
|
from phoenix.settings import Settings
|
|
65
64
|
from phoenix.trace.fixtures import (
|
|
@@ -368,20 +367,15 @@ def main() -> None:
|
|
|
368
367
|
if mail_sever := get_env_smtp_hostname():
|
|
369
368
|
assert (mail_username := get_env_smtp_username()), "SMTP username is required"
|
|
370
369
|
assert (mail_password := get_env_smtp_password()), "SMTP password is required"
|
|
371
|
-
assert (
|
|
372
|
-
email_sender =
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
USE_CREDENTIALS=True,
|
|
381
|
-
MAIL_STARTTLS=True,
|
|
382
|
-
MAIL_SSL_TLS=False,
|
|
383
|
-
TEMPLATE_FOLDER=EMAIL_TEMPLATE_FOLDER,
|
|
384
|
-
)
|
|
370
|
+
assert (sender_email := get_env_smtp_mail_from()), "SMTP mail_from is required"
|
|
371
|
+
email_sender = SimpleEmailSender(
|
|
372
|
+
smtp_server=mail_sever,
|
|
373
|
+
smtp_port=get_env_smtp_port(),
|
|
374
|
+
username=mail_username,
|
|
375
|
+
password=mail_password,
|
|
376
|
+
sender_email=sender_email,
|
|
377
|
+
connection_method="STARTTLS",
|
|
378
|
+
validate_certs=get_env_smtp_validate_certs(),
|
|
385
379
|
)
|
|
386
380
|
app = create_app(
|
|
387
381
|
db=factory,
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_components-XIEhA1rq.js": {
|
|
3
|
+
"file": "assets/components-XIEhA1rq.js",
|
|
4
|
+
"name": "components",
|
|
5
|
+
"imports": [
|
|
6
|
+
"_vendor-D8cj1ZYg.js",
|
|
7
|
+
"_vendor-arizeai-BU1VHwXB.js",
|
|
8
|
+
"_pages-BGZBXlrn.js",
|
|
9
|
+
"_vendor-three-DwGkEfCM.js",
|
|
10
|
+
"_vendor-codemirror-BDMHmh1x.js"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"_pages-BGZBXlrn.js": {
|
|
14
|
+
"file": "assets/pages-BGZBXlrn.js",
|
|
15
|
+
"name": "pages",
|
|
16
|
+
"imports": [
|
|
17
|
+
"_vendor-D8cj1ZYg.js",
|
|
18
|
+
"_vendor-arizeai-BU1VHwXB.js",
|
|
19
|
+
"_components-XIEhA1rq.js",
|
|
20
|
+
"_vendor-recharts-BATX_8yP.js",
|
|
21
|
+
"_vendor-codemirror-BDMHmh1x.js"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"_vendor-!~{003}~.js": {
|
|
25
|
+
"file": "assets/vendor-DxkFTwjz.css",
|
|
26
|
+
"src": "_vendor-!~{003}~.js"
|
|
27
|
+
},
|
|
28
|
+
"_vendor-D8cj1ZYg.js": {
|
|
29
|
+
"file": "assets/vendor-D8cj1ZYg.js",
|
|
30
|
+
"name": "vendor",
|
|
31
|
+
"imports": [
|
|
32
|
+
"_vendor-three-DwGkEfCM.js"
|
|
33
|
+
],
|
|
34
|
+
"css": [
|
|
35
|
+
"assets/vendor-DxkFTwjz.css"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"_vendor-arizeai-BU1VHwXB.js": {
|
|
39
|
+
"file": "assets/vendor-arizeai-BU1VHwXB.js",
|
|
40
|
+
"name": "vendor-arizeai",
|
|
41
|
+
"imports": [
|
|
42
|
+
"_vendor-D8cj1ZYg.js"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"_vendor-codemirror-BDMHmh1x.js": {
|
|
46
|
+
"file": "assets/vendor-codemirror-BDMHmh1x.js",
|
|
47
|
+
"name": "vendor-codemirror",
|
|
48
|
+
"imports": [
|
|
49
|
+
"_vendor-D8cj1ZYg.js"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"_vendor-recharts-BATX_8yP.js": {
|
|
53
|
+
"file": "assets/vendor-recharts-BATX_8yP.js",
|
|
54
|
+
"name": "vendor-recharts",
|
|
55
|
+
"imports": [
|
|
56
|
+
"_vendor-D8cj1ZYg.js"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"_vendor-three-DwGkEfCM.js": {
|
|
60
|
+
"file": "assets/vendor-three-DwGkEfCM.js",
|
|
61
|
+
"name": "vendor-three"
|
|
62
|
+
},
|
|
63
|
+
"index.tsx": {
|
|
64
|
+
"file": "assets/index-DY9zA_Wc.js",
|
|
65
|
+
"name": "index",
|
|
66
|
+
"src": "index.tsx",
|
|
67
|
+
"isEntry": true,
|
|
68
|
+
"imports": [
|
|
69
|
+
"_vendor-D8cj1ZYg.js",
|
|
70
|
+
"_vendor-arizeai-BU1VHwXB.js",
|
|
71
|
+
"_pages-BGZBXlrn.js",
|
|
72
|
+
"_components-XIEhA1rq.js",
|
|
73
|
+
"_vendor-three-DwGkEfCM.js",
|
|
74
|
+
"_vendor-recharts-BATX_8yP.js",
|
|
75
|
+
"_vendor-codemirror-BDMHmh1x.js"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as $e,p as at,d as Ze,r as g,j as e,R as W,n as U1,a as Fe,C as Oe,b as X,s as it,e as rt,f as de,g as _e,h as Je,i as ze,k as ue,l as l1,m as lt,o as le,q as ot,t as st,u as o1,v as o,w as m,L as Q1,x as ct,N as dt,y as ut,z as mt,$ as N,A as Ge,B as pt,D as ht,E as gt,F as ft,G as w1,H as ce,I as he,J as Lt,K as j1,S as Ct,M as yt,Q as x1,O as vt,P as bt,T as kt,U as Ye,V as q1,W as wt,X as xt,Y as St,Z as Mt,_ as Tt,a0 as It,a1 as Et,a2 as Dt,a3 as Vt,a4 as Te,a5 as F,a6 as W1,a7 as Pt,a8 as Ft,a9 as _t,aa as At,ab as Nt,ac as zt,ad as Rt}from"./vendor-
|
|
1
|
+
import{c as $e,p as at,d as Ze,r as g,j as e,R as W,n as U1,a as Fe,C as Oe,b as X,s as it,e as rt,f as de,g as _e,h as Je,i as ze,k as ue,l as l1,m as lt,o as le,q as ot,t as st,u as o1,v as o,w as m,L as Q1,x as ct,N as dt,y as ut,z as mt,$ as N,A as Ge,B as pt,D as ht,E as gt,F as ft,G as w1,H as ce,I as he,J as Lt,K as j1,S as Ct,M as yt,Q as x1,O as vt,P as bt,T as kt,U as Ye,V as q1,W as wt,X as xt,Y as St,Z as Mt,_ as Tt,a0 as It,a1 as Et,a2 as Dt,a3 as Vt,a4 as Te,a5 as F,a6 as W1,a7 as Pt,a8 as Ft,a9 as _t,aa as At,ab as Nt,ac as zt,ad as Rt}from"./vendor-D8cj1ZYg.js";import{u as Ot,A as Ht,I,a as x,_ as X1,b as v,c as D,d as b,e as H,f as q,T as B,g as Kt,h as Y,i as Ie,j as V,F as J1,k as z,l as Bt,m as $t,P as Zt,R as U,n as Ee,o as Gt,p as Ut,L as d1,q as ee,r as ne,s as De,t as Y1,v as en,E as nn,w as Qt,x as jt,y as qt,z as Wt,B as tn,C as u1,D as Xt,G as Jt,H as S1,J as Yt}from"./vendor-arizeai-BU1VHwXB.js";import{u as ea}from"./pages-BGZBXlrn.js";import{V as na}from"./vendor-three-DwGkEfCM.js";import{j as an,E as rn,l as ln,a as on,R as Ue,n as Qe,p as ta,b as aa}from"./vendor-codemirror-BDMHmh1x.js";const ia=n=>{const t=a=>({markdownDisplayMode:"text",setMarkdownDisplayMode:i=>{a({markdownDisplayMode:i})},traceStreamingEnabled:!0,setTraceStreamingEnabled:i=>{a({traceStreamingEnabled:i})},lastNTimeRangeKey:"7d",setLastNTimeRangeKey:i=>{a({lastNTimeRangeKey:i})},projectsAutoRefreshEnabled:!0,setProjectAutoRefreshEnabled:i=>{a({projectsAutoRefreshEnabled:i})},showSpanAside:!0,setShowSpanAside:i=>{a({showSpanAside:i})},showMetricsInTraceTree:!0,setShowMetricsInTraceTree:i=>{a({showMetricsInTraceTree:i})},...n});return $e()(at(Ze(t),{name:"arize-phoenix-preferences"}))},sn=g.createContext(null);function ol({children:n,...t}){const a=g.useRef();return a.current||(a.current=ia(t)),e(sn.Provider,{value:a.current,children:n})}function se(n,t){const a=W.useContext(sn);if(!a)throw new Error("Missing PreferencesContext.Provider in the tree");return U1(a,n,t)}var Q=(n=>(n.primary="primary",n.reference="reference",n.corpus="corpus",n))(Q||{});function R(n){throw new Error("Unreachable")}function m1(n){return typeof n=="number"||n===null}function ra(n){return typeof n=="string"||n===null}function sl(n){return Array.isArray(n)?n.every(t=>typeof t=="string"):!1}function la(n){return typeof n=="object"&&n!==null}const p1=g.createContext(null);function je(){const n=W.useContext(p1);if(n===null)throw new Error("useInferences must be used within a InferencesProvider");return n}function cl(n){return e(p1.Provider,{value:{primaryInferences:n.primaryInferences,referenceInferences:n.referenceInferences,corpusInferences:n.corpusInferences,getInferencesNameByRole:t=>{var a,i;switch(t){case Q.primary:return n.primaryInferences.name;case Q.reference:return((a=n.referenceInferences)==null?void 0:a.name)??"reference";case Q.corpus:return((i=n.corpusInferences)==null?void 0:i.name)??"corpus";default:R()}}},children:n.children})}const cn=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},t={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},a={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},l=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],s=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:l,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:l,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,t,a,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:s,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,a,t,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:s},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
|
|
2
2
|
$clusters: [ClusterInput!]!
|
|
3
3
|
$fetchDataQualityMetric: Boolean!
|
|
4
4
|
$dataQualityMetricColumnName: String
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,w as h,aR as b,d6 as x,d7 as f,v as n,d8 as r,d9 as y,da as P,r as v,b as w,db as R}from"./vendor-
|
|
1
|
+
import{j as e,w as h,aR as b,d6 as x,d7 as f,v as n,d8 as r,d9 as y,da as P,r as v,b as w,db as R}from"./vendor-D8cj1ZYg.js";import{v as L,a4 as z}from"./vendor-arizeai-BU1VHwXB.js";import{E,L as k,R as $,r as j,a as S,F as A,A as I,b as F,c as T,P as C,h as O,M as D,d,D as B,e as M,f as N,g as q,i as G,j as W,T as K,p as H,k as c,l as J,m as Q,n as p,o as U,q as m,s as g,t as V,v as X,w as Y,x as Z,y as _,z as ee,B as re,S as ae,C as oe,G as te}from"./pages-BGZBXlrn.js";import{bo as ne,i as se,R as le,bp as ie,bq as de}from"./components-XIEhA1rq.js";import"./vendor-three-DwGkEfCM.js";import"./vendor-recharts-BATX_8yP.js";import"./vendor-codemirror-BDMHmh1x.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const t of o)if(t.type==="childList")for(const l of t.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function u(o){const t={};return o.integrity&&(t.integrity=o.integrity),o.referrerPolicy&&(t.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?t.credentials="include":o.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function i(o){if(o.ep)return;o.ep=!0;const t=u(o);fetch(o.href,t)}})();function ce(){return e(b,{styles:a=>h`
|
|
2
2
|
body {
|
|
3
3
|
background-color: var(--ac-global-color-grey-75);
|
|
4
4
|
color: var(--ac-global-text-color-900);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as m,j as e,ae as ss,v as s,H as j,R as Ce,w as C,af as De,y as ee,b as T,ag as xn,ah as Ye,$ as W,ai as ta,B as me,D as ge,G as H,F as wn,o as Fl,aj as Ge,ak as re,al as We,am as os,I as Va,an as An,a4 as Fe,a5 as q,a6 as ds,ao as fe,ap as sn,aq as cs,ar as Sa,as as va,at as Ca,au as zn,av as Ie,aw as oa,n as za,a as us,ax as ms,ay as gs,aa as ps,ab as ys,az as fs,c as hs,d as ks,aA as bs,x as Ss}from"./vendor-
|
|
1
|
+
import{r as m,j as e,ae as ss,v as s,H as j,R as Ce,w as C,af as De,y as ee,b as T,ag as xn,ah as Ye,$ as W,ai as ta,B as me,D as ge,G as H,F as wn,o as Fl,aj as Ge,ak as re,al as We,am as os,I as Va,an as An,a4 as Fe,a5 as q,a6 as ds,ao as fe,ap as sn,aq as cs,ar as Sa,as as va,at as Ca,au as zn,av as Ie,aw as oa,n as za,a as us,ax as ms,ay as gs,aa as ps,ab as ys,az as fs,c as hs,d as ks,aA as bs,x as Ss}from"./vendor-D8cj1ZYg.js";import{C as U,d as F,K as Jn,D as G,c as h,I as E,a as L,J as $a,G as Se,H as B,M as un,N as he,O as vs,m as Qa,Q as Zn,P as hn,S as Oe,i as Kl,j as te,q as Pn,r as _n,v as oe,b as K,o as xl,U as Ne,L as Bn,V as Dl,e as M,t as Y,W as Tl,X as Il,Y as Cs,Z as Fs,h as In,w as Xn,T as Le,k as Z,B as da,s as ve,$ as z,a0 as Ll,E as ca,f as Hn,a1 as Oa,a2 as Ks,z as ua,u as xs,a3 as Ds,R as nl,n as Ts}from"./vendor-arizeai-BU1VHwXB.js";import{N as Is,T as Ls,L as ue,u as de,B as ws,a as on,D as As,G as Ps,b as _s,c as Es,S as Rs,R as Ke,d as Pe,e as je,f as ja,P as wl,g as Al,M as al,h as ll,i as Yn,j as Ms,k as Ns,l as Q,m as Pl,n as xe,o as ma,p as En,q as _l,r as Rn,s as Mn,t as El,v as qe,w as Ve,C as ce,x as ga,y as en,z as qa,A as Ue,E as Rl,F as Vs,H as zs,I as $s,J as Qs,K as Os,O as js,Q as ze,U as se,V as qs,W as Us,X as Ml,Y as Bs,Z as Hs,_ as tl,$ as Gs,a0 as Ws,a1 as Js,a2 as Zs,a3 as Xs,a4 as Ys,a5 as Nl,a6 as kn,a7 as eo,a8 as no,a9 as ao,aa as lo,ab as to,ac as pn,ad as Ua,ae as Vl,af as Dn,ag as _a,ah as Fn,ai as _e,aj as io,ak as ro,al as ie,am as zl,an as pa,ao as we,ap as Ba,aq as bn,ar as ne,as as Be,at as so,au as Ha,av as Re,aw as Me,ax as yn,ay as Ga,az as $l,aA as oo,aB as Ql,aC as Te,aD as $e,aE as ea,aF as co,aG as na,aH as ya,aI as Ol,aJ as jl,aK as uo,aL as ql,aM as Ul,aN as Bl,aO as Nn,aP as Je,aQ as He,aR as ke,aS as mo,aT as il,aU as Hl,aV as go,aW as po,aX as yo,aY as fo,aZ as ho,a_ as Tn,a$ as cn,b0 as Ea,b1 as Sn,b2 as Gl,b3 as ko,b4 as mn,b5 as bo,b6 as fa,b7 as So,b8 as Wa,b9 as vo,ba as Ja,bb as Wl,bc as Jl,bd as Co,be as Ra,bf as Zl,bg as Fo,bh as Ko,bi as ia,bj as xo,bk as Xl,bl as Yl,bm as Do,bn as To}from"./components-XIEhA1rq.js";import{R as nn,C as aa,X as an,Y as Ae,a as ln,T as tn,B as Ln,A as Gn,b as et,c as Za,L as nt,d as Io,P as Lo,e as wo,f as Ao}from"./vendor-recharts-BATX_8yP.js";import{p as Xa,R as ha,n as ka,j as Po,E as _o,k as Eo,c as Ro}from"./vendor-codemirror-BDMHmh1x.js";const at="arize-phoenix-feature-flags",Fa={playground:!1};function Mo(){const n=localStorage.getItem(at);if(!n)return Fa;try{const a=JSON.parse(n);return Object.assign({},Fa,a)}catch{return Fa}}const lt=m.createContext(null);function tt(){const n=Ce.useContext(lt);if(n===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return n}function No(n){const{featureFlags:a}=tt();return a[n]}function Mg(n){const[a,l]=m.useState(Mo()),t=i=>{localStorage.setItem(at,JSON.stringify(i)),l(i)};return e(lt.Provider,{value:{featureFlags:a,setFeatureFlags:t},children:e(Vo,{children:n.children})})}function Vo(n){const{children:a}=n,{featureFlags:l,setFeatureFlags:t}=tt(),[i,r]=m.useState(!1);return ss("ctrl+shift+f",()=>r(!0)),s(j,{children:[a,e(G,{type:"modal",isDismissable:!0,onDismiss:()=>r(!1),children:i&&e(U,{title:"Feature Flags",children:e(F,{height:"size-1000",padding:"size-100",children:Object.keys(l).map(o=>e(Jn,{isSelected:l[o],onChange:u=>t({...l,[o]:u}),children:o},o))})})})]})}const it=m.createContext(null);function zo(){const n=m.useContext(it);if(n===null)throw new Error("useFunctionality must be used within a FunctionalityProvider");return n}function Ng(n){return e(it.Provider,{value:{authenticationEnabled:window.Config.authenticationEnabled},children:n.children})}const $o=C`
|
|
2
2
|
display: flex;
|
|
3
3
|
direction: row;
|
|
4
4
|
height: 100vh;
|
|
@@ -2087,7 +2087,7 @@ fragment DatasetSelectorPopoverContent_datasets on Query {
|
|
|
2087
2087
|
`}};Ni.hash="7cd8a13144d97d2b5294f2a09c9e1351";function Cu(n){const{onCreateNewDataset:a,onDatasetSelected:l}=n,[t,i]=m.useState(""),r=T.useLazyLoadQuery(Ni,{},{fetchPolicy:"network-only"});return s(z,{title:"Add to Dataset",variant:"compact",backgroundColor:"light",borderColor:"light",bodyStyle:{padding:0},extra:e(M,{variant:"default",size:"compact",onClick:a,children:"New Dataset"}),children:[e(F,{padding:"size-100",children:e(Z,{type:"search",placeholder:"Search datasets",addonBefore:e(E,{svg:e(L.Search,{})}),onChange:o=>{i(o)}})}),e(F,{borderTopWidth:"thin",borderColor:"light",children:e("div",{css:C`
|
|
2088
2088
|
height: 400px;
|
|
2089
2089
|
overflow-y: auto;
|
|
2090
|
-
`,children:e(Fu,{query:r,search:t,onDatasetSelected:l})})})]})}function Fu(n){const{search:a,onDatasetSelected:l}=n,[t]=T.useRefetchableFragment(Mi,n.query),i=m.useMemo(()=>{let o=t.datasets.edges.map(u=>u.dataset);return a&&(o=o.filter(u=>u.name.toLowerCase().includes(a.toLowerCase()))),o},[a,t]);return i.length===0?e(h,{direction:"column",justifyContent:"center",alignItems:"center",flex:"1 1 auto",children:e(K,{children:"No datasets found"})}):e(Zn,{selectionMode:"single",onSelectionChange:o=>{if(typeof o=="object"){const u=Array.from(o);l(u[0])}},children:i.map(o=>e(W,{children:o.name},o.id))})}function Vi(n){const a=ee(),[l,t]=m.useState(null),i=ie(),r=de(),[o,u]=m.useState(!1),{selectedSpans:d,onClearSelection:p}=n,[f,c]=T.useMutation(Ei),g=d.length!==1,y=m.useCallback(k=>{f({variables:{input:{datasetId:k,spanIds:d.map(b=>b.id)}},onCompleted:()=>{i({title:"Examples added to dataset",message:`${d.length} example${g?"s":""} have been added to the dataset.`,action:{text:"View dataset",onClick:()=>{a(`/datasets/${k}/examples`)}}}),p()},onError:b=>{r({title:"An error occurred",message:`Failed to add spans to dataset: ${b.message}`})}})},[f,d,i,g,p,a,r]);return s("div",{css:C`
|
|
2090
|
+
`,children:e(Fu,{query:r,search:t,onDatasetSelected:l})})})]})}function Fu(n){const{search:a,onDatasetSelected:l}=n,[t]=T.useRefetchableFragment(Mi,n.query),i=m.useMemo(()=>{let o=t.datasets.edges.map(u=>u.dataset);return a&&(o=o.filter(u=>u.name.toLowerCase().includes(a.toLowerCase()))),o},[a,t]);return i.length===0?e(F,{padding:"size-200",children:e(h,{direction:"column",justifyContent:"center",alignItems:"center",flex:"1 1 auto",children:e(K,{children:"No datasets found"})})}):e(Zn,{selectionMode:"single",onSelectionChange:o=>{if(typeof o=="object"){const u=Array.from(o);l(u[0])}},children:i.map(o=>e(W,{children:o.name},o.id))})}function Vi(n){const a=ee(),[l,t]=m.useState(null),i=ie(),r=de(),[o,u]=m.useState(!1),{selectedSpans:d,onClearSelection:p}=n,[f,c]=T.useMutation(Ei),g=d.length!==1,y=m.useCallback(k=>{f({variables:{input:{datasetId:k,spanIds:d.map(b=>b.id)}},onCompleted:()=>{i({title:"Examples added to dataset",message:`${d.length} example${g?"s":""} have been added to the dataset.`,action:{text:"View dataset",onClick:()=>{a(`/datasets/${k}/examples`)}}}),p()},onError:b=>{r({title:"An error occurred",message:`Failed to add spans to dataset: ${b.message}`})}})},[f,d,i,g,p,a,r]);return s("div",{css:C`
|
|
2091
2091
|
position: absolute;
|
|
2092
2092
|
bottom: var(--ac-global-dimension-size-400);
|
|
2093
2093
|
left: 50%;
|