I don’t think versions of arize-phoenix >=12.7.0 are compatible with older arize-phoenix-client. the docs say “dataset splits are available in arize-phoenix 12.7.0.“, but I observed the following:
-> dataset = client.datasets.get_dataset(
(Pdb++) from phoenix.version import version
*** ImportError: cannot import name 'version' from 'phoenix.version' (/Users/andrewsanchez/Projects/ankihub/ankihub/libs/ankihub-llm/.venv/lib/python3.12/site-packages/phoenix/version.py). Did you mean: 'Session'?
(Pdb++) from phoenix.version import __version__
(Pdb++) __version__
'12.10.0'
(Pdb++) c
Traceback (most recent call last):
File "/Users/andrewsanchez/Projects/ankihub/ankihub/libs/ankihub-llm/src/ankihub_llm/experiments/.snakemake/scripts/tmp58htc65n.llm_text_extraction.py", line 126, in <module>
main()
File "/Users/andrewsanchez/Projects/ankihub/ankihub/libs/ankihub-llm/src/ankihub_llm/experiments/.snakemake/scripts/tmp58htc65n.llm_text_extraction.py", line 101, in main
dataset = client.datasets.get_dataset(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Datasets.get_dataset() got an unexpected keyword argument 'splits'You are correct: Phoenix server versions ≥12.7.0 introduced dataset splits, but using an older arize-phoenix-client (Python client) will not support the splits argument in client.datasets.get_dataset(), resulting in a TypeError. The splits feature requires both the server and the client to be updated to compatible versions—specifically, arize-phoenix-client > 1.22.0 for Python, as documented in the official guide on splits and confirmed by the changelog and release notes for v12.7.0+ (Splits | Arize Phoenix, Phoenix 12.7.0 Release).To resolve this, upgrade your arize-phoenix-client to a version > 1.22.0 to ensure compatibility with the splits feature in Phoenix server ≥12.7.0. The error you observed is expected if the client is outdated (Splits | Arize Phoenix). Would you like more detail on how to upgrade or use splits in code?Sources: - Splits | Arize Phoenix - Phoenix 12.7.0 Release
💡 Hint: Mention RunLLM in the thread for followups.
you can check with:
import phoenix.client
print(phoenix.client.__version__)