arize-phoenix 12.8.0__py3-none-any.whl → 12.9.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 (70) hide show
  1. {arize_phoenix-12.8.0.dist-info → arize_phoenix-12.9.0.dist-info}/METADATA +3 -1
  2. {arize_phoenix-12.8.0.dist-info → arize_phoenix-12.9.0.dist-info}/RECORD +70 -67
  3. phoenix/config.py +131 -9
  4. phoenix/db/engines.py +127 -14
  5. phoenix/db/iam_auth.py +64 -0
  6. phoenix/db/pg_config.py +10 -0
  7. phoenix/server/api/context.py +23 -0
  8. phoenix/server/api/dataloaders/__init__.py +6 -0
  9. phoenix/server/api/dataloaders/experiment_repeated_run_groups.py +0 -2
  10. phoenix/server/api/dataloaders/experiment_runs_by_experiment_and_example.py +44 -0
  11. phoenix/server/api/dataloaders/span_costs.py +3 -9
  12. phoenix/server/api/dataloaders/token_prices_by_model.py +30 -0
  13. phoenix/server/api/helpers/playground_clients.py +3 -3
  14. phoenix/server/api/input_types/PromptVersionInput.py +47 -1
  15. phoenix/server/api/mutations/annotation_config_mutations.py +2 -2
  16. phoenix/server/api/mutations/api_key_mutations.py +2 -15
  17. phoenix/server/api/mutations/chat_mutations.py +3 -2
  18. phoenix/server/api/mutations/dataset_label_mutations.py +12 -6
  19. phoenix/server/api/mutations/dataset_mutations.py +8 -8
  20. phoenix/server/api/mutations/dataset_split_mutations.py +13 -9
  21. phoenix/server/api/mutations/model_mutations.py +4 -4
  22. phoenix/server/api/mutations/project_session_annotations_mutations.py +4 -7
  23. phoenix/server/api/mutations/prompt_label_mutations.py +3 -3
  24. phoenix/server/api/mutations/prompt_mutations.py +24 -117
  25. phoenix/server/api/mutations/prompt_version_tag_mutations.py +8 -5
  26. phoenix/server/api/mutations/span_annotations_mutations.py +10 -5
  27. phoenix/server/api/mutations/trace_annotations_mutations.py +9 -4
  28. phoenix/server/api/mutations/user_mutations.py +4 -4
  29. phoenix/server/api/queries.py +65 -210
  30. phoenix/server/api/subscriptions.py +4 -4
  31. phoenix/server/api/types/Annotation.py +90 -23
  32. phoenix/server/api/types/ApiKey.py +13 -17
  33. phoenix/server/api/types/Dataset.py +88 -48
  34. phoenix/server/api/types/DatasetExample.py +34 -30
  35. phoenix/server/api/types/DatasetLabel.py +47 -13
  36. phoenix/server/api/types/DatasetSplit.py +87 -21
  37. phoenix/server/api/types/DatasetVersion.py +49 -4
  38. phoenix/server/api/types/DocumentAnnotation.py +182 -62
  39. phoenix/server/api/types/Experiment.py +146 -55
  40. phoenix/server/api/types/ExperimentRepeatedRunGroup.py +10 -1
  41. phoenix/server/api/types/ExperimentRun.py +118 -61
  42. phoenix/server/api/types/ExperimentRunAnnotation.py +158 -39
  43. phoenix/server/api/types/GenerativeModel.py +95 -42
  44. phoenix/server/api/types/ModelInterface.py +7 -2
  45. phoenix/server/api/types/PlaygroundModel.py +12 -2
  46. phoenix/server/api/types/Project.py +70 -75
  47. phoenix/server/api/types/ProjectSession.py +69 -37
  48. phoenix/server/api/types/ProjectSessionAnnotation.py +166 -47
  49. phoenix/server/api/types/ProjectTraceRetentionPolicy.py +1 -1
  50. phoenix/server/api/types/Prompt.py +82 -44
  51. phoenix/server/api/types/PromptLabel.py +47 -13
  52. phoenix/server/api/types/PromptVersion.py +11 -8
  53. phoenix/server/api/types/PromptVersionTag.py +65 -25
  54. phoenix/server/api/types/Span.py +116 -115
  55. phoenix/server/api/types/SpanAnnotation.py +189 -42
  56. phoenix/server/api/types/SystemApiKey.py +65 -1
  57. phoenix/server/api/types/Trace.py +45 -44
  58. phoenix/server/api/types/TraceAnnotation.py +144 -48
  59. phoenix/server/api/types/User.py +103 -33
  60. phoenix/server/api/types/UserApiKey.py +73 -26
  61. phoenix/server/app.py +29 -0
  62. phoenix/server/static/.vite/manifest.json +9 -9
  63. phoenix/server/static/assets/{components-Bem6_7MW.js → components-v927s3NF.js} +427 -397
  64. phoenix/server/static/assets/{index-NdiXbuNL.js → index-DrD9eSrN.js} +9 -5
  65. phoenix/server/static/assets/{pages-CEJgMVKU.js → pages-GVybXa_W.js} +489 -486
  66. phoenix/version.py +1 -1
  67. {arize_phoenix-12.8.0.dist-info → arize_phoenix-12.9.0.dist-info}/WHEEL +0 -0
  68. {arize_phoenix-12.8.0.dist-info → arize_phoenix-12.9.0.dist-info}/entry_points.txt +0 -0
  69. {arize_phoenix-12.8.0.dist-info → arize_phoenix-12.9.0.dist-info}/licenses/IP_NOTICE +0 -0
  70. {arize_phoenix-12.8.0.dist-info → arize_phoenix-12.9.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 12.8.0
3
+ Version: 12.9.0
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://arize.com/docs/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -59,6 +59,8 @@ Requires-Dist: tqdm
59
59
  Requires-Dist: typing-extensions>=4.6
60
60
  Requires-Dist: uvicorn
61
61
  Requires-Dist: wrapt<2,>=1.17.2
62
+ Provides-Extra: aws
63
+ Requires-Dist: boto3; extra == 'aws'
62
64
  Provides-Extra: container
63
65
  Requires-Dist: aiohttp; extra == 'container'
64
66
  Requires-Dist: anthropic>=0.49.0; extra == 'container'
@@ -1,12 +1,12 @@
1
1
  phoenix/__init__.py,sha256=Sgb4r2MLoY2BbC9Caky5C0bwnOyiVOMHly2sRItmg3Q,5555
2
2
  phoenix/auth.py,sha256=bxYtmtUxCQnCPfIO88PzdNw0NlF50tvgl9yyrCl2skg,12298
3
- phoenix/config.py,sha256=EQYzCeib7o-63D2wSK8qTqdrYNEhJaUL5Axo9GJoErs,77844
3
+ phoenix/config.py,sha256=xgKKbMMB3r74ZMq2y9o5M5N8d4mfV9GUkIVIqA-V3LA,82766
4
4
  phoenix/datetime_utils.py,sha256=pRD-nzxXYKlMWNtd3r2tKGKfPFhwuJhfOAtlGLVAO60,8784
5
5
  phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
6
6
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
7
7
  phoenix/services.py,sha256=ngkyKGVatX3cO2WJdo2hKdaVKP-xJCMvqthvga6kJss,5196
8
8
  phoenix/settings.py,sha256=2kHfT3BNOVd4dAO1bq-syEQbHSG8oX2-7NhOwK2QREk,896
9
- phoenix/version.py,sha256=gI1fVVoXdBSWPUaSm3faftAdEowgaQCFGYaqnWMq664,23
9
+ phoenix/version.py,sha256=U2JOTnqd47YBItxlcnGHHmzY9W16xUHky6i2OTIVltg,23
10
10
  phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
12
12
  phoenix/core/model.py,sha256=qBFraOtmwCCnWJltKNP18DDG0mULXigytlFsa6YOz6k,4837
@@ -17,13 +17,14 @@ phoenix/db/__init__.py,sha256=pDjEFXukHmJBM-1D8RjmXkvLsz85YWNxMQczt81ec3A,118
17
17
  phoenix/db/alembic.ini,sha256=GIS6HpHaKaJbbuahZg1Rc1D2_QqyCkV9r58wdARGf6w,3262
18
18
  phoenix/db/bulk_inserter.py,sha256=8_mTxc-6RDZXngC3Xe4fu-zrFwf7gkx2a0UDYPqHc0g,14186
19
19
  phoenix/db/constants.py,sha256=-YE2rkzcROG06_rerfnX5hC7fLzOHx1Gjw4nXhX_um4,46
20
- phoenix/db/engines.py,sha256=e-VdW9FZVrs-F8P8FeQP2NzOTOXuq9LeUq1ebv99ZdM,6731
20
+ phoenix/db/engines.py,sha256=4hUw2LkVGCgIpTnvQHyETejACXWUiuMFWiAR22e5SFk,9979
21
21
  phoenix/db/enums.py,sha256=w3O5YuJEEzVTwVDZb8b2UUFhU8yK_GosF081VVrrno0,188
22
22
  phoenix/db/facilitator.py,sha256=4MW9ZQOHEJAeG8KUeiWbp-WBWrtIe5FWPohvGO8zqiE,20255
23
23
  phoenix/db/helpers.py,sha256=Inc3g_F7QtiTe-AW11j5EohUJVvDsHohyzIgObimjVI,21514
24
+ phoenix/db/iam_auth.py,sha256=AtMX6gQgHk9mFdFD2XuSo7IamF52LvFWPDjMxpNpLEI,1962
24
25
  phoenix/db/migrate.py,sha256=oUrXH8yEbcpL4eh09aSCuUiSrhFli0eT5D_j4ZmYChY,2797
25
26
  phoenix/db/models.py,sha256=o14p35viN3iM9la1kFqVpY5RtJ8w5pszwm01ToOmRZk,71239
26
- phoenix/db/pg_config.py,sha256=h6mB7qF7t4Zk6VGvAiyefHGVu74o-yJynaWzeE39k9Y,6001
27
+ phoenix/db/pg_config.py,sha256=B6dwTfoBkrCtq5FBLVgGU4rdstwHjG7OwR70k4HNQps,6439
27
28
  phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
29
  phoenix/db/insertion/constants.py,sha256=8wifm7X-1XvroZ__R2Gc96NsgLhTDn0zXl4lehlXtcA,70
29
30
  phoenix/db/insertion/dataset.py,sha256=rUKX2CHSjl8ZrRmiVraSithTNwgynFWjEXvx3QUHiY4,7441
@@ -102,7 +103,7 @@ phoenix/pointcloud/pointcloud.py,sha256=SN_1wXZcwKrtSnHGZLDZGx71orqE1WyVF7E-D58d
102
103
  phoenix/pointcloud/projectors.py,sha256=TQgwc9cJDjJkin1WZyZzgl3HsYrLLiyWD7Czy4jNW3U,1088
103
104
  phoenix/pointcloud/umap_parameters.py,sha256=db_WEPoamuWtopZx7tQfAXPnoE0MS8FkAV0_ThjEx_Q,1735
104
105
  phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- phoenix/server/app.py,sha256=4WJNOu3IpPeyegC8VUMragANUpMPPn7Gsb4b2M1uAnc,51030
106
+ phoenix/server/app.py,sha256=h0NxmcPOhRhRfqRvxDVfrxd04ld6VQIGxlh7B2T02g0,53071
106
107
  phoenix/server/authorization.py,sha256=Ws1bNyWLlTeRODcT6zNy8C5SB5WMROXrMYqzCDxTxZo,3114
107
108
  phoenix/server/bearer_auth.py,sha256=IUL2b5O2J2oc593cy_S_SM0mCEL34r6Z9Zgia7CcS4k,6877
108
109
  phoenix/server/dml_event.py,sha256=HgUsIkzyXxCGasjnrqubegWbNaAcAgjrtWrKc3aRwxA,3245
@@ -123,14 +124,14 @@ phoenix/server/api/README.md,sha256=Pyq1PLPgTzXAswrfIhGXrjI3Skq8it2jTVnanT6Ba4Q,
123
124
  phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
125
  phoenix/server/api/auth.py,sha256=lDj289lNGY0-HqzlNyvWwPXjF3qHiSsOuvCJNIAbU0k,3072
125
126
  phoenix/server/api/auth_messages.py,sha256=15oqogBNS2BgJLLDecfXz62G9LdiOAEyzPv6jX9BxYE,1912
126
- phoenix/server/api/context.py,sha256=MmbVDZuniYDQ9Xw_g371n8_HtqlIUwt_n0Li7FkGZzs,10649
127
+ phoenix/server/api/context.py,sha256=Yq9PdPnlUOhmRrb5MPAE7ez6yuUOi1_4X0GEfrTt7cM,11821
127
128
  phoenix/server/api/exceptions.py,sha256=9gB4nBRNX6k4_fsQZ12yxw6Tw53h_915l06DYK-qkPQ,1442
128
129
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
129
- phoenix/server/api/queries.py,sha256=SQjsnCcNYve8XnQF0CMJGzSZy60SSZLZsxvR72cdWMk,68824
130
+ phoenix/server/api/queries.py,sha256=6LXNuvaS8y6R2390Q4kTxnVEHLAYAuMMXHQhEZjeA_M,61450
130
131
  phoenix/server/api/schema.py,sha256=fcs36xQwFF_Qe41_5cWR8wYpDvOrnbcyTeo5WNMbDsA,1702
131
- phoenix/server/api/subscriptions.py,sha256=f2o9L04BdMxh6jWHmhdokzu84mifh6u2IF4z6Pt_ZOs,26206
132
+ phoenix/server/api/subscriptions.py,sha256=MgrE2YqrAC8P8-Tsh_QLHIUn_KCP5xj-8aKkUQE0DQA,26199
132
133
  phoenix/server/api/utils.py,sha256=quCBRcusc6PUq9tJq7M8PgwFZp7nXgVAxtbw8feribY,833
133
- phoenix/server/api/dataloaders/__init__.py,sha256=G-EhWVbs0dMDPbTyEO1M3sCls-1UdHeB9_YS2tePQtk,8348
134
+ phoenix/server/api/dataloaders/__init__.py,sha256=qIfNtlRjQqlsfgtsjNZOheamPL_Lml5nsN0WN8nPxfU,8613
134
135
  phoenix/server/api/dataloaders/annotation_configs_by_project.py,sha256=_Nfiug9o01JimU3Z0LpZJ0uaMCjchXomyt_dYAxPFRY,1178
135
136
  phoenix/server/api/dataloaders/annotation_summaries.py,sha256=0b23-bucBKyL25RWb2QzCNJjQzrq403qMmHKUVD5W4M,14377
136
137
  phoenix/server/api/dataloaders/average_experiment_repeated_run_group_latency.py,sha256=BSNyrwuNadQ16-2g0nGixrB5LyDqlTLeM2bKikyIagY,1860
@@ -148,9 +149,10 @@ phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=CFVj7Dw
148
149
  phoenix/server/api/dataloaders/experiment_dataset_splits.py,sha256=9V2rH7oFxiKRi2BG5oE5PJBjyDh1weXf9YAddtASdFE,1580
149
150
  phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=06IZF07qt2y167DBM49QkSNdnphPArhcsgYFcunaL-U,1992
150
151
  phoenix/server/api/dataloaders/experiment_repeated_run_group_annotation_summaries.py,sha256=ubOQ9_ilTRu_H_BwjwMp5lHLPKl7jYRoIYErCthsk6Y,2815
151
- phoenix/server/api/dataloaders/experiment_repeated_run_groups.py,sha256=3EAN8uKv4hx-ZoGCi6HlZ_7lyLD-k6TgUUSvW78if7k,2015
152
+ phoenix/server/api/dataloaders/experiment_repeated_run_groups.py,sha256=nbbXDOg24_6m1vZU6DbfFTjImmTh424Z75NFqwUZuEA,1883
152
153
  phoenix/server/api/dataloaders/experiment_run_annotations.py,sha256=uJ--9Ue4tnmZYH9Zy-Cj2Y2t3xzs2xUqN8Y6EGe1MCo,1296
153
154
  phoenix/server/api/dataloaders/experiment_run_counts.py,sha256=j_7229IL705p_TycxIMYylhSgLHsAn91TiGPYXtOuQ8,1617
155
+ phoenix/server/api/dataloaders/experiment_runs_by_experiment_and_example.py,sha256=GBd57Ia74T5sP8Vils-xlu8afi42WTEyOlyehuepP20,1570
154
156
  phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=zM_f78fnqhppLtevrx9iISQSN7w_BNeXT9CoX8jYgAI,1534
155
157
  phoenix/server/api/dataloaders/last_used_times_by_generative_model_id.py,sha256=4i3HqwP71bZ8vwyyj7v63IuKEJnUZI1GWpP1FW_xMZA,1330
156
158
  phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=LjxXK8pM-_yPmT5k23uLD17bbgt_UOMSAVvNPwqtWME,8542
@@ -182,12 +184,13 @@ phoenix/server/api/dataloaders/span_cost_summary_by_generative_model.py,sha256=F
182
184
  phoenix/server/api/dataloaders/span_cost_summary_by_project.py,sha256=N3cds3ooMU25Xbp9Z5Zlp-3a4AcNwRu0XpqaTgsKOoE,6002
183
185
  phoenix/server/api/dataloaders/span_cost_summary_by_project_session.py,sha256=kvsMK8GkFBubMiKZ0KwDk5O2D3LvXIg_zKT66MoKazE,2362
184
186
  phoenix/server/api/dataloaders/span_cost_summary_by_trace.py,sha256=XCq1mRGwNN5xucf4ea-V1cHus_VQQJyjR40UKCOmWHg,2274
185
- phoenix/server/api/dataloaders/span_costs.py,sha256=hlNrofQNNuGi4XFxOt7OV_ceBJ6mu_aKsDMz7SSoM3A,1161
187
+ phoenix/server/api/dataloaders/span_costs.py,sha256=uOVVTNfWqSVjz9miCPgu7_D5NKfczFWEMlIOe5KFK_8,958
186
188
  phoenix/server/api/dataloaders/span_dataset_examples.py,sha256=rpBStVP7ZMIH11Cpq4-zCJ4amNC5ZzX72NYv4vAQTdc,1255
187
189
  phoenix/server/api/dataloaders/span_descendants.py,sha256=xrAJ_pVMQ3G7o4WNn3HxGTpNLCBXJH3xPb1RKnMEd1k,3933
188
190
  phoenix/server/api/dataloaders/span_projects.py,sha256=JTfuKn2BBn72QdAP53ZGP2OUCgZJ7AzlzQAx8WivBog,1234
189
191
  phoenix/server/api/dataloaders/table_fields.py,sha256=yRO7cKXr2x4tifS7jCWo4R1fk2CvpvvuYTrDrYJJjjM,3070
190
192
  phoenix/server/api/dataloaders/token_counts.py,sha256=Sr_sBfLgsKYCIjgzTFV-fuat7s7DATM2u6ZftLaOnoQ,4629
193
+ phoenix/server/api/dataloaders/token_prices_by_model.py,sha256=WrGZja2JbqnUrZWfwlLA6_h1ga9ZO-nhlq4GvsXHyY4,1020
191
194
  phoenix/server/api/dataloaders/trace_annotations_by_trace.py,sha256=65Xl2fTWxqa7S8EFxApzeNYJM9vnso4YKA0TA20hUhc,1017
192
195
  phoenix/server/api/dataloaders/trace_by_trace_ids.py,sha256=xqYJOjCgXlTzour4vY72kO-2gJFgWMjD3759o78cq44,874
193
196
  phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py,sha256=WYaq1iR43ekBljZLldZScjXrweY0D7S9FNzCeaYO9Y0,1213
@@ -201,7 +204,7 @@ phoenix/server/api/helpers/__init__.py,sha256=m2-xaSPqUiSs91k62JaRDjFNfl-1byxBfY
201
204
  phoenix/server/api/helpers/annotations.py,sha256=9gMXKpMTfWEChoSCnvdWYuyB0hlSnNOp-qUdar9Vono,262
202
205
  phoenix/server/api/helpers/dataset_helpers.py,sha256=3bdGBoUzqrtg-sr5p2wpQLOU6dhg_3TKFHNeJj8p0TU,9155
203
206
  phoenix/server/api/helpers/experiment_run_filters.py,sha256=DOnVwrmn39eAkk2mwuZP8kIcAnR5jrOgllEwWSjsw94,29893
204
- phoenix/server/api/helpers/playground_clients.py,sha256=PWoW3hOPMrCMxSZfPBBIrF3-aFcq_XBp-D8YrCsmYvU,74914
207
+ phoenix/server/api/helpers/playground_clients.py,sha256=e6k2cgSRMsyyhaV5EY5gGQdvBw1PzqIvUSfrbR5JFUE,74833
205
208
  phoenix/server/api/helpers/playground_registry.py,sha256=n0v4-KnvZJxeaEwOla5qBbnOQjSWznKmMhZnh9ziJt0,2584
206
209
  phoenix/server/api/helpers/playground_spans.py,sha256=EDZ0NbkfOXAwGJvLqP2ARE5v6OTtKp9R-KU4AsvX_9U,17176
207
210
  phoenix/server/api/helpers/playground_users.py,sha256=s02cLyDrg_LsE_sWkzTixNZVWAl6LquL5hJltPuUE_Y,880
@@ -249,7 +252,7 @@ phoenix/server/api/input_types/ProjectSessionSort.py,sha256=erUJ1O0i9SmZS5fid6vt
249
252
  phoenix/server/api/input_types/ProjectSort.py,sha256=ZTT-InFB6NvInDwLuivyHe9PxR5nsmQ8aXCHAPjZm9k,329
250
253
  phoenix/server/api/input_types/PromptFilter.py,sha256=f2F7fDlYRsNJp_rKkmvpgUt9rfgr_e-dyZxuHX8YfkU,256
251
254
  phoenix/server/api/input_types/PromptTemplateOptions.py,sha256=8ZJdH1F9fExcdH9dF8SJ29WycCvtEpK-Z6dZwFO7KgQ,232
252
- phoenix/server/api/input_types/PromptVersionInput.py,sha256=6iFWf2Ye9K1dwL1810L-wUTLkMtOIHemJTxar4xF4kw,3911
255
+ phoenix/server/api/input_types/PromptVersionInput.py,sha256=Y5PSSeY97fwl54xaq5FCW9UxKznHXW875HowNMI4xhA,5556
253
256
  phoenix/server/api/input_types/SpanAnnotationSort.py,sha256=T5pAGzmh4MiJp9JMAzNDByFVTczfw02FH4WFWwFezyI,361
254
257
  phoenix/server/api/input_types/SpanSort.py,sha256=aybgSeuJvCsQf4yRDEDildHgE6aNYq5vnXTynRzD-eY,7612
255
258
  phoenix/server/api/input_types/TimeBinConfig.py,sha256=s4p0SNTGRY6rbHfZhEMwmon5zX85j-DbN06GkapF6jg,516
@@ -259,25 +262,25 @@ phoenix/server/api/input_types/UpdateAnnotationInput.py,sha256=ZhWmu6eQ2jJ9_e99m
259
262
  phoenix/server/api/input_types/UserRoleInput.py,sha256=xowBkijREtDpcc909xXarpxfLhxMC88Xl0bZzZGv6Sw,151
260
263
  phoenix/server/api/input_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
264
  phoenix/server/api/mutations/__init__.py,sha256=83V5Ia8ijsajSLo_gzAuHXo4hgDlUGLIUrerxzKKVn8,2385
262
- phoenix/server/api/mutations/annotation_config_mutations.py,sha256=ZcjWlJ88B_jevoESmOtmO0l-SUEbtAwxwP1KpWTmYqQ,15511
263
- phoenix/server/api/mutations/api_key_mutations.py,sha256=3djEPrVOwF7oN3C46WEROWqiBi0EZnue7dTQDAxwBKo,6526
264
- phoenix/server/api/mutations/chat_mutations.py,sha256=T9S6IMWVSoFVhkwyXGMg-LGKPcQcKtKb7Y4nsDbRr_0,26020
265
- phoenix/server/api/mutations/dataset_label_mutations.py,sha256=qT5JoV4gtJwctzxwGsqyzyhMUQhSrIhAeRQ5J7-FE20,9524
266
- phoenix/server/api/mutations/dataset_mutations.py,sha256=BsBW2epV3gtgnO2fn3lJP9uX2qOZEY6gy0UW1UEgpUA,28137
267
- phoenix/server/api/mutations/dataset_split_mutations.py,sha256=Mbmr6LyqqoaLfB4rwMrx2V0GICHlcJ34hyj6c1k7tvk,17415
265
+ phoenix/server/api/mutations/annotation_config_mutations.py,sha256=anK_xdl_nL5nsK0sXeOaxRp-eE3WGWHGmp6uH3uhkUw,15489
266
+ phoenix/server/api/mutations/api_key_mutations.py,sha256=siqv-bYL2Tc_UXM3117I57tjs6X6iIzR0rtW-IhifHw,6052
267
+ phoenix/server/api/mutations/chat_mutations.py,sha256=p6HXlWyjYBcpe4YCrNLdYod7rvzLZtN6zSllB6nVQsE,26034
268
+ phoenix/server/api/mutations/dataset_label_mutations.py,sha256=qvLeURZatnc_gfjDAaUNWpONNyfEU8kqSbZw7t_BoMo,9744
269
+ phoenix/server/api/mutations/dataset_mutations.py,sha256=ar4V-zrT_FdqQk114pw6TS9n6Dmhqe8IiiNKeqfHDNQ,28247
270
+ phoenix/server/api/mutations/dataset_split_mutations.py,sha256=6rODH9s5z3Pr4xNaEEB3oCUd1W_dpbOFHRCsPDhPyqs,17624
268
271
  phoenix/server/api/mutations/experiment_mutations.py,sha256=_fWkKl3VEMF4w885vIuh8zjH9SOhlXc4QaHzGLgBnuY,3214
269
272
  phoenix/server/api/mutations/export_events_mutations.py,sha256=a9soJCXuFQ21wJa2FdbeMh7pPI7EkFzVI50nwX-Y2XI,4032
270
- phoenix/server/api/mutations/model_mutations.py,sha256=FPr_FunvLqpzEWVwiEZ3Yh6iEISzWh151gFK8maFczY,7251
273
+ phoenix/server/api/mutations/model_mutations.py,sha256=eKJHpw-LcdBLTN_9YfUSDEERifk7Kt4RjflHcOgRVnA,7271
271
274
  phoenix/server/api/mutations/project_mutations.py,sha256=iUzdzdz9rS98Hu5MxvjVjJAQlzJyaWt2Q7cJuy4RhNI,4621
272
- phoenix/server/api/mutations/project_session_annotations_mutations.py,sha256=xY0PNOH-7B7nCVMBhJrqKk9eLfJ0RlMc3oFAz-FLL_w,7122
275
+ phoenix/server/api/mutations/project_session_annotations_mutations.py,sha256=IizzPUdbZFsoiY_dL6ADlEKdh3irFoikVms8j_A12Mo,7113
273
276
  phoenix/server/api/mutations/project_trace_retention_policy_mutations.py,sha256=9gc6GfUWuXssAlEuHVViQItW5Lv5MrmTx8569d8jRQ4,9919
274
- phoenix/server/api/mutations/prompt_label_mutations.py,sha256=OG_zPaS8dTr8IQT3Jguw3c66RzptEN5VotvjeuCZRNY,7362
275
- phoenix/server/api/mutations/prompt_mutations.py,sha256=l4-zWtaZkazzE99pHo6z1hoX5BbEG3yKrV5w1cHC3t0,12222
276
- phoenix/server/api/mutations/prompt_version_tag_mutations.py,sha256=oV7ClP6R3v7EjMVl4mKzPPQ_GC9Xs_tKMT-LfHDa04I,5806
277
- phoenix/server/api/mutations/span_annotations_mutations.py,sha256=G4w2LdQwrAT-juKcf6NME3XqnCHuKT3Al8dFJWfz1S4,15080
278
- phoenix/server/api/mutations/trace_annotations_mutations.py,sha256=vzJnmhMB_m1VbIewSaqD9xB5OAATHDtF71dsQ4f4iHU,12023
277
+ phoenix/server/api/mutations/prompt_label_mutations.py,sha256=ejzK2MmyfDpS1-QtKlsTA-fZtq8DtjyM3i-gdinXgw8,7379
278
+ phoenix/server/api/mutations/prompt_mutations.py,sha256=v1XuTTAkXXyAumWW8tW7dbU9zs0XV22gzjP-jBdId9g,8517
279
+ phoenix/server/api/mutations/prompt_version_tag_mutations.py,sha256=gCwD_FmpHTAIXtPFnenhQc-Q1yeJEHXA2MWV6AToHnA,5819
280
+ phoenix/server/api/mutations/span_annotations_mutations.py,sha256=kIoCgfIbYDpqGtWTl7c7u1_UxhtNtDQMZHKPDA4D4Is,15236
281
+ phoenix/server/api/mutations/trace_annotations_mutations.py,sha256=Wt18uvtbeAU1jH-q7msNIrC76idnts4s9cRVok4OU2o,12173
279
282
  phoenix/server/api/mutations/trace_mutations.py,sha256=_lISuai_tdfmf4x1D8bS_NMv2ZV_1OmVKLoDffbYZ38,4737
280
- phoenix/server/api/mutations/user_mutations.py,sha256=hqblu7JI-q3bh1TiRJyRIw10T9A61wWm6szoUC6ph1Y,15632
283
+ phoenix/server/api/mutations/user_mutations.py,sha256=NIOPKZqKyTq8TzpiVP4xqDhT2dgyf-dPyvaUZuRuxrs,15664
281
284
  phoenix/server/api/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
282
285
  phoenix/server/api/openapi/main.py,sha256=yKdzJYI4cxy_1mFcK4_7YObIcuRviBIfwNjB23RG14k,461
283
286
  phoenix/server/api/openapi/schema.py,sha256=WGmHWSIyJhtc5EIh_M3vlXU-EgHkFuTlyVofgS0kj1I,529
@@ -303,12 +306,12 @@ phoenix/server/api/routers/v1/spans.py,sha256=1qSP4YRqO5W3yxx-28EHBy6tYJrA_i7CLQ
303
306
  phoenix/server/api/routers/v1/traces.py,sha256=2USf0F0SFwU8GQ3lUMooMFnKlzAZwcahCz3GcIXeOic,10003
304
307
  phoenix/server/api/routers/v1/users.py,sha256=SCJbYyKhiCH4BY_Luv6eixAWnrL9xHDMfqXKhm2iBAM,11650
305
308
  phoenix/server/api/routers/v1/utils.py,sha256=Z4rd3dvxPYDNR0ApqH6wZ_bk5wyywaI19l0_ibqm5pk,4812
306
- phoenix/server/api/types/Annotation.py,sha256=gsl8CwjIbDUbZRj4d9USwZ_w_Tkz4i7zuZh9ftV80jA,1132
309
+ phoenix/server/api/types/Annotation.py,sha256=BpZOoGS99aIoc0bU4Gyb6z76Q3iN6gMcj1UyoPFTQ_c,3127
307
310
  phoenix/server/api/types/AnnotationConfig.py,sha256=TPukZUgvFC17W93Vnme21EhswasBMR-ZiuSWteiWZOU,3891
308
311
  phoenix/server/api/types/AnnotationSource.py,sha256=nwWL8HdnMNE8LKvAbeZix-dzfBNymACyBt9f6nzk0PM,122
309
312
  phoenix/server/api/types/AnnotationSummary.py,sha256=mXp2bdlcId_i8swVuv7I72mMvFv0ZOTTgI03CT5X8gQ,2080
310
313
  phoenix/server/api/types/AnnotatorKind.py,sha256=6L_1iuxYYwmEMdKNlET1bPKhJ-INfCsY_VHDwCLi63E,254
311
- phoenix/server/api/types/ApiKey.py,sha256=76HIkWxyJqL3UjdMesX9l5y6XaD9QphwabXGQVY-MaQ,793
314
+ phoenix/server/api/types/ApiKey.py,sha256=AFcSt-gEG2-_SCsbhNHbOln_lwxV869IvZ537w9VdNY,782
312
315
  phoenix/server/api/types/AuthMethod.py,sha256=M25usT6FCNKi-QFMdtMqRjJVGfq1ACnVoSjHXGxfrUk,126
313
316
  phoenix/server/api/types/ChatCompletionMessageRole.py,sha256=kmQOilOlVntlmqbaHkqXZuimfljfYaHc3kbo53uK8_0,227
314
317
  phoenix/server/api/types/ChatCompletionSubscriptionPayload.py,sha256=P06QWwK4LwU51cVQqBath__6cJgqhMeSV3_0h0pairY,1075
@@ -317,20 +320,20 @@ phoenix/server/api/types/CostBreakdown.py,sha256=yw9dlb0blGIB_dWNP8yEvDHJztHjpiV
317
320
  phoenix/server/api/types/CreateDatasetPayload.py,sha256=R-6zCmuD0f76RU9Giu78xwTHlASQs6Aq8yzvX1Kxc3g,140
318
321
  phoenix/server/api/types/CronExpression.py,sha256=R7oxuSSX_eTUHQWaoaSueQqWDmkkHr5dBKRN6q-6ROk,331
319
322
  phoenix/server/api/types/DataQualityMetric.py,sha256=Aieg3bHeBFaAf4mqeRcH1zT04sXAtQD8ATSHJt7FaBQ,1538
320
- phoenix/server/api/types/Dataset.py,sha256=l-jFTn-DLVevOFvk8NDga6BqDn5rY12fO1y5smFECp4,16795
321
- phoenix/server/api/types/DatasetExample.py,sha256=9xEdDVj8rNK3LOs98Ekm67sz56yfpjj9Vn9CXIndW74,5650
323
+ phoenix/server/api/types/Dataset.py,sha256=Id4vwwyUQ2b_My4yBjRqRHiKTWJ6_8E2lZvA-z_-iX0,17954
324
+ phoenix/server/api/types/DatasetExample.py,sha256=DhTSEVjDJiLW0hPZqPmp7EEQ6ktWbxm7Q0oKx5th6kU,5835
322
325
  phoenix/server/api/types/DatasetExampleRevision.py,sha256=c-jWR6dTguEZTm54IMlFr0Ic84I3nefyDnZb7nF5hnI,874
323
326
  phoenix/server/api/types/DatasetExperimentAnnotationSummary.py,sha256=EVXz6zfbdYsU5SZ6FUrAA_VQqQCnBE_mbKgmAmFoDLI,195
324
- phoenix/server/api/types/DatasetLabel.py,sha256=nIiggJQEBygvLWIWUL-mUKoG_Et9iLHvbvU7-WNnWPU,510
325
- phoenix/server/api/types/DatasetSplit.py,sha256=FMdst-6WV4kGBzGr_GefX5vCYuKo-kFJWFJU5MNPIpk,862
327
+ phoenix/server/api/types/DatasetLabel.py,sha256=WBuJU9EXZpvQtERmhBQfUa7_-Nbn0ASNzgjGwo1ZNzY,1571
328
+ phoenix/server/api/types/DatasetSplit.py,sha256=4obrUbaWE1HjcewR8XdKp0MLf6gtBNYeIRlIbCf_wBA,2742
326
329
  phoenix/server/api/types/DatasetValues.py,sha256=7VbCOLlzOXpZN80-zYF2UGuafRcPsZF-8WQNc0YsKFc,1119
327
- phoenix/server/api/types/DatasetVersion.py,sha256=NnDriqQUE20N_Jhyu3-IxHWJQE9wmdHEJIQAKyTVJpo,302
330
+ phoenix/server/api/types/DatasetVersion.py,sha256=GlHnohDhviuX1gPy7E-CpJHKsuptFTqgrLFbCian8Wg,1690
328
331
  phoenix/server/api/types/Dimension.py,sha256=VjW6kOMhFslGSSHlsylpF1hYY3wuhopC2LM2eOcIhRI,10665
329
332
  phoenix/server/api/types/DimensionDataType.py,sha256=o0QQRpUzgXbhd10drR2LthxrjB8klQcELrIvsbp4l_g,441
330
333
  phoenix/server/api/types/DimensionShape.py,sha256=LNsRt3Uyx1OmwMa5EXk1JGRXPLVV2EEgYXz-6wnLJn4,562
331
334
  phoenix/server/api/types/DimensionType.py,sha256=JLikZUBVqbHlUWcYYd8d60gB1_hmAcuFuZZsjCXpIwc,801
332
335
  phoenix/server/api/types/DimensionWithValue.py,sha256=4_koirnDrZBBdFkIWka2f-OeqZ6IzQXwqz3ccjdgHrc,484
333
- phoenix/server/api/types/DocumentAnnotation.py,sha256=CMNcODXnKYzAUBITp_iYOoCGpXPEFGnelxmWySqDyn4,3076
336
+ phoenix/server/api/types/DocumentAnnotation.py,sha256=vITLGle9UdNLshCLLLdYTO8vlIX4ODvHzxendmUR3cw,7324
334
337
  phoenix/server/api/types/DocumentEvaluationSummary.py,sha256=dx4Btlfw9_XsfmibjfWvMOvUfrvr9oGJq8jYmIL2o-Q,3494
335
338
  phoenix/server/api/types/DocumentRetrievalMetrics.py,sha256=amkpC3H5IU5-9GvO0telpbq00m6lIcv_2v446OpwFwc,1822
336
339
  phoenix/server/api/types/EmbeddingDimension.py,sha256=AYvpZ1nWINAgN4BAZsA_xI_2TNFK6h5jmqzvkPs651M,19428
@@ -339,16 +342,16 @@ phoenix/server/api/types/EvaluationSummary.py,sha256=vILYejnfPvMwWEXOwhQZsANvYe3
339
342
  phoenix/server/api/types/Event.py,sha256=iYt_Jx1Roioo0vZ0iPeJTHcTu6NSm4ilVMJ-IMUHAKk,3970
340
343
  phoenix/server/api/types/EventMetadata.py,sha256=-J0tYF9eZTHwCjwxQHY7Gckr2_MNW5OoWT1mydweZNM,635
341
344
  phoenix/server/api/types/ExampleRevisionInterface.py,sha256=gV3Gt9-3Oi5wjaVtepC6nOt3FzTzZFD1KebNnqiw56E,294
342
- phoenix/server/api/types/Experiment.py,sha256=LvNUVyIpK164HmGJ8xmyCkFsZWHyW9dCAE1B2duKl8I,10095
345
+ phoenix/server/api/types/Experiment.py,sha256=mvoK1lvC98eHrdeJR2X1CWJMbojQk9pNHEp6eu_-r3s,12586
343
346
  phoenix/server/api/types/ExperimentAnnotationSummary.py,sha256=Uk3JtxIrsMoZT5tqc4nJdUOM3XegVzjUyoV3pkjNotE,256
344
347
  phoenix/server/api/types/ExperimentComparison.py,sha256=fj4KoAPFNJvfrHBMloGkHz_-7Lf403IMe0OwDDJyZWk,383
345
- phoenix/server/api/types/ExperimentRepeatedRunGroup.py,sha256=a2-C6ZWyFm-THvus6n4WDYGtmapm-ZWFaDahW7A2i28,5434
348
+ phoenix/server/api/types/ExperimentRepeatedRunGroup.py,sha256=LPte9kYvOab8V0SMedkhEuMyGhYklIUMAytEgPR8mnc,5896
346
349
  phoenix/server/api/types/ExperimentRepeatedRunGroupAnnotationSummary.py,sha256=oNmQQMh09xSgtSg8-CbTIa8njPqz9F5fnrzHnYGFOZs,174
347
- phoenix/server/api/types/ExperimentRun.py,sha256=XGzHcz_k5qLokrYB_I7K213rF6N_k7qJsymsKsZUApA,6010
348
- phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=YGw5zIbjRXUK3zH475DnEeg4SDNGOmdxtuUVkzGw1E8,1734
350
+ phoenix/server/api/types/ExperimentRun.py,sha256=Wqwv8d5RMDJkkSFkdeG35EpA9-XOYig-QKK4s1WE8-s,8435
351
+ phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=HCqPAbod4zbQksoPwkJR-arbiA_r05FBKbeL9AmHyCA,6546
349
352
  phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
350
353
  phoenix/server/api/types/Functionality.py,sha256=zDDl2bANIqjwfooSOHg-VQk6-wQy05mREwjV_-VbSIg,262
351
- phoenix/server/api/types/GenerativeModel.py,sha256=1z1eShi6EPRkXkWLPvPD1hJo44valnCCfAzp5y9tQjo,7636
354
+ phoenix/server/api/types/GenerativeModel.py,sha256=vQdPTDhFFE255cGOEIS6r4kkNLYzNOmgVR0AfGEr4j4,9850
352
355
  phoenix/server/api/types/GenerativeProvider.py,sha256=blXHIzZwe-xlu3-iF2dexvqnb4xxiD2XynS4Vw0iLx4,6750
353
356
  phoenix/server/api/types/Identifier.py,sha256=n3rxpoKNCwEvZu7QY8yr7g3AW2mU-U62BxFXYaiHLKk,306
354
357
  phoenix/server/api/types/InferenceModel.py,sha256=VWX7eKehFxXp4i_QW_dJAGzeOvh418VUt15AaT_Cv68,8090
@@ -356,19 +359,19 @@ phoenix/server/api/types/Inferences.py,sha256=wv88PjcK-KwnzmTdukiAX9EV2KX4GqsKXV
356
359
  phoenix/server/api/types/InferencesRole.py,sha256=mLfeHpyhGUVX1-tWzT9IwC_cD18BZrD3RA4YsHYuSpA,595
357
360
  phoenix/server/api/types/LabelFraction.py,sha256=zsDxdFALrNiGA1eNykeP8o65gbA0HOhRp54MPH_iRAM,93
358
361
  phoenix/server/api/types/MimeType.py,sha256=Zpi6zCalkSFgsvhzvOs-O1gYA04usAi9H__QZUmFlO0,365
359
- phoenix/server/api/types/ModelInterface.py,sha256=Qe7H23wDb_Q2-HmeY2t0R5Jsn4aAfYkxCYwmC7V63Nk,236
362
+ phoenix/server/api/types/ModelInterface.py,sha256=fAk2iPnuAXuvYPybJ8Eq-FsmOCsshELAZWnSLdY37fY,387
360
363
  phoenix/server/api/types/NumericRange.py,sha256=afEjgF97Go_OvmjMggbPBt-zGM8IONewAyEiKEHRds0,192
361
364
  phoenix/server/api/types/PerformanceMetric.py,sha256=KFkmJDqP43eDUtARQOUqR7NYcxvL6Vh2uisHWU6H3ko,387
362
- phoenix/server/api/types/PlaygroundModel.py,sha256=IqJFxsAAJMRyaFI9ryI3GQrpFOJ5Llf6kIutEO-tFvM,321
363
- phoenix/server/api/types/Project.py,sha256=r-Bs_9lA8Ed8xdwobdMELCrMOdwek8m5VPYGEiNz-tI,70854
364
- phoenix/server/api/types/ProjectSession.py,sha256=YvRqj9qXXY4FvYN9Nhie9qdHcNCEPz7SoBdflrbLGRk,9795
365
- phoenix/server/api/types/ProjectSessionAnnotation.py,sha256=yerdFlW_dhCxDeoyE-75n6I_k4uUWn0m3S4XSdplS6E,2102
366
- phoenix/server/api/types/ProjectTraceRetentionPolicy.py,sha256=tYy2kgalPDyuaYZr0VUHjH0YpXaiF_QOzg5yfaV_c7c,3782
367
- phoenix/server/api/types/Prompt.py,sha256=UlZNllvXtH5J-zLS_OpvKusbhcN_4CKTIv-XN5rU0is,6266
368
- phoenix/server/api/types/PromptLabel.py,sha256=kREZ219VB1xJkvOI8W6aeXBJkQx5bOccNa7g7fbRTt0,570
365
+ phoenix/server/api/types/PlaygroundModel.py,sha256=_VC6LfNjattFU38YWL3PEYF_dBriQ-U79zOeKXfpBcE,671
366
+ phoenix/server/api/types/Project.py,sha256=4B4Uh_bbrxs-A722Ck-Fffr-1kFw7lfU0tx6ADvCFlg,70227
367
+ phoenix/server/api/types/ProjectSession.py,sha256=nDAj7a8cJpFpURvZRTaMdRJfW8uw9Q7ZTahJTrFSHQ4,10727
368
+ phoenix/server/api/types/ProjectSessionAnnotation.py,sha256=MRAhUcSgLkHe_PjeEY58GeLBa962fT5V_l4LDPHeras,6934
369
+ phoenix/server/api/types/ProjectTraceRetentionPolicy.py,sha256=uFe-5LpYufcYGtdIaaOgP0gtuQhtiADSeE3MP8628iM,3771
370
+ phoenix/server/api/types/Prompt.py,sha256=2hmzvJehDXE-nNsbrgGfIXmYwyOL_w4akdTMj6LQHcI,7358
371
+ phoenix/server/api/types/PromptLabel.py,sha256=xyovfedqF9f66xHtnNCqk3JhwZ6IvIuluNLNWYMEiG8,1640
369
372
  phoenix/server/api/types/PromptResponse.py,sha256=Q8HKtpp8GpUOcxPCzZpkkokidDd6u0aZOv_SuPZZd5Q,630
370
- phoenix/server/api/types/PromptVersion.py,sha256=hLPwOwj1h0gH4fqpLS-xwcC2TQYLCmvaCiEkyXvTS1g,5494
371
- phoenix/server/api/types/PromptVersionTag.py,sha256=dSumwkBv2P-yDLxE0tnu8O87M2ZcuhLrmnBb4CkuyC4,1389
373
+ phoenix/server/api/types/PromptVersion.py,sha256=BqZJFxgHjYP7unlH4qNjXGQ-VjAdapMym5ft9-OEyAw,5436
374
+ phoenix/server/api/types/PromptVersionTag.py,sha256=zNgtUX6hIJjD2adI0QCV66ey65uJ1_lKeO009rwuD_I,2500
372
375
  phoenix/server/api/types/PromptVersionTemplate.py,sha256=jlHJS079OhI8IHZoWQn0aIz5JnHOuYc8iD8UkytyzEQ,4627
373
376
  phoenix/server/api/types/ResponseFormat.py,sha256=ymBsPWGViiaEo4vyw50ht1K6BveKcOZ2YNce50PAoew,182
374
377
  phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSFw-AO1rWw,285
@@ -376,22 +379,22 @@ phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2T
376
379
  phoenix/server/api/types/Segments.py,sha256=vT2v0efoa5cuBKxLtxTnsUP5YJJCZfTloM71Spu0tMI,2915
377
380
  phoenix/server/api/types/ServerStatus.py,sha256=t92OHuVhK9DXDk2vsBuHceQNKqYGpHwUp8DNGKz2wOk,88
378
381
  phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
379
- phoenix/server/api/types/Span.py,sha256=oVeIMsJVppMiRJHTP9ujKgOzB7H1pv55sdu3bCuMfCs,32114
380
- phoenix/server/api/types/SpanAnnotation.py,sha256=uPWu7Z8rmpfKhaaxbged4_o00pPCR3nkn7Gji9vB8jY,1959
382
+ phoenix/server/api/types/Span.py,sha256=mt-QTXtDH53aXU4w2W3rSroe9rRiTcUu5KLzPLVjtkg,31879
383
+ phoenix/server/api/types/SpanAnnotation.py,sha256=LPSz2B_9D6JhX-OLOPOcTErOoKbZWzJy9ZKdFrR_RYE,7231
381
384
  phoenix/server/api/types/SpanCostDetailSummaryEntry.py,sha256=RXAdOC6MFyR9mwaoj8lMMdI3_9r3z6mR2izJvlsj12U,252
382
385
  phoenix/server/api/types/SpanCostSummary.py,sha256=wo03FCMcFzB5m4P5kvA5jzi9ACLbht38ozQbDJUh94g,357
383
386
  phoenix/server/api/types/SpanIOValue.py,sha256=c5TWdZZN3v0gHI5xWeY7gjD-sE9ugWlGGAio-gDS-Uo,1653
384
- phoenix/server/api/types/SystemApiKey.py,sha256=2ym8EgsTBIvxx1l9xZ-2YMovz58ZwYb_MaHBTJ9NH2E,166
387
+ phoenix/server/api/types/SystemApiKey.py,sha256=exL8WK1vPZLeD6rEUcM2iB4AKrZfsiLODZijPDpS3Go,2263
385
388
  phoenix/server/api/types/TimeSeries.py,sha256=nuuZtfHmOhTjeB8_SvZ5PUQexAkTcPScwYeFC5RUlRU,5491
386
389
  phoenix/server/api/types/TokenCountPromptDetails.py,sha256=CWDWLrYoufrR1ePWfbq0-AgAkdjmGnJQt4_wNIt6bOQ,183
387
390
  phoenix/server/api/types/TokenPrice.py,sha256=OyCZgXCKDIihmDalHvkUDvhvl2Vsxx1J2U9AiAsLUWU,256
388
391
  phoenix/server/api/types/TokenUsage.py,sha256=aeMPwEDqu8MWT2Jc5sq6Sfb_7kcR_KTzZi6UB9OK7Yg,207
389
392
  phoenix/server/api/types/ToolDefinition.py,sha256=T6UH2vcbuPBDy7jKYOqMth2NdqxMPgDBf11Tpbt5Yb8,187
390
- phoenix/server/api/types/Trace.py,sha256=iULwRoOStZNAPOVcz2YjyMCn0Ez_Gp0BzDdvxnJzWCk,12344
391
- phoenix/server/api/types/TraceAnnotation.py,sha256=NAZ5HXH31x6zjXlh-1CUiXjbiCo0iF6hqIrgts2h3Lo,2022
393
+ phoenix/server/api/types/Trace.py,sha256=bt6Uz36JC6sJnkkFeQhhKhU2nWa2zxS2S4t8C-vmGvY,12183
394
+ phoenix/server/api/types/TraceAnnotation.py,sha256=bZCaJKizbm1Qs3UF48FBscaSqd9q29loqhqZS82tWbo,5780
392
395
  phoenix/server/api/types/UMAPPoints.py,sha256=49sWnxjcAJKRzqUY71Fa0tOPti5XjIIFT5cSg6oNu_U,1650
393
- phoenix/server/api/types/User.py,sha256=20q4K_dwWHKdCTLFOmpdbt_OjdGv-98z2dHhwh7RmnI,2412
394
- phoenix/server/api/types/UserApiKey.py,sha256=EcsPNxV_PtgpqwA_bPTj_aRYt15l6X24YDy20hUPywU,1251
396
+ phoenix/server/api/types/User.py,sha256=Ke3-daOHqUlzKKp1Xvgf4QiyicD5X4czXLGSvfgWDg0,4485
397
+ phoenix/server/api/types/UserApiKey.py,sha256=bLb3UpDtVLIqP9VCugFM2_nIE-MEiOzYPgZwmmQaasM,2796
395
398
  phoenix/server/api/types/UserRole.py,sha256=yjyVsA9mKo0tYEjK9pjtfDL2MZKvGyh_-Eednc88J64,342
396
399
  phoenix/server/api/types/ValidationResult.py,sha256=pHwdYk4J7SJ5xhlWWHg_6qWkfk4rjOx-bSkGHvkDE3Q,142
397
400
  phoenix/server/api/types/VectorDriftMetricEnum.py,sha256=etiJM5ZjQuD-oE7sY-FbdIKY050jk3IU49IMwmfJbEc,188
@@ -431,10 +434,10 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
431
434
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
432
435
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
433
436
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
434
- phoenix/server/static/.vite/manifest.json,sha256=xZi8Y0krYRlTEV7AKGciIFWUty9Nx_klwu5ZflV0Biw,2328
435
- phoenix/server/static/assets/components-Bem6_7MW.js,sha256=A8bCIl-w4LKbsQZbVLMVu2cD3uQQpAs4DdvOo6EFZY4,751728
436
- phoenix/server/static/assets/index-NdiXbuNL.js,sha256=SPndC2GMCbo-fmLgKRWW4kJQWvfJkbON2OxmaVqfkrQ,63699
437
- phoenix/server/static/assets/pages-CEJgMVKU.js,sha256=NGL0M3R08Za7qwAQJE3Ob_PqOkbPhclP4W75CmzimmQ,1357599
437
+ phoenix/server/static/.vite/manifest.json,sha256=j0_37ulgolcQI1TLhSkHIaLt0uex4jSb4aFefs1Cj8A,2328
438
+ phoenix/server/static/assets/components-v927s3NF.js,sha256=ps4gi6nWYl4rcN6ibiaK07ufJZNwOmEA7lv-lPi2bEE,754941
439
+ phoenix/server/static/assets/index-DrD9eSrN.js,sha256=DaefVIX703YpyQWyCYe0_kpGG9ujnS9YHHoZ50OlsBI,63945
440
+ phoenix/server/static/assets/pages-GVybXa_W.js,sha256=2v0GkOtgZTZJdxyncCnauslpuuN0UbCRhW4VcKf7dBU,1357171
438
441
  phoenix/server/static/assets/vendor-BGzfc4EU.css,sha256=Nx5Lmx-bqYR7nsO_O4kEBcrJ8cwknWjZ6seHN3_s4UQ,3171
439
442
  phoenix/server/static/assets/vendor-D-csRHGZ.js,sha256=uYz5BUvg6gsB97JV0OZFu7rDn40gBkL3WYmrcQW5kgk,2676807
440
443
  phoenix/server/static/assets/vendor-arizeai-BJLCG_Gc.js,sha256=x0nzGpalauyWr0XeuvQBfvF6lkvs0Limu50IfT6LWeI,61555
@@ -480,9 +483,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
480
483
  phoenix/utilities/re.py,sha256=6YyUWIkv0zc2SigsxfOWIHzdpjKA_TZo2iqKq7zJKvw,2081
481
484
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
482
485
  phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
483
- arize_phoenix-12.8.0.dist-info/METADATA,sha256=xRbO3Khh91zENiRVuhmmIJZywsa_498EzAAFN3WB9wY,35327
484
- arize_phoenix-12.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
485
- arize_phoenix-12.8.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
486
- arize_phoenix-12.8.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
487
- arize_phoenix-12.8.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
488
- arize_phoenix-12.8.0.dist-info/RECORD,,
486
+ arize_phoenix-12.9.0.dist-info/METADATA,sha256=k4__hbRnQ9vsSUdsx5u08m9aBG14cX0h4oBtjN09zh4,35384
487
+ arize_phoenix-12.9.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
488
+ arize_phoenix-12.9.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
489
+ arize_phoenix-12.9.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
490
+ arize_phoenix-12.9.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
491
+ arize_phoenix-12.9.0.dist-info/RECORD,,
phoenix/config.py CHANGED
@@ -91,16 +91,44 @@ Used with PHOENIX_POSTGRES_HOST to specify the port to use for the PostgreSQL da
91
91
  ENV_PHOENIX_POSTGRES_USER = "PHOENIX_POSTGRES_USER"
92
92
  """
93
93
  Used with PHOENIX_POSTGRES_HOST to specify the user to use for the PostgreSQL database (required).
94
+
95
+ When using AWS RDS IAM authentication (PHOENIX_POSTGRES_USE_AWS_IAM_AUTH=true), this should be
96
+ set to the IAM-enabled database username configured in your RDS/Aurora instance.
94
97
  """
95
98
  ENV_PHOENIX_POSTGRES_PASSWORD = "PHOENIX_POSTGRES_PASSWORD"
96
99
  """
97
100
  Used with PHOENIX_POSTGRES_HOST to specify the password to use for the PostgreSQL database
98
- (required).
101
+ (required, unless PHOENIX_POSTGRES_USE_AWS_IAM_AUTH is enabled).
102
+
103
+ When using AWS RDS IAM authentication (PHOENIX_POSTGRES_USE_AWS_IAM_AUTH=true), this password
104
+ is NOT used. Instead, authentication tokens are generated dynamically using AWS IAM credentials.
99
105
  """
100
106
  ENV_PHOENIX_POSTGRES_DB = "PHOENIX_POSTGRES_DB"
101
107
  """
102
108
  Used with PHOENIX_POSTGRES_HOST to specify the database to use for the PostgreSQL database.
103
109
  """
110
+ ENV_PHOENIX_POSTGRES_USE_AWS_IAM_AUTH = "PHOENIX_POSTGRES_USE_AWS_IAM_AUTH"
111
+ """
112
+ Enable AWS RDS IAM database authentication. When enabled, Phoenix will use AWS IAM credentials
113
+ to generate short-lived authentication tokens instead of using a static password.
114
+
115
+ This requires:
116
+ - boto3 to be installed: pip install 'arize-phoenix[aws]'
117
+ - AWS credentials configured (via environment, ~/.aws/credentials, or IAM role)
118
+ - AWS region configured via standard AWS methods
119
+ - The database user to be configured for IAM authentication in RDS/Aurora
120
+ - SSL to be enabled (required by AWS RDS IAM auth)
121
+
122
+ When enabled, PHOENIX_POSTGRES_PASSWORD should NOT be set.
123
+ """
124
+ ENV_PHOENIX_POSTGRES_AWS_IAM_TOKEN_LIFETIME_SECONDS = (
125
+ "PHOENIX_POSTGRES_AWS_IAM_TOKEN_LIFETIME_SECONDS"
126
+ )
127
+ """
128
+ Token lifetime in seconds for connection pool recycling when using AWS RDS IAM authentication.
129
+ AWS RDS auth tokens are valid for 15 minutes. This should be set slightly lower to ensure
130
+ tokens are refreshed before expiration. Defaults to 840 seconds (14 minutes).
131
+ """
104
132
  ENV_PHOENIX_SQL_DATABASE_SCHEMA = "PHOENIX_SQL_DATABASE_SCHEMA"
105
133
  """
106
134
  The schema to use for the PostgresSQL database. (This is ignored for SQLite.)
@@ -1400,18 +1428,36 @@ def get_env_postgres_connection_str() -> Optional[str]:
1400
1428
  """
1401
1429
  Build PostgreSQL connection string from environment variables.
1402
1430
  """
1403
- if not (
1404
- (pg_host := getenv(ENV_PHOENIX_POSTGRES_HOST, "").rstrip("/"))
1405
- and (pg_user := getenv(ENV_PHOENIX_POSTGRES_USER))
1406
- and (pg_password := getenv(ENV_PHOENIX_POSTGRES_PASSWORD))
1407
- ):
1431
+ pg_host = getenv(ENV_PHOENIX_POSTGRES_HOST, "").rstrip("/")
1432
+ pg_user = getenv(ENV_PHOENIX_POSTGRES_USER)
1433
+ pg_password = getenv(ENV_PHOENIX_POSTGRES_PASSWORD)
1434
+ use_iam_auth = _bool_val(ENV_PHOENIX_POSTGRES_USE_AWS_IAM_AUTH, False)
1435
+
1436
+ if not (pg_host and pg_user):
1408
1437
  return None
1438
+
1439
+ if use_iam_auth:
1440
+ if pg_password:
1441
+ raise ValueError(
1442
+ f"The environment variable {ENV_PHOENIX_POSTGRES_PASSWORD} is set but will be "
1443
+ "ignored when using AWS RDS IAM authentication "
1444
+ f"({ENV_PHOENIX_POSTGRES_USE_AWS_IAM_AUTH}=true). Authentication tokens will be "
1445
+ "generated using AWS credentials."
1446
+ )
1447
+ connection_str = f"postgresql://{quote(pg_user)}@{pg_host}"
1448
+ else:
1449
+ if not pg_password:
1450
+ raise ValueError(
1451
+ f"The environment variable {ENV_PHOENIX_POSTGRES_PASSWORD} is not set. "
1452
+ "Please set it to the password for the PostgreSQL database."
1453
+ )
1454
+ encoded_user = quote(pg_user)
1455
+ encoded_password = quote(pg_password)
1456
+ connection_str = f"postgresql://{encoded_user}:{encoded_password}@{pg_host}"
1457
+
1409
1458
  pg_port = getenv(ENV_PHOENIX_POSTGRES_PORT)
1410
1459
  pg_db = getenv(ENV_PHOENIX_POSTGRES_DB)
1411
1460
 
1412
- encoded_user = quote(pg_user)
1413
- encoded_password = quote(pg_password)
1414
- connection_str = f"postgresql://{encoded_user}:{encoded_password}@{pg_host}"
1415
1461
  if pg_port:
1416
1462
  connection_str = f"{connection_str}:{pg_port}"
1417
1463
  if pg_db:
@@ -1968,6 +2014,7 @@ def verify_server_environment_variables() -> None:
1968
2014
  get_env_database_usage_insertion_blocking_threshold_percentage()
1969
2015
  get_env_max_spans_queue_size()
1970
2016
  validate_env_support_email()
2017
+ _validate_iam_auth_config()
1971
2018
 
1972
2019
  # Notify users about deprecated environment variables if they are being used.
1973
2020
  if os.getenv("PHOENIX_ENABLE_WEBSOCKETS") is not None:
@@ -2026,3 +2073,78 @@ def get_env_allow_external_resources() -> bool:
2026
2073
  Defaults to True if not set.
2027
2074
  """
2028
2075
  return _bool_val(ENV_PHOENIX_ALLOW_EXTERNAL_RESOURCES, True)
2076
+
2077
+
2078
+ def get_env_postgres_use_iam_auth() -> bool:
2079
+ """
2080
+ Gets whether AWS RDS IAM authentication is enabled for PostgreSQL connections.
2081
+
2082
+ Returns:
2083
+ bool: True if IAM authentication should be used, False otherwise (default)
2084
+ """
2085
+ return _bool_val(ENV_PHOENIX_POSTGRES_USE_AWS_IAM_AUTH, False)
2086
+
2087
+
2088
+ def get_env_postgres_iam_token_lifetime() -> int:
2089
+ """
2090
+ Gets the token lifetime in seconds for AWS RDS IAM authentication pool recycling.
2091
+
2092
+ AWS RDS IAM tokens are valid for 15 minutes (900 seconds). This value should be
2093
+ set slightly lower to ensure connections are recycled before token expiration.
2094
+
2095
+ Returns:
2096
+ int: Token lifetime in seconds (default: 840 = 14 minutes)
2097
+ """
2098
+ lifetime = _int_val(ENV_PHOENIX_POSTGRES_AWS_IAM_TOKEN_LIFETIME_SECONDS, 840)
2099
+ if lifetime <= 0:
2100
+ raise ValueError(
2101
+ f"{ENV_PHOENIX_POSTGRES_AWS_IAM_TOKEN_LIFETIME_SECONDS} must be a positive integer. "
2102
+ f"Got: {lifetime}"
2103
+ )
2104
+ if lifetime > 900:
2105
+ logger.warning(
2106
+ f"{ENV_PHOENIX_POSTGRES_AWS_IAM_TOKEN_LIFETIME_SECONDS} is set to {lifetime} seconds, "
2107
+ f"which exceeds AWS RDS IAM token validity (900 seconds / 15 minutes). "
2108
+ f"Consider setting it to 840 seconds (14 minutes) or less."
2109
+ )
2110
+ return lifetime
2111
+
2112
+
2113
+ def _validate_iam_auth_config() -> None:
2114
+ """
2115
+ Validate AWS RDS IAM authentication configuration if enabled.
2116
+
2117
+ Raises:
2118
+ ImportError: If boto3 is not installed when IAM auth is enabled
2119
+ ValueError: If configuration is invalid
2120
+ """
2121
+ if not get_env_postgres_use_iam_auth():
2122
+ return
2123
+
2124
+ pg_host = getenv(ENV_PHOENIX_POSTGRES_HOST)
2125
+ if not pg_host:
2126
+ return
2127
+
2128
+ try:
2129
+ import boto3 # type: ignore # noqa: F401
2130
+ except ImportError:
2131
+ raise ImportError(
2132
+ f"boto3 is required when {ENV_PHOENIX_POSTGRES_USE_AWS_IAM_AUTH} is enabled. "
2133
+ "Install it with: pip install 'arize-phoenix[aws]'"
2134
+ )
2135
+
2136
+ if not getenv(ENV_PHOENIX_POSTGRES_USER):
2137
+ raise ValueError(
2138
+ f"{ENV_PHOENIX_POSTGRES_USER} must be set when using AWS RDS IAM authentication"
2139
+ )
2140
+
2141
+ try:
2142
+ client = boto3.client("sts") # pyright: ignore
2143
+ client.get_caller_identity() # pyright: ignore
2144
+ logger.info("✓ AWS credentials validated for RDS IAM authentication")
2145
+ except Exception as e:
2146
+ raise ValueError(
2147
+ f"Failed to validate AWS credentials for RDS IAM authentication: {e}. "
2148
+ "Ensure AWS credentials are configured via environment variables, "
2149
+ "~/.aws/credentials, or IAM role."
2150
+ )