arize 8.0.0b0__tar.gz → 8.0.0b2__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.
Files changed (179) hide show
  1. {arize-8.0.0b0 → arize-8.0.0b2}/PKG-INFO +71 -63
  2. {arize-8.0.0b0 → arize-8.0.0b2}/README.md +44 -25
  3. {arize-8.0.0b0 → arize-8.0.0b2}/pyproject.toml +21 -42
  4. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/__init__.py +1 -1
  5. arize-8.0.0b2/src/arize/_client_factory.py +50 -0
  6. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_flight/client.py +4 -4
  7. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/__init__.py +0 -2
  8. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/api/datasets_api.py +6 -6
  9. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/api/experiments_api.py +6 -6
  10. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/api/projects_api.py +3 -3
  11. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/__init__.py +0 -1
  12. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/datasets_create_request.py +2 -10
  13. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/datasets_examples_insert_request.py +2 -10
  14. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_datasets_create_request.py +2 -6
  15. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_datasets_examples_insert_request.py +2 -6
  16. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_datasets_examples_list200_response.py +2 -6
  17. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_datasets_examples_update_request.py +2 -6
  18. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiments_create_request.py +2 -6
  19. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiments_runs_list200_response.py +2 -6
  20. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client_README.md +0 -1
  21. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_lazy.py +25 -9
  22. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/client.py +16 -52
  23. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/config.py +9 -36
  24. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/ml.py +9 -16
  25. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/spans.py +5 -10
  26. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/datasets/client.py +13 -9
  27. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/datasets/errors.py +1 -1
  28. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/datasets/validation.py +2 -2
  29. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/auto_generator.py +2 -2
  30. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/errors.py +2 -2
  31. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/tabular_generators.py +1 -1
  32. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/base.py +0 -52
  33. arize-8.0.0b2/src/arize/exceptions/parameters.py +91 -0
  34. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/__init__.py +2 -2
  35. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/client.py +16 -10
  36. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/base.py +6 -6
  37. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/executors.py +10 -3
  38. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/types.py +2 -2
  39. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/functions.py +24 -17
  40. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/types.py +6 -8
  41. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/logging.py +1 -1
  42. arize-8.0.0b2/src/arize/ml/batch_validation/errors.py +629 -0
  43. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/batch_validation/validator.py +273 -225
  44. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/casting.py +7 -7
  45. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/client.py +12 -11
  46. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/proto.py +6 -6
  47. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/stream_validation.py +2 -3
  48. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/surrogate_explainer/mimic.py +3 -3
  49. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/types.py +1 -55
  50. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/pre_releases.py +6 -3
  51. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/projects/client.py +9 -4
  52. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/regions.py +2 -2
  53. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/client.py +14 -12
  54. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/columns.py +32 -36
  55. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/conversion.py +5 -6
  56. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/common/argument_validation.py +3 -3
  57. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/common/dataframe_form_validation.py +6 -6
  58. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/common/value_validation.py +1 -1
  59. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/evals/dataframe_form_validation.py +4 -4
  60. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/evals/evals_validation.py +6 -6
  61. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/metadata/dataframe_form_validation.py +1 -1
  62. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/spans/dataframe_form_validation.py +2 -2
  63. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/spans/spans_validation.py +6 -6
  64. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/arrow.py +2 -2
  65. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/cache.py +2 -2
  66. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/dataframe.py +4 -4
  67. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/online_tasks/dataframe_preprocessor.py +7 -7
  68. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/openinference_conversion.py +10 -10
  69. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/version.py +1 -1
  70. arize-8.0.0b0/src/arize/_generated/api_client/models/primitive_value.py +0 -172
  71. arize-8.0.0b0/src/arize/_generated/api_client/test/test_primitive_value.py +0 -50
  72. arize-8.0.0b0/src/arize/exceptions/parameters.py +0 -420
  73. arize-8.0.0b0/src/arize/ml/batch_validation/errors.py +0 -1623
  74. {arize-8.0.0b0 → arize-8.0.0b2}/.gitignore +0 -0
  75. {arize-8.0.0b0 → arize-8.0.0b2}/LICENSE +0 -0
  76. {arize-8.0.0b0 → arize-8.0.0b2}/NOTICE +0 -0
  77. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_exporter/__init__.py +0 -0
  78. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_exporter/client.py +0 -0
  79. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_exporter/parsers/__init__.py +0 -0
  80. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_exporter/parsers/tracing_data_parser.py +0 -0
  81. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_exporter/validation.py +0 -0
  82. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_flight/__init__.py +0 -0
  83. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_flight/types.py +0 -0
  84. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/__init__.py +0 -0
  85. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/api/__init__.py +0 -0
  86. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/api_client.py +0 -0
  87. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/api_response.py +0 -0
  88. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/configuration.py +0 -0
  89. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/exceptions.py +0 -0
  90. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/dataset.py +0 -0
  91. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/dataset_example.py +0 -0
  92. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/dataset_example_update.py +0 -0
  93. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/dataset_version.py +0 -0
  94. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/datasets_examples_list200_response.py +0 -0
  95. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/datasets_examples_update_request.py +0 -0
  96. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/datasets_list200_response.py +0 -0
  97. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/experiment.py +0 -0
  98. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/experiment_run.py +0 -0
  99. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/experiment_run_create.py +0 -0
  100. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/experiments_create_request.py +0 -0
  101. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/experiments_list200_response.py +0 -0
  102. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/experiments_runs_list200_response.py +0 -0
  103. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/pagination_metadata.py +0 -0
  104. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/problem.py +0 -0
  105. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/project.py +0 -0
  106. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/projects_create_request.py +0 -0
  107. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/models/projects_list200_response.py +0 -0
  108. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/rest.py +0 -0
  109. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/__init__.py +0 -0
  110. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_dataset.py +0 -0
  111. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_dataset_example.py +0 -0
  112. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_dataset_example_update.py +0 -0
  113. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_dataset_version.py +0 -0
  114. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_datasets_api.py +0 -0
  115. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_datasets_list200_response.py +0 -0
  116. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiment.py +0 -0
  117. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiment_run.py +0 -0
  118. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiment_run_create.py +0 -0
  119. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiments_api.py +0 -0
  120. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_experiments_list200_response.py +0 -0
  121. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_pagination_metadata.py +0 -0
  122. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_problem.py +0 -0
  123. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_project.py +0 -0
  124. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_projects_api.py +0 -0
  125. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_projects_create_request.py +0 -0
  126. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/api_client/test/test_projects_list200_response.py +0 -0
  127. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/protocol/__init__.py +0 -0
  128. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/protocol/flight/__init__.py +0 -0
  129. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/protocol/flight/flight_pb2.py +0 -0
  130. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/protocol/rec/__init__.py +0 -0
  131. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/_generated/protocol/rec/public_pb2.py +0 -0
  132. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/__init__.py +0 -0
  133. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/config.py +0 -0
  134. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/model_mapping.json +0 -0
  135. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/openinference.py +0 -0
  136. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/constants/pyarrow.py +0 -0
  137. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/datasets/__init__.py +0 -0
  138. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/__init__.py +0 -0
  139. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/base_generators.py +0 -0
  140. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/constants.py +0 -0
  141. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/cv_generators.py +0 -0
  142. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/nlp_generators.py +0 -0
  143. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/embeddings/usecases.py +0 -0
  144. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/__init__.py +0 -0
  145. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/auth.py +0 -0
  146. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/models.py +0 -0
  147. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/spaces.py +0 -0
  148. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/types.py +0 -0
  149. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/exceptions/values.py +0 -0
  150. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/__init__.py +0 -0
  151. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/exceptions.py +0 -0
  152. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/rate_limiters.py +0 -0
  153. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/evaluators/utils.py +0 -0
  154. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/experiments/tracing.py +0 -0
  155. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/__init__.py +0 -0
  156. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/batch_validation/__init__.py +0 -0
  157. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/bounded_executor.py +0 -0
  158. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/ml/surrogate_explainer/__init__.py +0 -0
  159. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/projects/__init__.py +0 -0
  160. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/__init__.py +0 -0
  161. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/__init__.py +0 -0
  162. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/annotations/__init__.py +0 -0
  163. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/annotations/annotations_validation.py +0 -0
  164. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/annotations/dataframe_form_validation.py +0 -0
  165. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/annotations/value_validation.py +0 -0
  166. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/common/__init__.py +0 -0
  167. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/common/errors.py +0 -0
  168. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/evals/__init__.py +0 -0
  169. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/evals/value_validation.py +0 -0
  170. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/metadata/__init__.py +0 -0
  171. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/metadata/argument_validation.py +0 -0
  172. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/metadata/value_validation.py +0 -0
  173. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/spans/__init__.py +0 -0
  174. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/spans/validation/spans/value_validation.py +0 -0
  175. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/__init__.py +0 -0
  176. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/online_tasks/__init__.py +0 -0
  177. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/proto.py +1 -1
  178. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/size.py +0 -0
  179. {arize-8.0.0b0 → arize-8.0.0b2}/src/arize/utils/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize
3
- Version: 8.0.0b0
3
+ Version: 8.0.0b2
4
4
  Summary: A helper library to interact with Arize AI APIs
5
5
  Project-URL: Homepage, https://arize.com
6
6
  Project-URL: Documentation, https://docs.arize.com/arize
@@ -26,47 +26,36 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
26
  Classifier: Topic :: System :: Logging
27
27
  Classifier: Topic :: System :: Monitoring
28
28
  Requires-Python: >=3.10
29
- Requires-Dist: lazy-imports
30
29
  Requires-Dist: numpy>=2.0.0
31
- Provides-Extra: auto-embeddings
32
- Requires-Dist: datasets!=2.14.*,<3,>=2.8; extra == 'auto-embeddings'
33
- Requires-Dist: pandas<3,>=1.0.0; extra == 'auto-embeddings'
34
- Requires-Dist: pillow<11,>=8.4.0; extra == 'auto-embeddings'
35
- Requires-Dist: tokenizers<1,>=0.13; extra == 'auto-embeddings'
36
- Requires-Dist: torch<3,>=1.13; extra == 'auto-embeddings'
37
- Requires-Dist: transformers<5,>=4.25; extra == 'auto-embeddings'
38
- Provides-Extra: datasets-experiments
39
- Requires-Dist: numpy>=2.0.0; extra == 'datasets-experiments'
40
- Requires-Dist: openinference-semantic-conventions<1,>=0.1.21; extra == 'datasets-experiments'
41
- Requires-Dist: opentelemetry-api>=1.38.0; extra == 'datasets-experiments'
42
- Requires-Dist: opentelemetry-exporter-otlp-proto-common>=1.38.0; extra == 'datasets-experiments'
43
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.38.0; extra == 'datasets-experiments'
44
- Requires-Dist: opentelemetry-proto>=1.38.0; extra == 'datasets-experiments'
45
- Requires-Dist: opentelemetry-sdk>=1.38.0; extra == 'datasets-experiments'
46
- Requires-Dist: pydantic; extra == 'datasets-experiments'
47
- Requires-Dist: wrapt<2.0.0,>=1.0.0; extra == 'datasets-experiments'
30
+ Requires-Dist: openinference-semantic-conventions<1,>=0.1.25
31
+ Requires-Dist: opentelemetry-exporter-otlp-proto-common>=1.38.0
32
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.38.0
33
+ Requires-Dist: opentelemetry-sdk>=1.38.0
34
+ Requires-Dist: opentelemetry-semantic-conventions<1,>=0.43b0
35
+ Requires-Dist: pandas<3,>=2.0.0
36
+ Requires-Dist: protobuf<6,>=4.21.0
37
+ Requires-Dist: pyarrow>=0.15.0
38
+ Requires-Dist: pydantic<3,>=2
39
+ Requires-Dist: python-dateutil<3,>=2.8.2
40
+ Requires-Dist: requests-futures<2,>=1.0.0
41
+ Requires-Dist: requests<3,>=2.0.0
42
+ Requires-Dist: tqdm<5,>4
43
+ Requires-Dist: typing-extensions<5,>=4.7.1
44
+ Requires-Dist: urllib3<3,>=2.1.0
45
+ Requires-Dist: wrapt<2.0.0,>=1.0.0
48
46
  Provides-Extra: dev
49
47
  Requires-Dist: pytest==8.4.2; extra == 'dev'
50
48
  Requires-Dist: ruff==0.13.2; extra == 'dev'
51
- Provides-Extra: mimic-explainer
52
- Requires-Dist: interpret-community[mimic]<1,>=0.22.0; extra == 'mimic-explainer'
53
- Provides-Extra: ml-batch
54
- Requires-Dist: pandas<3,>=1.0.0; extra == 'ml-batch'
55
- Requires-Dist: protobuf<6,>=4.21.0; extra == 'ml-batch'
56
- Requires-Dist: pyarrow>=0.15.0; extra == 'ml-batch'
57
- Requires-Dist: requests<3,>=2.0.0; extra == 'ml-batch'
58
- Requires-Dist: tqdm; extra == 'ml-batch'
59
- Provides-Extra: ml-stream
60
- Requires-Dist: protobuf<6,>=4.21.0; extra == 'ml-stream'
61
- Requires-Dist: requests-futures<2,>=1.0.0; extra == 'ml-stream'
62
- Provides-Extra: spans
63
- Requires-Dist: openinference-semantic-conventions<1,>=0.1.21; extra == 'spans'
64
- Requires-Dist: opentelemetry-semantic-conventions<1,>=0.43b0; extra == 'spans'
65
- Requires-Dist: pandas<3,>=1.0.0; extra == 'spans'
66
- Requires-Dist: protobuf<6,>=4.21.0; extra == 'spans'
67
- Requires-Dist: pyarrow>=0.15.0; extra == 'spans'
68
- Requires-Dist: requests<3,>=2.0.0; extra == 'spans'
69
- Requires-Dist: tqdm; extra == 'spans'
49
+ Provides-Extra: embeddings
50
+ Requires-Dist: datasets!=2.14.*,<3,>=2.8; extra == 'embeddings'
51
+ Requires-Dist: pillow<11,>=8.4.0; extra == 'embeddings'
52
+ Requires-Dist: tokenizers<1,>=0.13; extra == 'embeddings'
53
+ Requires-Dist: torch<3,>=1.13; extra == 'embeddings'
54
+ Requires-Dist: transformers<5,>=4.25; extra == 'embeddings'
55
+ Provides-Extra: mimic
56
+ Requires-Dist: interpret-community[mimic]<1,>=0.22.0; extra == 'mimic'
57
+ Provides-Extra: otel
58
+ Requires-Dist: arize-otel<1,>=0.11.0; extra == 'otel'
70
59
  Description-Content-Type: text/markdown
71
60
 
72
61
  <p align="center">
@@ -92,6 +81,8 @@ Description-Content-Type: text/markdown
92
81
  - [Overview](#overview)
93
82
  - [Key Features](#key-features)
94
83
  - [Installation](#installation)
84
+ - [Optional Dependencies](#optional-dependencies)
85
+ - [Migrating from Version 7](#migrating-from-version-7)
95
86
  - [Usage](#usage)
96
87
  - [Instrumentation](#instrumentation)
97
88
  - [Operations on Spans](#operations-on-spans)
@@ -130,16 +121,18 @@ Description-Content-Type: text/markdown
130
121
 
131
122
  A helper package to interact with Arize AI APIs.
132
123
 
133
- Arize is an AI engineering platform. It helps engineers develop, evaluate, and observe AI applications and agents.
124
+ Arize is an AI engineering platform. It helps engineers develop, evaluate, and observe AI applications and agents.
125
+
126
+ Arize has both Enterprise and OSS products to support this goal:
134
127
 
135
- Arize has both Enterprise and OSS products to support this goal:
136
128
  - [Arize AX](https://arize.com/) — an enterprise AI engineering platform from development to production, with an embedded AI Copilot
137
129
  - [Phoenix](https://github.com/Arize-ai/phoenix) — a lightweight, open-source project for tracing, prompt engineering, and evaluation
138
130
  - [OpenInference](https://github.com/Arize-ai/openinference) — an open-source instrumentation package to trace LLM applications across models and frameworks
139
131
 
140
- We log over 1 trillion inferences and spans, 10 million evaluation runs, and 2 million OSS downloads every month.
132
+ We log over 1 trillion inferences and spans, 10 million evaluation runs, and 2 million OSS downloads every month.
141
133
 
142
134
  # Key Features
135
+
143
136
  - [**_Tracing_**](https://docs.arize.com/arize/observe/tracing) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
144
137
  - [**_Evaluation_**](https://docs.arize.com/arize/evaluate/online-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
145
138
  - [**_Datasets_**](https://docs.arize.com/arize/develop/datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
@@ -149,19 +142,36 @@ We log over 1 trillion inferences and spans, 10 million evaluation runs, and 2 m
149
142
 
150
143
  # Installation
151
144
 
152
- Install Arize (version 8 is currently under alpha release) via `pip` or `conda`:
145
+ Install the base package:
153
146
 
154
147
  ```bash
155
- pip install arize==8.0.0ax
148
+ pip install arize
156
149
  ```
157
- where `x` denotes the specific alpha release. Install the `arize-otel` package for auto-instrumentation of your LLM library:
150
+
151
+ ## Optional Dependencies
152
+
153
+ The following optional extras provide specialized functionality:
154
+
155
+ > **Note:** The `otel` extra installs the `arize-otel` package, which is also available as a standalone package. If you only need auto-instrumentation without the full SDK, install `arize-otel` directly.
156
+
157
+ | Extra | Install Command | What It Provides |
158
+ |-------|----------------|------------------|
159
+ | **otel** | `pip install arize[otel]` | OpenTelemetry auto-instrumentation package (arize-otel) for automatic tracing |
160
+ | **embeddings** | `pip install arize[embeddings]` | Automatic embedding generation for NLP, CV, and structured data (Pillow, datasets, tokenizers, torch, transformers) |
161
+ | **mimic** | `pip install arize[mimic]` | MIMIC explainer for model interpretability |
162
+
163
+ Install multiple extras:
158
164
 
159
165
  ```bash
160
- pip install arize-otel
166
+ pip install arize[otel,embeddings,mimic]
161
167
  ```
162
168
 
169
+ ## Migrating from Version 7
170
+
171
+ If you're upgrading from version 7, please refer to the [Migration Guide](https://arize.com/docs/api-clients/python/version-8/migration) for detailed migration steps and breaking changes.
172
+
163
173
  # Usage
164
-
174
+
165
175
  ## Instrumentation
166
176
 
167
177
  See [arize-otel in PyPI](https://pypi.org/project/arize-otel/):
@@ -183,9 +193,8 @@ OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
183
193
 
184
194
  ## Operations on Spans
185
195
 
186
- Use `arize.spans` to interact with spans: log spans into Arize, update the span's evaluations, annotations and metadata in bulk.
187
-
188
- > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
196
+ Use `arize.spans` to interact with spans: log spans into Arize, update the span's
197
+ evaluations, annotations and metadata in bulk.
189
198
 
190
199
  ### Logging spans
191
200
 
@@ -259,9 +268,8 @@ df = client.spans.export_to_df(
259
268
 
260
269
  ## Operations on ML Models
261
270
 
262
- Use `arize.models` to interact with ML models: log ML data (traininv, validation, production) into Arize, either streaming or in batches.
263
-
264
- > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
271
+ Use `arize.ml` to interact with ML models: log ML data (training, validation, production)
272
+ into Arize, either streaming or in batches.
265
273
 
266
274
  ### Stream log ML Data for a Classification use-case
267
275
 
@@ -276,7 +284,7 @@ MODEL_NAME = "<your-model-name>"
276
284
  features=...
277
285
  embedding_features=...
278
286
 
279
- response = client.models.log_stream(
287
+ response = client.ml.log_stream(
280
288
  space_id=SPACE_ID,
281
289
  model_name=MODEL_NAME,
282
290
  model_type=ModelTypes.SCORE_CATEGORICAL,
@@ -328,7 +336,7 @@ schema = Schema(
328
336
  )
329
337
 
330
338
  # Logging Production DataFrame
331
- response = client.models.log_batch(
339
+ response = client.ml.log_batch(
332
340
  space_id=SPACE_ID,
333
341
  model_name=MODEL_NAME,
334
342
  model_type=ModelTypes.OBJECT_DETECTION,
@@ -356,7 +364,7 @@ SPACE_ID = "<your-space-id>"
356
364
  MODEL_NAME = "<your-model-name>"
357
365
  MODEL_VERSION = "1.0"
358
366
 
359
- df = client.models.export_to_df(
367
+ df = client.ml.export_to_df(
360
368
  space_id=SPACE_ID,
361
369
  model_name=MODEL_NAME,
362
370
  environment=Environments.TRAINING,
@@ -414,7 +422,7 @@ The response is an object of type `DatasetsList200Response`, and you can access
414
422
 
415
423
  ```python
416
424
  # Get the list of datasets from the response
417
- dataset_list = resp.datasets
425
+ dataset_list = resp.datasets
418
426
  # Get the response as a dictionary
419
427
  resp_dict = resp.to_dict()
420
428
  # Get the response in JSON format
@@ -530,7 +538,7 @@ The response is an object of type `ExperimentsList200Response`, and you can acce
530
538
 
531
539
  ```python
532
540
  # Get the list of datasets from the response
533
- experiment_list = resp.experiments
541
+ experiment_list = resp.experiments
534
542
  # Get the response as a dictionary
535
543
  resp_dict = resp.to_dict()
536
544
  # Get the response in JSON format
@@ -554,7 +562,7 @@ experiment, experiment_df = client.run_experiment(
554
562
  concurrency=..., # The number of concurrent tasks to run. Defaults to 3.
555
563
  set_global_tracer_provider=..., # If True, sets the global tracer provider for the experiment. Defaults to False
556
564
  exit_on_error=..., # If True, the experiment will stop running on first occurrence of an error. Defaults to False
557
- )
565
+ )
558
566
  ```
559
567
 
560
568
  The `Experiment` object also counts with convenience method similar to `List***` objects:
@@ -649,7 +657,7 @@ resp_df = resp.to_df()
649
657
 
650
658
  ### In Code
651
659
 
652
- You can use `configure_logging` to set up the logging behavior of the Arize package to your needs.
660
+ You can use `configure_logging` to set up the logging behavior of the Arize package to your needs.
653
661
 
654
662
  ```python
655
663
  from arize.logging import configure_logging
@@ -657,7 +665,7 @@ from arize.logging import configure_logging
657
665
  configure_logging(
658
666
  level=..., # Defaults to logging.INFO
659
667
  structured=..., # if True, emit JSON logs. Defaults to False
660
- )
668
+ )
661
669
  ```
662
670
 
663
671
  ### Via Environment Variables
@@ -668,11 +676,11 @@ Configure the same options as the section above, via:
668
676
  import os
669
677
 
670
678
  # Whether or not you want to disable logging altogether
671
- os.environ["ARIZE_LOG_ENABLE"] = "true"
679
+ os.environ["ARIZE_LOG_ENABLE"] = "true"
672
680
  # Set up the logging level
673
- os.environ["ARIZE_LOG_LEVEL"] = "debug"
681
+ os.environ["ARIZE_LOG_LEVEL"] = "debug"
674
682
  # Whether or not you want structured JSON logs
675
- os.environ["ARIZE_LOG_STRUCTURED"] = "false"
683
+ os.environ["ARIZE_LOG_STRUCTURED"] = "false"
676
684
  ```
677
685
 
678
686
  The default behavior of Arize's logs is: enabled, `INFO` level, and not structured.
@@ -21,6 +21,8 @@
21
21
  - [Overview](#overview)
22
22
  - [Key Features](#key-features)
23
23
  - [Installation](#installation)
24
+ - [Optional Dependencies](#optional-dependencies)
25
+ - [Migrating from Version 7](#migrating-from-version-7)
24
26
  - [Usage](#usage)
25
27
  - [Instrumentation](#instrumentation)
26
28
  - [Operations on Spans](#operations-on-spans)
@@ -59,16 +61,18 @@
59
61
 
60
62
  A helper package to interact with Arize AI APIs.
61
63
 
62
- Arize is an AI engineering platform. It helps engineers develop, evaluate, and observe AI applications and agents.
64
+ Arize is an AI engineering platform. It helps engineers develop, evaluate, and observe AI applications and agents.
65
+
66
+ Arize has both Enterprise and OSS products to support this goal:
63
67
 
64
- Arize has both Enterprise and OSS products to support this goal:
65
68
  - [Arize AX](https://arize.com/) — an enterprise AI engineering platform from development to production, with an embedded AI Copilot
66
69
  - [Phoenix](https://github.com/Arize-ai/phoenix) — a lightweight, open-source project for tracing, prompt engineering, and evaluation
67
70
  - [OpenInference](https://github.com/Arize-ai/openinference) — an open-source instrumentation package to trace LLM applications across models and frameworks
68
71
 
69
- We log over 1 trillion inferences and spans, 10 million evaluation runs, and 2 million OSS downloads every month.
72
+ We log over 1 trillion inferences and spans, 10 million evaluation runs, and 2 million OSS downloads every month.
70
73
 
71
74
  # Key Features
75
+
72
76
  - [**_Tracing_**](https://docs.arize.com/arize/observe/tracing) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
73
77
  - [**_Evaluation_**](https://docs.arize.com/arize/evaluate/online-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
74
78
  - [**_Datasets_**](https://docs.arize.com/arize/develop/datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
@@ -78,19 +82,36 @@ We log over 1 trillion inferences and spans, 10 million evaluation runs, and 2 m
78
82
 
79
83
  # Installation
80
84
 
81
- Install Arize (version 8 is currently under alpha release) via `pip` or `conda`:
85
+ Install the base package:
82
86
 
83
87
  ```bash
84
- pip install arize==8.0.0ax
88
+ pip install arize
85
89
  ```
86
- where `x` denotes the specific alpha release. Install the `arize-otel` package for auto-instrumentation of your LLM library:
90
+
91
+ ## Optional Dependencies
92
+
93
+ The following optional extras provide specialized functionality:
94
+
95
+ > **Note:** The `otel` extra installs the `arize-otel` package, which is also available as a standalone package. If you only need auto-instrumentation without the full SDK, install `arize-otel` directly.
96
+
97
+ | Extra | Install Command | What It Provides |
98
+ |-------|----------------|------------------|
99
+ | **otel** | `pip install arize[otel]` | OpenTelemetry auto-instrumentation package (arize-otel) for automatic tracing |
100
+ | **embeddings** | `pip install arize[embeddings]` | Automatic embedding generation for NLP, CV, and structured data (Pillow, datasets, tokenizers, torch, transformers) |
101
+ | **mimic** | `pip install arize[mimic]` | MIMIC explainer for model interpretability |
102
+
103
+ Install multiple extras:
87
104
 
88
105
  ```bash
89
- pip install arize-otel
106
+ pip install arize[otel,embeddings,mimic]
90
107
  ```
91
108
 
109
+ ## Migrating from Version 7
110
+
111
+ If you're upgrading from version 7, please refer to the [Migration Guide](https://arize.com/docs/api-clients/python/version-8/migration) for detailed migration steps and breaking changes.
112
+
92
113
  # Usage
93
-
114
+
94
115
  ## Instrumentation
95
116
 
96
117
  See [arize-otel in PyPI](https://pypi.org/project/arize-otel/):
@@ -112,9 +133,8 @@ OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
112
133
 
113
134
  ## Operations on Spans
114
135
 
115
- Use `arize.spans` to interact with spans: log spans into Arize, update the span's evaluations, annotations and metadata in bulk.
116
-
117
- > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
136
+ Use `arize.spans` to interact with spans: log spans into Arize, update the span's
137
+ evaluations, annotations and metadata in bulk.
118
138
 
119
139
  ### Logging spans
120
140
 
@@ -188,9 +208,8 @@ df = client.spans.export_to_df(
188
208
 
189
209
  ## Operations on ML Models
190
210
 
191
- Use `arize.models` to interact with ML models: log ML data (traininv, validation, production) into Arize, either streaming or in batches.
192
-
193
- > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
211
+ Use `arize.ml` to interact with ML models: log ML data (training, validation, production)
212
+ into Arize, either streaming or in batches.
194
213
 
195
214
  ### Stream log ML Data for a Classification use-case
196
215
 
@@ -205,7 +224,7 @@ MODEL_NAME = "<your-model-name>"
205
224
  features=...
206
225
  embedding_features=...
207
226
 
208
- response = client.models.log_stream(
227
+ response = client.ml.log_stream(
209
228
  space_id=SPACE_ID,
210
229
  model_name=MODEL_NAME,
211
230
  model_type=ModelTypes.SCORE_CATEGORICAL,
@@ -257,7 +276,7 @@ schema = Schema(
257
276
  )
258
277
 
259
278
  # Logging Production DataFrame
260
- response = client.models.log_batch(
279
+ response = client.ml.log_batch(
261
280
  space_id=SPACE_ID,
262
281
  model_name=MODEL_NAME,
263
282
  model_type=ModelTypes.OBJECT_DETECTION,
@@ -285,7 +304,7 @@ SPACE_ID = "<your-space-id>"
285
304
  MODEL_NAME = "<your-model-name>"
286
305
  MODEL_VERSION = "1.0"
287
306
 
288
- df = client.models.export_to_df(
307
+ df = client.ml.export_to_df(
289
308
  space_id=SPACE_ID,
290
309
  model_name=MODEL_NAME,
291
310
  environment=Environments.TRAINING,
@@ -343,7 +362,7 @@ The response is an object of type `DatasetsList200Response`, and you can access
343
362
 
344
363
  ```python
345
364
  # Get the list of datasets from the response
346
- dataset_list = resp.datasets
365
+ dataset_list = resp.datasets
347
366
  # Get the response as a dictionary
348
367
  resp_dict = resp.to_dict()
349
368
  # Get the response in JSON format
@@ -459,7 +478,7 @@ The response is an object of type `ExperimentsList200Response`, and you can acce
459
478
 
460
479
  ```python
461
480
  # Get the list of datasets from the response
462
- experiment_list = resp.experiments
481
+ experiment_list = resp.experiments
463
482
  # Get the response as a dictionary
464
483
  resp_dict = resp.to_dict()
465
484
  # Get the response in JSON format
@@ -483,7 +502,7 @@ experiment, experiment_df = client.run_experiment(
483
502
  concurrency=..., # The number of concurrent tasks to run. Defaults to 3.
484
503
  set_global_tracer_provider=..., # If True, sets the global tracer provider for the experiment. Defaults to False
485
504
  exit_on_error=..., # If True, the experiment will stop running on first occurrence of an error. Defaults to False
486
- )
505
+ )
487
506
  ```
488
507
 
489
508
  The `Experiment` object also counts with convenience method similar to `List***` objects:
@@ -578,7 +597,7 @@ resp_df = resp.to_df()
578
597
 
579
598
  ### In Code
580
599
 
581
- You can use `configure_logging` to set up the logging behavior of the Arize package to your needs.
600
+ You can use `configure_logging` to set up the logging behavior of the Arize package to your needs.
582
601
 
583
602
  ```python
584
603
  from arize.logging import configure_logging
@@ -586,7 +605,7 @@ from arize.logging import configure_logging
586
605
  configure_logging(
587
606
  level=..., # Defaults to logging.INFO
588
607
  structured=..., # if True, emit JSON logs. Defaults to False
589
- )
608
+ )
590
609
  ```
591
610
 
592
611
  ### Via Environment Variables
@@ -597,11 +616,11 @@ Configure the same options as the section above, via:
597
616
  import os
598
617
 
599
618
  # Whether or not you want to disable logging altogether
600
- os.environ["ARIZE_LOG_ENABLE"] = "true"
619
+ os.environ["ARIZE_LOG_ENABLE"] = "true"
601
620
  # Set up the logging level
602
- os.environ["ARIZE_LOG_LEVEL"] = "debug"
621
+ os.environ["ARIZE_LOG_LEVEL"] = "debug"
603
622
  # Whether or not you want structured JSON logs
604
- os.environ["ARIZE_LOG_STRUCTURED"] = "false"
623
+ os.environ["ARIZE_LOG_STRUCTURED"] = "false"
605
624
  ```
606
625
 
607
626
  The default behavior of Arize's logs is: enabled, `INFO` level, and not structured.
@@ -35,14 +35,23 @@ classifiers = [
35
35
  "Topic :: System :: Monitoring",
36
36
  ]
37
37
  dependencies = [
38
- "numpy>=2.0.0", # For vector embeddings
39
- "lazy-imports",
40
- # "requests_futures==1.0.0",
41
- # "googleapis_common_protos>=1.51.0,<2",
42
- # "protobuf>=4.21.0,<7",
43
- # "pyarrow>=0.15.0",
44
- # "tqdm>=4.60.0,<5",
45
- # "pydantic>=2.0.0,<3",
38
+ "numpy>=2.0.0",
39
+ "openinference-semantic-conventions>=0.1.25, <1",
40
+ "opentelemetry-exporter-otlp-proto-common>=1.38.0",
41
+ "opentelemetry-exporter-otlp-proto-grpc>=1.38.0",
42
+ "opentelemetry-sdk>=1.38.0",
43
+ "opentelemetry-semantic-conventions>=0.43b0, <1",
44
+ "pandas>=2.0.0, <3",
45
+ "protobuf>=4.21.0, <6",
46
+ "pyarrow>=0.15.0",
47
+ "pydantic>=2, <3",
48
+ "python-dateutil>=2.8.2, <3",
49
+ "requests>=2.0.0, <3",
50
+ "requests_futures>=1.0.0, <2",
51
+ "tqdm>4, <5", # For progress bars
52
+ "typing-extensions>=4.7.1, <5",
53
+ "urllib3>=2.1.0, <3",
54
+ "wrapt>=1.0.0, <2.0.0",
46
55
  ]
47
56
  dynamic = ["version"]
48
57
 
@@ -51,44 +60,15 @@ dev = [
51
60
  "pytest==8.4.2",
52
61
  "ruff==0.13.2"
53
62
  ]
54
- spans = [
55
- "openinference-semantic-conventions>=0.1.21, <1",
56
- "opentelemetry-semantic-conventions>=0.43b0, <1",
57
- "pandas>=1.0.0,<3",
58
- "protobuf>=4.21.0,<6",
59
- "pyarrow>=0.15.0",
60
- "requests>=2.0.0, <3", # For posting pyarrow files
61
- "tqdm", # For export progress bars
62
- ]
63
- ml-stream = [
64
- "requests_futures>=1.0.0, <2",
65
- "protobuf>=4.21.0,<6"
66
- ]
67
- ml-batch = [
68
- "pandas>=1.0.0,<3",
69
- "protobuf>=4.21.0,<6",
70
- "pyarrow>=0.15.0",
71
- "requests>=2.0.0, <3", # For posting pyarrow files
72
- "tqdm", # For export progress bars
73
- ]
74
- datasets-experiments = [
75
- "pydantic",
76
- "numpy>=2.0.0",
77
- "wrapt>=1.0.0,<2.0.0",
78
- "openinference-semantic-conventions>=0.1.21, <1",
79
- "opentelemetry-exporter-otlp-proto-common>=1.38.0",
80
- "opentelemetry-exporter-otlp-proto-grpc>=1.38.0",
81
- "opentelemetry-sdk>=1.38.0",
82
- "opentelemetry-api>=1.38.0",
83
- "opentelemetry-proto>=1.38.0",
63
+ otel = [
64
+ "arize-otel>=0.11.0, <1",
84
65
  ]
85
- mimic-explainer = [
66
+ mimic = [
86
67
  "interpret-community[mimic]>=0.22.0,<1"
87
68
  ]
88
- auto-embeddings = [
69
+ embeddings = [
89
70
  "Pillow>=8.4.0, <11",
90
71
  "datasets>=2.8, <3, !=2.14.*",
91
- "pandas>=1.0.0,<3",
92
72
  "tokenizers>=0.13, <1",
93
73
  "torch>=1.13, <3",
94
74
  "transformers>=4.25, <5",
@@ -126,7 +106,6 @@ exclude = [
126
106
  include = '\.pyi?$'
127
107
  exclude = '(_pb2\.py$|docs/source/.*\.py)'
128
108
 
129
- # TODO(Kiko): Revisit ruff ignores
130
109
  [tool.ruff]
131
110
  target-version = "py310"
132
111
  line-length = 80
@@ -37,7 +37,7 @@ def make_to_df(field_name: str) -> object:
37
37
  json_normalize: bool = False,
38
38
  convert_dtypes: bool = True,
39
39
  ) -> object:
40
- """Convert a list of objects to a pandas DataFrame.
40
+ """Convert a list of objects to a :class:`pandas.DataFrame`.
41
41
 
42
42
  Behavior:
43
43
  - If an item is a Pydantic v2 model, use `.model_dump(by_alias=...)`.
@@ -0,0 +1,50 @@
1
+ """Factory for creating and caching the generated OpenAPI client."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import threading
6
+ from typing import TYPE_CHECKING
7
+
8
+ if TYPE_CHECKING:
9
+ from arize._generated.api_client.api_client import ApiClient
10
+ from arize.config import SDKConfiguration
11
+
12
+
13
+ class GeneratedClientFactory:
14
+ """Factory for creating and caching generated OpenAPI clients.
15
+
16
+ This factory is owned by ArizeClient and provides thread-safe lazy
17
+ initialization of the OpenAPI client used by various subclients.
18
+ """
19
+
20
+ def __init__(self, sdk_config: SDKConfiguration) -> None:
21
+ """Initialize the factory.
22
+
23
+ Args:
24
+ sdk_config: SDK configuration containing API settings.
25
+ """
26
+ self._sdk_config = sdk_config
27
+ self._client: ApiClient | None = None
28
+ self._lock = threading.Lock()
29
+
30
+ def get_client(self) -> ApiClient:
31
+ """Get or create the generated OpenAPI client instance.
32
+
33
+ Returns:
34
+ The shared generated API client instance.
35
+ """
36
+ if self._client is not None:
37
+ return self._client
38
+
39
+ with self._lock:
40
+ if self._client is not None:
41
+ return self._client
42
+
43
+ # Import lazily to avoid extra dependencies at config time
44
+ from arize._generated import api_client as gen
45
+
46
+ cfg = gen.Configuration(host=self._sdk_config.api_url)
47
+ if self._sdk_config.api_key:
48
+ cfg.access_token = self._sdk_config.api_key
49
+ self._client = gen.ApiClient(cfg)
50
+ return self._client
@@ -333,8 +333,8 @@ class ArizeFlightClient:
333
333
  latest version.
334
334
 
335
335
  Returns:
336
- A pandas DataFrame containing the dataset examples with JSON string columns
337
- converted to dict objects.
336
+ :class:`pandas.DataFrame`: A pandas DataFrame containing the dataset examples
337
+ with JSON string columns converted to dict objects.
338
338
 
339
339
  Raises:
340
340
  RuntimeError: If the Flight request fails.
@@ -374,8 +374,8 @@ class ArizeFlightClient:
374
374
  experiment_id: Experiment ID to retrieve runs from.
375
375
 
376
376
  Returns:
377
- A pandas DataFrame containing the experiment runs with JSON string columns
378
- converted to dict objects.
377
+ :class:`pandas.DataFrame`: A pandas DataFrame containing the experiment runs
378
+ with JSON string columns converted to dict objects.
379
379
 
380
380
  Raises:
381
381
  RuntimeError: If the Flight request fails.
@@ -46,7 +46,6 @@ __all__ = [
46
46
  "ExperimentsList200Response",
47
47
  "ExperimentsRunsList200Response",
48
48
  "PaginationMetadata",
49
- "PrimitiveValue",
50
49
  "Problem",
51
50
  "Project",
52
51
  "ProjectsCreateRequest",
@@ -86,7 +85,6 @@ from arize._generated.api_client.models.experiments_create_request import Experi
86
85
  from arize._generated.api_client.models.experiments_list200_response import ExperimentsList200Response as ExperimentsList200Response
87
86
  from arize._generated.api_client.models.experiments_runs_list200_response import ExperimentsRunsList200Response as ExperimentsRunsList200Response
88
87
  from arize._generated.api_client.models.pagination_metadata import PaginationMetadata as PaginationMetadata
89
- from arize._generated.api_client.models.primitive_value import PrimitiveValue as PrimitiveValue
90
88
  from arize._generated.api_client.models.problem import Problem as Problem
91
89
  from arize._generated.api_client.models.project import Project as Project
92
90
  from arize._generated.api_client.models.projects_create_request import ProjectsCreateRequest as ProjectsCreateRequest