arize-phoenix 12.0.0__py3-none-any.whl → 12.2.0__py3-none-any.whl

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 (39) hide show
  1. {arize_phoenix-12.0.0.dist-info → arize_phoenix-12.2.0.dist-info}/METADATA +1 -1
  2. {arize_phoenix-12.0.0.dist-info → arize_phoenix-12.2.0.dist-info}/RECORD +39 -35
  3. phoenix/db/insertion/document_annotation.py +1 -1
  4. phoenix/db/insertion/session_annotation.py +1 -1
  5. phoenix/db/insertion/span_annotation.py +1 -1
  6. phoenix/db/insertion/trace_annotation.py +1 -1
  7. phoenix/db/insertion/types.py +0 -4
  8. phoenix/db/models.py +22 -1
  9. phoenix/server/api/context.py +2 -0
  10. phoenix/server/api/dataloaders/__init__.py +2 -0
  11. phoenix/server/api/dataloaders/dataset_labels.py +36 -0
  12. phoenix/server/api/helpers/playground_clients.py +1 -0
  13. phoenix/server/api/mutations/__init__.py +2 -0
  14. phoenix/server/api/mutations/dataset_label_mutations.py +291 -0
  15. phoenix/server/api/mutations/dataset_split_mutations.py +38 -2
  16. phoenix/server/api/queries.py +21 -0
  17. phoenix/server/api/routers/auth.py +5 -5
  18. phoenix/server/api/routers/oauth2.py +5 -23
  19. phoenix/server/api/types/Dataset.py +8 -0
  20. phoenix/server/api/types/DatasetExample.py +7 -0
  21. phoenix/server/api/types/DatasetLabel.py +23 -0
  22. phoenix/server/api/types/Prompt.py +18 -1
  23. phoenix/server/app.py +7 -12
  24. phoenix/server/static/.vite/manifest.json +39 -39
  25. phoenix/server/static/assets/{components-Dl9SUw1U.js → components-BG6v0EM8.js} +665 -389
  26. phoenix/server/static/assets/{index-CqQS0dTo.js → index-CSVcULw1.js} +13 -13
  27. phoenix/server/static/assets/{pages-DKSjVA_E.js → pages-DgaM7kpM.js} +1135 -1182
  28. phoenix/server/static/assets/{vendor-CtbHQYl8.js → vendor-BqTEkGQU.js} +183 -183
  29. phoenix/server/static/assets/{vendor-arizeai-D-lWOwIS.js → vendor-arizeai-DlOj0PQQ.js} +15 -24
  30. phoenix/server/static/assets/{vendor-codemirror-BRBpy3_z.js → vendor-codemirror-B2PHH5yZ.js} +3 -3
  31. phoenix/server/static/assets/{vendor-recharts--KdSwB3m.js → vendor-recharts-CKsi4IjN.js} +1 -1
  32. phoenix/server/static/assets/{vendor-shiki-CvRzZnIo.js → vendor-shiki-DN26BkKE.js} +1 -1
  33. phoenix/server/utils.py +74 -0
  34. phoenix/session/session.py +25 -5
  35. phoenix/version.py +1 -1
  36. {arize_phoenix-12.0.0.dist-info → arize_phoenix-12.2.0.dist-info}/WHEEL +0 -0
  37. {arize_phoenix-12.0.0.dist-info → arize_phoenix-12.2.0.dist-info}/entry_points.txt +0 -0
  38. {arize_phoenix-12.0.0.dist-info → arize_phoenix-12.2.0.dist-info}/licenses/IP_NOTICE +0 -0
  39. {arize_phoenix-12.0.0.dist-info → arize_phoenix-12.2.0.dist-info}/licenses/LICENSE +0 -0
phoenix/server/app.py CHANGED
@@ -67,7 +67,6 @@ from phoenix.config import (
67
67
  get_env_gql_extension_paths,
68
68
  get_env_grpc_interceptor_paths,
69
69
  get_env_host,
70
- get_env_host_root_path,
71
70
  get_env_max_spans_queue_size,
72
71
  get_env_port,
73
72
  get_env_support_email,
@@ -145,6 +144,7 @@ from phoenix.server.api.dataloaders import (
145
144
  UserRolesDataLoader,
146
145
  UsersDataLoader,
147
146
  )
147
+ from phoenix.server.api.dataloaders.dataset_labels import DatasetLabelsDataLoader
148
148
  from phoenix.server.api.routers import (
149
149
  auth_router,
150
150
  create_embeddings_router,
@@ -175,6 +175,7 @@ from phoenix.server.types import (
175
175
  LastUpdatedAt,
176
176
  TokenStore,
177
177
  )
178
+ from phoenix.server.utils import get_root_path, prepend_root_path
178
179
  from phoenix.settings import Settings
179
180
  from phoenix.trace.fixtures import (
180
181
  TracesFixture,
@@ -283,9 +284,6 @@ class Static(StaticFiles):
283
284
  return {}
284
285
  raise e
285
286
 
286
- def _sanitize_basename(self, basename: str) -> str:
287
- return basename[:-1] if basename.endswith("/") else basename
288
-
289
287
  async def get_response(self, path: str, scope: Scope) -> Response:
290
288
  # Redirect to the oauth2 login page if basic auth is disabled and auto_login is enabled
291
289
  # TODO: this needs to be refactored to be cleaner
@@ -294,14 +292,10 @@ class Static(StaticFiles):
294
292
  and self._app_config.basic_auth_disabled
295
293
  and self._app_config.auto_login_idp_name
296
294
  ):
297
- request = Request(scope)
298
- url = URL(
299
- str(
300
- Path(get_env_host_root_path())
301
- / f"oauth2/{self._app_config.auto_login_idp_name}/login"
302
- )
295
+ redirect_path = prepend_root_path(
296
+ scope, f"oauth2/{self._app_config.auto_login_idp_name}/login"
303
297
  )
304
- url = url.include_query_params(**request.query_params)
298
+ url = URL(redirect_path).include_query_params(**Request(scope).query_params)
305
299
  return RedirectResponse(url=url)
306
300
  try:
307
301
  response = await super().get_response(path, scope)
@@ -318,7 +312,7 @@ class Static(StaticFiles):
318
312
  "min_dist": self._app_config.min_dist,
319
313
  "n_neighbors": self._app_config.n_neighbors,
320
314
  "n_samples": self._app_config.n_samples,
321
- "basename": self._sanitize_basename(request.scope.get("root_path", "")),
315
+ "basename": get_root_path(scope),
322
316
  "platform_version": phoenix_version,
323
317
  "request": request,
324
318
  "is_development": self._app_config.is_development,
@@ -718,6 +712,7 @@ def create_graphql_router(
718
712
  db
719
713
  ),
720
714
  dataset_example_splits=DatasetExampleSplitsDataLoader(db),
715
+ dataset_labels=DatasetLabelsDataLoader(db),
721
716
  document_evaluation_summaries=DocumentEvaluationSummaryDataLoader(
722
717
  db,
723
718
  cache_map=(
@@ -1,32 +1,32 @@
1
1
  {
2
- "_components-Dl9SUw1U.js": {
3
- "file": "assets/components-Dl9SUw1U.js",
2
+ "_components-BG6v0EM8.js": {
3
+ "file": "assets/components-BG6v0EM8.js",
4
4
  "name": "components",
5
5
  "imports": [
6
- "_vendor-CtbHQYl8.js",
7
- "_vendor-arizeai-D-lWOwIS.js",
8
- "_pages-DKSjVA_E.js",
9
- "_vendor-codemirror-BRBpy3_z.js",
6
+ "_vendor-BqTEkGQU.js",
7
+ "_pages-DgaM7kpM.js",
8
+ "_vendor-arizeai-DlOj0PQQ.js",
9
+ "_vendor-codemirror-B2PHH5yZ.js",
10
10
  "_vendor-three-BLWp5bic.js"
11
11
  ]
12
12
  },
13
- "_pages-DKSjVA_E.js": {
14
- "file": "assets/pages-DKSjVA_E.js",
13
+ "_pages-DgaM7kpM.js": {
14
+ "file": "assets/pages-DgaM7kpM.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
- "_vendor-CtbHQYl8.js",
18
- "_vendor-arizeai-D-lWOwIS.js",
19
- "_components-Dl9SUw1U.js",
20
- "_vendor-codemirror-BRBpy3_z.js",
21
- "_vendor-recharts--KdSwB3m.js"
17
+ "_vendor-BqTEkGQU.js",
18
+ "_components-BG6v0EM8.js",
19
+ "_vendor-arizeai-DlOj0PQQ.js",
20
+ "_vendor-codemirror-B2PHH5yZ.js",
21
+ "_vendor-recharts-CKsi4IjN.js"
22
22
  ]
23
23
  },
24
24
  "_vendor-BGzfc4EU.css": {
25
25
  "file": "assets/vendor-BGzfc4EU.css",
26
26
  "src": "_vendor-BGzfc4EU.css"
27
27
  },
28
- "_vendor-CtbHQYl8.js": {
29
- "file": "assets/vendor-CtbHQYl8.js",
28
+ "_vendor-BqTEkGQU.js": {
29
+ "file": "assets/vendor-BqTEkGQU.js",
30
30
  "name": "vendor",
31
31
  "imports": [
32
32
  "_vendor-three-BLWp5bic.js"
@@ -35,39 +35,39 @@
35
35
  "assets/vendor-BGzfc4EU.css"
36
36
  ]
37
37
  },
38
- "_vendor-arizeai-D-lWOwIS.js": {
39
- "file": "assets/vendor-arizeai-D-lWOwIS.js",
38
+ "_vendor-arizeai-DlOj0PQQ.js": {
39
+ "file": "assets/vendor-arizeai-DlOj0PQQ.js",
40
40
  "name": "vendor-arizeai",
41
41
  "imports": [
42
- "_vendor-CtbHQYl8.js"
42
+ "_vendor-BqTEkGQU.js"
43
43
  ]
44
44
  },
45
- "_vendor-codemirror-BRBpy3_z.js": {
46
- "file": "assets/vendor-codemirror-BRBpy3_z.js",
45
+ "_vendor-codemirror-B2PHH5yZ.js": {
46
+ "file": "assets/vendor-codemirror-B2PHH5yZ.js",
47
47
  "name": "vendor-codemirror",
48
48
  "imports": [
49
- "_vendor-CtbHQYl8.js",
50
- "_vendor-shiki-CvRzZnIo.js"
49
+ "_vendor-BqTEkGQU.js",
50
+ "_vendor-shiki-DN26BkKE.js"
51
51
  ],
52
52
  "dynamicImports": [
53
- "_vendor-shiki-CvRzZnIo.js",
54
- "_vendor-shiki-CvRzZnIo.js",
55
- "_vendor-shiki-CvRzZnIo.js"
53
+ "_vendor-shiki-DN26BkKE.js",
54
+ "_vendor-shiki-DN26BkKE.js",
55
+ "_vendor-shiki-DN26BkKE.js"
56
56
  ]
57
57
  },
58
- "_vendor-recharts--KdSwB3m.js": {
59
- "file": "assets/vendor-recharts--KdSwB3m.js",
58
+ "_vendor-recharts-CKsi4IjN.js": {
59
+ "file": "assets/vendor-recharts-CKsi4IjN.js",
60
60
  "name": "vendor-recharts",
61
61
  "imports": [
62
- "_vendor-CtbHQYl8.js"
62
+ "_vendor-BqTEkGQU.js"
63
63
  ]
64
64
  },
65
- "_vendor-shiki-CvRzZnIo.js": {
66
- "file": "assets/vendor-shiki-CvRzZnIo.js",
65
+ "_vendor-shiki-DN26BkKE.js": {
66
+ "file": "assets/vendor-shiki-DN26BkKE.js",
67
67
  "name": "vendor-shiki",
68
68
  "isDynamicEntry": true,
69
69
  "imports": [
70
- "_vendor-CtbHQYl8.js"
70
+ "_vendor-BqTEkGQU.js"
71
71
  ]
72
72
  },
73
73
  "_vendor-three-BLWp5bic.js": {
@@ -75,19 +75,19 @@
75
75
  "name": "vendor-three"
76
76
  },
77
77
  "index.tsx": {
78
- "file": "assets/index-CqQS0dTo.js",
78
+ "file": "assets/index-CSVcULw1.js",
79
79
  "name": "index",
80
80
  "src": "index.tsx",
81
81
  "isEntry": true,
82
82
  "imports": [
83
- "_vendor-CtbHQYl8.js",
84
- "_vendor-arizeai-D-lWOwIS.js",
85
- "_pages-DKSjVA_E.js",
86
- "_components-Dl9SUw1U.js",
83
+ "_vendor-BqTEkGQU.js",
84
+ "_vendor-arizeai-DlOj0PQQ.js",
85
+ "_pages-DgaM7kpM.js",
86
+ "_components-BG6v0EM8.js",
87
87
  "_vendor-three-BLWp5bic.js",
88
- "_vendor-codemirror-BRBpy3_z.js",
89
- "_vendor-shiki-CvRzZnIo.js",
90
- "_vendor-recharts--KdSwB3m.js"
88
+ "_vendor-codemirror-B2PHH5yZ.js",
89
+ "_vendor-shiki-DN26BkKE.js",
90
+ "_vendor-recharts-CKsi4IjN.js"
91
91
  ]
92
92
  }
93
93
  }