scale-gp-beta 0.1.0a36__tar.gz → 0.1.0a38__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 (216) hide show
  1. scale_gp_beta-0.1.0a38/.release-please-manifest.json +3 -0
  2. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/CHANGELOG.md +36 -0
  3. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/PKG-INFO +4 -5
  4. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/README.md +2 -2
  5. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/api.md +2 -1
  6. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/pyproject.toml +3 -4
  7. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_models.py +37 -15
  8. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_sync.py +3 -31
  9. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_utils.py +1 -1
  10. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_version.py +1 -1
  11. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/dataset_items.py +28 -2
  12. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/datasets.py +8 -0
  13. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/evaluations.py +16 -0
  14. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/files/files.py +83 -2
  15. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/questions.py +107 -1
  16. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/__init__.py +2 -0
  17. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_create_params.py +3 -0
  18. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item_batch_create_params.py +3 -0
  19. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item_update_params.py +3 -0
  20. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_create_params.py +6 -0
  21. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_task.py +18 -0
  22. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_task_param.py +18 -0
  23. scale_gp_beta-0.1.0a38/src/scale_gp_beta/types/file_import_from_cloud_params.py +27 -0
  24. scale_gp_beta-0.1.0a38/src/scale_gp_beta/types/file_import_from_cloud_response.py +35 -0
  25. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/question.py +48 -1
  26. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/question_create_params.py +38 -1
  27. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_dataset_items.py +36 -0
  28. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_datasets.py +2 -0
  29. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_evaluations.py +4 -0
  30. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_files.py +109 -1
  31. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_questions.py +100 -0
  32. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_models.py +4 -4
  33. scale_gp_beta-0.1.0a36/.release-please-manifest.json +0 -3
  34. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/.gitignore +0 -0
  35. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/CONTRIBUTING.md +0 -0
  36. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/LICENSE +0 -0
  37. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/SECURITY.md +0 -0
  38. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/bin/check-release-environment +0 -0
  39. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/bin/publish-pypi +0 -0
  40. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/examples/.keep +0 -0
  41. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/examples/tracing/0_primitives_fibonacci.py +0 -0
  42. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/examples/tracing/1_explicit_use_case.py +0 -0
  43. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/examples/tracing/2_direct_upload.py +0 -0
  44. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/examples/tracing/3_openai_agent_tracing.py +0 -0
  45. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/noxfile.py +0 -0
  46. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/release-please-config.json +0 -0
  47. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/requirements-dev.lock +0 -0
  48. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/requirements.lock +0 -0
  49. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp/lib/.keep +0 -0
  50. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/__init__.py +0 -0
  51. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_base_client.py +0 -0
  52. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_client.py +0 -0
  53. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_compat.py +0 -0
  54. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_constants.py +0 -0
  55. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_exceptions.py +0 -0
  56. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_files.py +0 -0
  57. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_qs.py +0 -0
  58. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_resource.py +0 -0
  59. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_response.py +0 -0
  60. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_streaming.py +0 -0
  61. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_types.py +0 -0
  62. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/__init__.py +0 -0
  63. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_compat.py +0 -0
  64. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_datetime_parse.py +0 -0
  65. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_logs.py +0 -0
  66. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_proxy.py +0 -0
  67. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_reflection.py +0 -0
  68. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_resources_proxy.py +0 -0
  69. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_streams.py +0 -0
  70. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_transform.py +0 -0
  71. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/_utils/_typing.py +0 -0
  72. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/.keep +0 -0
  73. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/CONTRIBUTING.MD +0 -0
  74. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/__init__.py +0 -0
  75. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/exceptions.py +0 -0
  76. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/integrations/__init__.py +0 -0
  77. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/integrations/openai/__init__.py +0 -0
  78. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/integrations/openai/openai_span_type_map.py +0 -0
  79. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/integrations/openai/openai_tracing_sgp_processor.py +0 -0
  80. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/integrations/openai/utils.py +0 -0
  81. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/scope.py +0 -0
  82. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/span.py +0 -0
  83. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/trace.py +0 -0
  84. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/trace_exporter.py +0 -0
  85. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/trace_queue_manager.py +0 -0
  86. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/tracing.py +0 -0
  87. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/types.py +0 -0
  88. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/lib/tracing/util.py +0 -0
  89. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/pagination.py +0 -0
  90. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/py.typed +0 -0
  91. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/__init__.py +0 -0
  92. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/chat/__init__.py +0 -0
  93. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/chat/chat.py +0 -0
  94. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/chat/completions.py +0 -0
  95. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/completions.py +0 -0
  96. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/credentials.py +0 -0
  97. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/evaluation_items.py +0 -0
  98. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/files/__init__.py +0 -0
  99. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/files/content.py +0 -0
  100. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/inference.py +0 -0
  101. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/models.py +0 -0
  102. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/responses.py +0 -0
  103. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/span_assessments.py +0 -0
  104. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/resources/spans.py +0 -0
  105. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/approval_status.py +0 -0
  106. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/assessment_type.py +0 -0
  107. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/__init__.py +0 -0
  108. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/chat_completion.py +0 -0
  109. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/chat_completion_chunk.py +0 -0
  110. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/completion_create_params.py +0 -0
  111. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/completion_create_response.py +0 -0
  112. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/completion_models_params.py +0 -0
  113. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/completion_models_response.py +0 -0
  114. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/chat/model_definition.py +0 -0
  115. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/completion.py +0 -0
  116. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/completion_create_params.py +0 -0
  117. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/component.py +0 -0
  118. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/component_param.py +0 -0
  119. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/container.py +0 -0
  120. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/container_param.py +0 -0
  121. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/credential.py +0 -0
  122. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/credential_create_params.py +0 -0
  123. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/credential_delete_response.py +0 -0
  124. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/credential_list_params.py +0 -0
  125. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/credential_secret.py +0 -0
  126. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/credential_update_params.py +0 -0
  127. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset.py +0 -0
  128. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_delete_response.py +0 -0
  129. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item.py +0 -0
  130. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item_batch_create_response.py +0 -0
  131. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item_delete_response.py +0 -0
  132. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item_list_params.py +0 -0
  133. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_item_retrieve_params.py +0 -0
  134. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_list_params.py +0 -0
  135. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_retrieve_params.py +0 -0
  136. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/dataset_update_params.py +0 -0
  137. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation.py +0 -0
  138. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_item.py +0 -0
  139. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_item_list_params.py +0 -0
  140. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_item_retrieve_params.py +0 -0
  141. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_list_params.py +0 -0
  142. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_retrieve_params.py +0 -0
  143. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/evaluation_update_params.py +0 -0
  144. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/file.py +0 -0
  145. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/file_create_params.py +0 -0
  146. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/file_delete_response.py +0 -0
  147. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/file_list_params.py +0 -0
  148. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/file_update_params.py +0 -0
  149. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/files/__init__.py +0 -0
  150. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/inference_create_params.py +0 -0
  151. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/inference_create_response.py +0 -0
  152. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/inference_model.py +0 -0
  153. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/inference_response.py +0 -0
  154. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/inference_response_chunk.py +0 -0
  155. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/item_locator.py +0 -0
  156. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/item_locator_template.py +0 -0
  157. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/model_create_params.py +0 -0
  158. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/model_delete_response.py +0 -0
  159. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/model_list_params.py +0 -0
  160. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/model_update_params.py +0 -0
  161. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/question_list_params.py +0 -0
  162. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/response.py +0 -0
  163. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/response_create_params.py +0 -0
  164. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/response_create_response.py +0 -0
  165. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/shared/__init__.py +0 -0
  166. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/shared/identity.py +0 -0
  167. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span.py +0 -0
  168. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_assessment.py +0 -0
  169. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_assessment_create_params.py +0 -0
  170. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_assessment_delete_response.py +0 -0
  171. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_assessment_list_params.py +0 -0
  172. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_assessment_update_params.py +0 -0
  173. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_batch_params.py +0 -0
  174. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_batch_response.py +0 -0
  175. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_create_params.py +0 -0
  176. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_search_params.py +0 -0
  177. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_status.py +0 -0
  178. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_type.py +0 -0
  179. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_update_params.py +0 -0
  180. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_upsert_batch_params.py +0 -0
  181. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/scale_gp_beta/types/span_upsert_batch_response.py +0 -0
  182. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/src/sgp_dev/lib/.keep +0 -0
  183. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/__init__.py +0 -0
  184. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/__init__.py +0 -0
  185. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/chat/__init__.py +0 -0
  186. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/chat/test_completions.py +0 -0
  187. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/files/__init__.py +0 -0
  188. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/files/test_content.py +0 -0
  189. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_completions.py +0 -0
  190. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_credentials.py +0 -0
  191. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_evaluation_items.py +0 -0
  192. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_inference.py +0 -0
  193. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_models.py +0 -0
  194. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_responses.py +0 -0
  195. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_span_assessments.py +0 -0
  196. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/api_resources/test_spans.py +0 -0
  197. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/conftest.py +0 -0
  198. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/lib/tracing/test_span.py +0 -0
  199. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/lib/tracing/test_trace.py +0 -0
  200. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/lib/tracing/test_trace_exporter.py +0 -0
  201. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/lib/tracing/test_trace_queue_manager.py +0 -0
  202. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/lib/tracing/test_tracing.py +0 -0
  203. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/sample_file.txt +0 -0
  204. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_client.py +0 -0
  205. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_deepcopy.py +0 -0
  206. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_extract_files.py +0 -0
  207. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_files.py +0 -0
  208. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_qs.py +0 -0
  209. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_required_args.py +0 -0
  210. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_response.py +0 -0
  211. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_streaming.py +0 -0
  212. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_transform.py +0 -0
  213. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_utils/test_datetime_parse.py +0 -0
  214. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_utils/test_proxy.py +0 -0
  215. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/test_utils/test_typing.py +0 -0
  216. {scale_gp_beta-0.1.0a36 → scale_gp_beta-0.1.0a38}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.38"
3
+ }
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.38 (2025-11-21)
4
+
5
+ Full Changelog: [v0.1.0-alpha.37...v0.1.0-alpha.38](https://github.com/scaleapi/sgp-python-beta/compare/v0.1.0-alpha.37...v0.1.0-alpha.38)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([b1d4b0b](https://github.com/scaleapi/sgp-python-beta/commit/b1d4b0beaf03b77e40149cd07cb33828b530e4b5))
10
+ * **api:** api update ([29b8944](https://github.com/scaleapi/sgp-python-beta/commit/29b89443e5022f2981e10544f86a78d0cd3a737e))
11
+ * **api:** manual updates ([227aa78](https://github.com/scaleapi/sgp-python-beta/commit/227aa78a5ea1b6ed4f0b85dcc76a578c933b8c3c))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **compat:** update signatures of `model_dump` and `model_dump_json` for Pydantic v1 ([f86a9e9](https://github.com/scaleapi/sgp-python-beta/commit/f86a9e998f20a76c28eea3c8cc67c63d9408ac5e))
17
+
18
+ ## 0.1.0-alpha.37 (2025-11-10)
19
+
20
+ Full Changelog: [v0.1.0-alpha.36...v0.1.0-alpha.37](https://github.com/scaleapi/sgp-python-beta/compare/v0.1.0-alpha.36...v0.1.0-alpha.37)
21
+
22
+ ### Features
23
+
24
+ * **api:** api update ([47b3853](https://github.com/scaleapi/sgp-python-beta/commit/47b38530ea4075b38d47151515a5a2139a0aafcb))
25
+ * **api:** api update ([97b2a9a](https://github.com/scaleapi/sgp-python-beta/commit/97b2a9aefa4ccb9f45f374dbd909d0b6e848e875))
26
+ * **api:** api update ([1cc7a60](https://github.com/scaleapi/sgp-python-beta/commit/1cc7a6042e0c423f42e44647c4dc194f65183c8a))
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * compat with Python 3.14 ([0e2d607](https://github.com/scaleapi/sgp-python-beta/commit/0e2d6074349ba9b087dbe467fad26b1c92df0ec6))
32
+
33
+
34
+ ### Chores
35
+
36
+ * **internal:** grammar fix (it's -> its) ([2abb05b](https://github.com/scaleapi/sgp-python-beta/commit/2abb05b9f299a981bf593079e24a1ad9de2495ec))
37
+ * **package:** drop Python 3.8 support ([5c1b01c](https://github.com/scaleapi/sgp-python-beta/commit/5c1b01c1154a4e411f8c20b155361b407aa37035))
38
+
3
39
  ## 0.1.0-alpha.36 (2025-10-31)
4
40
 
5
41
  Full Changelog: [v0.1.0-alpha.35...v0.1.0-alpha.36](https://github.com/scaleapi/sgp-python-beta/compare/v0.1.0-alpha.35...v0.1.0-alpha.36)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: scale-gp-beta
3
- Version: 0.1.0a36
3
+ Version: 0.1.0a38
4
4
  Summary: The official Python library for the Scale GP API
5
5
  Project-URL: Homepage, https://github.com/scaleapi/sgp-python-beta
6
6
  Project-URL: Repository, https://github.com/scaleapi/sgp-python-beta
@@ -13,7 +13,6 @@ Classifier: Operating System :: Microsoft :: Windows
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Operating System :: POSIX
15
15
  Classifier: Operating System :: POSIX :: Linux
16
- Classifier: Programming Language :: Python :: 3.8
17
16
  Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
@@ -21,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
22
  Classifier: Typing :: Typed
24
- Requires-Python: >=3.8
23
+ Requires-Python: >=3.9
25
24
  Requires-Dist: anyio<5,>=3.5.0
26
25
  Requires-Dist: distro<2,>=1.7.0
27
26
  Requires-Dist: httpx<1,>=0.23.0
@@ -38,7 +37,7 @@ Description-Content-Type: text/markdown
38
37
  <!-- prettier-ignore -->
39
38
  [![PyPI version](https://img.shields.io/pypi/v/scale-gp-beta.svg?label=pypi%20(stable))](https://pypi.org/project/scale-gp-beta/)
40
39
 
41
- The Scale GP Python library provides convenient access to the Scale GP REST API from any Python 3.8+
40
+ The Scale GP Python library provides convenient access to the Scale GP REST API from any Python 3.9+
42
41
  application. The library includes type definitions for all request params and response fields,
43
42
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
44
43
 
@@ -822,7 +821,7 @@ print(scale_gp_beta.__version__)
822
821
 
823
822
  ## Requirements
824
823
 
825
- Python 3.8 or higher.
824
+ Python 3.9 or higher.
826
825
 
827
826
  ## Contributing
828
827
 
@@ -3,7 +3,7 @@
3
3
  <!-- prettier-ignore -->
4
4
  [![PyPI version](https://img.shields.io/pypi/v/scale-gp-beta.svg?label=pypi%20(stable))](https://pypi.org/project/scale-gp-beta/)
5
5
 
6
- The Scale GP Python library provides convenient access to the Scale GP REST API from any Python 3.8+
6
+ The Scale GP Python library provides convenient access to the Scale GP REST API from any Python 3.9+
7
7
  application. The library includes type definitions for all request params and response fields,
8
8
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
9
9
 
@@ -787,7 +787,7 @@ print(scale_gp_beta.__version__)
787
787
 
788
788
  ## Requirements
789
789
 
790
- Python 3.8 or higher.
790
+ Python 3.9 or higher.
791
791
 
792
792
  ## Contributing
793
793
 
@@ -80,7 +80,7 @@ Methods:
80
80
  Types:
81
81
 
82
82
  ```python
83
- from scale_gp_beta.types import File, FileDeleteResponse
83
+ from scale_gp_beta.types import File, FileDeleteResponse, FileImportFromCloudResponse
84
84
  ```
85
85
 
86
86
  Methods:
@@ -90,6 +90,7 @@ Methods:
90
90
  - <code title="patch /v5/files/{file_id}">client.files.<a href="./src/scale_gp_beta/resources/files/files.py">update</a>(file_id, \*\*<a href="src/scale_gp_beta/types/file_update_params.py">params</a>) -> <a href="./src/scale_gp_beta/types/file.py">File</a></code>
91
91
  - <code title="get /v5/files">client.files.<a href="./src/scale_gp_beta/resources/files/files.py">list</a>(\*\*<a href="src/scale_gp_beta/types/file_list_params.py">params</a>) -> <a href="./src/scale_gp_beta/types/file.py">SyncCursorPage[File]</a></code>
92
92
  - <code title="delete /v5/files/{file_id}">client.files.<a href="./src/scale_gp_beta/resources/files/files.py">delete</a>(file_id) -> <a href="./src/scale_gp_beta/types/file_delete_response.py">FileDeleteResponse</a></code>
93
+ - <code title="post /v5/files/cloud_imports">client.files.<a href="./src/scale_gp_beta/resources/files/files.py">import_from_cloud</a>(\*\*<a href="src/scale_gp_beta/types/file_import_from_cloud_params.py">params</a>) -> <a href="./src/scale_gp_beta/types/file_import_from_cloud_response.py">FileImportFromCloudResponse</a></code>
93
94
 
94
95
  ## Content
95
96
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "scale-gp-beta"
3
- version = "0.1.0-alpha.36"
3
+ version = "0.1.0-alpha.38"
4
4
  description = "The official Python library for the Scale GP API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -15,11 +15,10 @@ dependencies = [
15
15
  "distro>=1.7.0, <2",
16
16
  "sniffio",
17
17
  ]
18
- requires-python = ">= 3.8"
18
+ requires-python = ">= 3.9"
19
19
  classifiers = [
20
20
  "Typing :: Typed",
21
21
  "Intended Audience :: Developers",
22
- "Programming Language :: Python :: 3.8",
23
22
  "Programming Language :: Python :: 3.9",
24
23
  "Programming Language :: Python :: 3.10",
25
24
  "Programming Language :: Python :: 3.11",
@@ -141,7 +140,7 @@ filterwarnings = [
141
140
  # there are a couple of flags that are still disabled by
142
141
  # default in strict mode as they are experimental and niche.
143
142
  typeCheckingMode = "strict"
144
- pythonVersion = "3.8"
143
+ pythonVersion = "3.9"
145
144
 
146
145
  exclude = [
147
146
  "_dev",
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import os
4
4
  import inspect
5
+ import weakref
5
6
  from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, Optional, cast
6
7
  from datetime import date, datetime
7
8
  from typing_extensions import (
@@ -256,15 +257,16 @@ class BaseModel(pydantic.BaseModel):
256
257
  mode: Literal["json", "python"] | str = "python",
257
258
  include: IncEx | None = None,
258
259
  exclude: IncEx | None = None,
260
+ context: Any | None = None,
259
261
  by_alias: bool | None = None,
260
262
  exclude_unset: bool = False,
261
263
  exclude_defaults: bool = False,
262
264
  exclude_none: bool = False,
265
+ exclude_computed_fields: bool = False,
263
266
  round_trip: bool = False,
264
267
  warnings: bool | Literal["none", "warn", "error"] = True,
265
- context: dict[str, Any] | None = None,
266
- serialize_as_any: bool = False,
267
268
  fallback: Callable[[Any], Any] | None = None,
269
+ serialize_as_any: bool = False,
268
270
  ) -> dict[str, Any]:
269
271
  """Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump
270
272
 
@@ -272,16 +274,24 @@ class BaseModel(pydantic.BaseModel):
272
274
 
273
275
  Args:
274
276
  mode: The mode in which `to_python` should run.
275
- If mode is 'json', the dictionary will only contain JSON serializable types.
276
- If mode is 'python', the dictionary may contain any Python objects.
277
- include: A list of fields to include in the output.
278
- exclude: A list of fields to exclude from the output.
277
+ If mode is 'json', the output will only contain JSON serializable types.
278
+ If mode is 'python', the output may contain non-JSON-serializable Python objects.
279
+ include: A set of fields to include in the output.
280
+ exclude: A set of fields to exclude from the output.
281
+ context: Additional context to pass to the serializer.
279
282
  by_alias: Whether to use the field's alias in the dictionary key if defined.
280
- exclude_unset: Whether to exclude fields that are unset or None from the output.
281
- exclude_defaults: Whether to exclude fields that are set to their default value from the output.
282
- exclude_none: Whether to exclude fields that have a value of `None` from the output.
283
- round_trip: Whether to enable serialization and deserialization round-trip support.
284
- warnings: Whether to log warnings when invalid fields are encountered.
283
+ exclude_unset: Whether to exclude fields that have not been explicitly set.
284
+ exclude_defaults: Whether to exclude fields that are set to their default value.
285
+ exclude_none: Whether to exclude fields that have a value of `None`.
286
+ exclude_computed_fields: Whether to exclude computed fields.
287
+ While this can be useful for round-tripping, it is usually recommended to use the dedicated
288
+ `round_trip` parameter instead.
289
+ round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
290
+ warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
291
+ "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
292
+ fallback: A function to call when an unknown value is encountered. If not provided,
293
+ a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
294
+ serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
285
295
 
286
296
  Returns:
287
297
  A dictionary representation of the model.
@@ -298,6 +308,8 @@ class BaseModel(pydantic.BaseModel):
298
308
  raise ValueError("serialize_as_any is only supported in Pydantic v2")
299
309
  if fallback is not None:
300
310
  raise ValueError("fallback is only supported in Pydantic v2")
311
+ if exclude_computed_fields != False:
312
+ raise ValueError("exclude_computed_fields is only supported in Pydantic v2")
301
313
  dumped = super().dict( # pyright: ignore[reportDeprecated]
302
314
  include=include,
303
315
  exclude=exclude,
@@ -314,15 +326,17 @@ class BaseModel(pydantic.BaseModel):
314
326
  self,
315
327
  *,
316
328
  indent: int | None = None,
329
+ ensure_ascii: bool = False,
317
330
  include: IncEx | None = None,
318
331
  exclude: IncEx | None = None,
332
+ context: Any | None = None,
319
333
  by_alias: bool | None = None,
320
334
  exclude_unset: bool = False,
321
335
  exclude_defaults: bool = False,
322
336
  exclude_none: bool = False,
337
+ exclude_computed_fields: bool = False,
323
338
  round_trip: bool = False,
324
339
  warnings: bool | Literal["none", "warn", "error"] = True,
325
- context: dict[str, Any] | None = None,
326
340
  fallback: Callable[[Any], Any] | None = None,
327
341
  serialize_as_any: bool = False,
328
342
  ) -> str:
@@ -354,6 +368,10 @@ class BaseModel(pydantic.BaseModel):
354
368
  raise ValueError("serialize_as_any is only supported in Pydantic v2")
355
369
  if fallback is not None:
356
370
  raise ValueError("fallback is only supported in Pydantic v2")
371
+ if ensure_ascii != False:
372
+ raise ValueError("ensure_ascii is only supported in Pydantic v2")
373
+ if exclude_computed_fields != False:
374
+ raise ValueError("exclude_computed_fields is only supported in Pydantic v2")
357
375
  return super().json( # type: ignore[reportDeprecated]
358
376
  indent=indent,
359
377
  include=include,
@@ -573,6 +591,9 @@ class CachedDiscriminatorType(Protocol):
573
591
  __discriminator__: DiscriminatorDetails
574
592
 
575
593
 
594
+ DISCRIMINATOR_CACHE: weakref.WeakKeyDictionary[type, DiscriminatorDetails] = weakref.WeakKeyDictionary()
595
+
596
+
576
597
  class DiscriminatorDetails:
577
598
  field_name: str
578
599
  """The name of the discriminator field in the variant class, e.g.
@@ -615,8 +636,9 @@ class DiscriminatorDetails:
615
636
 
616
637
 
617
638
  def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any, ...]) -> DiscriminatorDetails | None:
618
- if isinstance(union, CachedDiscriminatorType):
619
- return union.__discriminator__
639
+ cached = DISCRIMINATOR_CACHE.get(union)
640
+ if cached is not None:
641
+ return cached
620
642
 
621
643
  discriminator_field_name: str | None = None
622
644
 
@@ -669,7 +691,7 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
669
691
  discriminator_field=discriminator_field_name,
670
692
  discriminator_alias=discriminator_alias,
671
693
  )
672
- cast(CachedDiscriminatorType, union).__discriminator__ = details
694
+ DISCRIMINATOR_CACHE.setdefault(union, details)
673
695
  return details
674
696
 
675
697
 
@@ -1,10 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
4
3
  import asyncio
5
4
  import functools
6
- import contextvars
7
- from typing import Any, TypeVar, Callable, Awaitable
5
+ from typing import TypeVar, Callable, Awaitable
8
6
  from typing_extensions import ParamSpec
9
7
 
10
8
  import anyio
@@ -15,34 +13,11 @@ T_Retval = TypeVar("T_Retval")
15
13
  T_ParamSpec = ParamSpec("T_ParamSpec")
16
14
 
17
15
 
18
- if sys.version_info >= (3, 9):
19
- _asyncio_to_thread = asyncio.to_thread
20
- else:
21
- # backport of https://docs.python.org/3/library/asyncio-task.html#asyncio.to_thread
22
- # for Python 3.8 support
23
- async def _asyncio_to_thread(
24
- func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
25
- ) -> Any:
26
- """Asynchronously run function *func* in a separate thread.
27
-
28
- Any *args and **kwargs supplied for this function are directly passed
29
- to *func*. Also, the current :class:`contextvars.Context` is propagated,
30
- allowing context variables from the main thread to be accessed in the
31
- separate thread.
32
-
33
- Returns a coroutine that can be awaited to get the eventual result of *func*.
34
- """
35
- loop = asyncio.events.get_running_loop()
36
- ctx = contextvars.copy_context()
37
- func_call = functools.partial(ctx.run, func, *args, **kwargs)
38
- return await loop.run_in_executor(None, func_call)
39
-
40
-
41
16
  async def to_thread(
42
17
  func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
43
18
  ) -> T_Retval:
44
19
  if sniffio.current_async_library() == "asyncio":
45
- return await _asyncio_to_thread(func, *args, **kwargs)
20
+ return await asyncio.to_thread(func, *args, **kwargs)
46
21
 
47
22
  return await anyio.to_thread.run_sync(
48
23
  functools.partial(func, *args, **kwargs),
@@ -53,10 +28,7 @@ async def to_thread(
53
28
  def asyncify(function: Callable[T_ParamSpec, T_Retval]) -> Callable[T_ParamSpec, Awaitable[T_Retval]]:
54
29
  """
55
30
  Take a blocking function and create an async one that receives the same
56
- positional and keyword arguments. For python version 3.9 and above, it uses
57
- asyncio.to_thread to run the function in a separate thread. For python version
58
- 3.8, it uses locally defined copy of the asyncio.to_thread function which was
59
- introduced in python 3.9.
31
+ positional and keyword arguments.
60
32
 
61
33
  Usage:
62
34
 
@@ -133,7 +133,7 @@ def is_given(obj: _T | NotGiven | Omit) -> TypeGuard[_T]:
133
133
  # Type safe methods for narrowing types with TypeVars.
134
134
  # The default narrowing for isinstance(obj, dict) is dict[unknown, unknown],
135
135
  # however this cause Pyright to rightfully report errors. As we know we don't
136
- # care about the contained types we can safely use `object` in it's place.
136
+ # care about the contained types we can safely use `object` in its place.
137
137
  #
138
138
  # There are two separate functions defined, `is_*` and `is_*_t` for different use cases.
139
139
  # `is_*` is for when you're dealing with an unknown input
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "scale_gp_beta"
4
- __version__ = "0.1.0-alpha.36" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.38" # x-release-please-version
@@ -98,6 +98,7 @@ class DatasetItemsResource(SyncAPIResource):
98
98
  dataset_item_id: str,
99
99
  *,
100
100
  data: Dict[str, object],
101
+ files: Dict[str, str] | Omit = omit,
101
102
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
102
103
  # The extra values given here take precedence over values defined on the client or passed to this method.
103
104
  extra_headers: Headers | None = None,
@@ -111,6 +112,8 @@ class DatasetItemsResource(SyncAPIResource):
111
112
  Args:
112
113
  data: Updated dataset item data
113
114
 
115
+ files: Files to be associated to the dataset
116
+
114
117
  extra_headers: Send extra headers
115
118
 
116
119
  extra_query: Add additional query parameters to the request
@@ -123,7 +126,13 @@ class DatasetItemsResource(SyncAPIResource):
123
126
  raise ValueError(f"Expected a non-empty value for `dataset_item_id` but received {dataset_item_id!r}")
124
127
  return self._patch(
125
128
  f"/v5/dataset-items/{dataset_item_id}",
126
- body=maybe_transform({"data": data}, dataset_item_update_params.DatasetItemUpdateParams),
129
+ body=maybe_transform(
130
+ {
131
+ "data": data,
132
+ "files": files,
133
+ },
134
+ dataset_item_update_params.DatasetItemUpdateParams,
135
+ ),
127
136
  options=make_request_options(
128
137
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
129
138
  ),
@@ -228,6 +237,7 @@ class DatasetItemsResource(SyncAPIResource):
228
237
  *,
229
238
  data: Iterable[Dict[str, object]],
230
239
  dataset_id: str,
240
+ files: Iterable[Dict[str, str]] | Omit = omit,
231
241
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
232
242
  # The extra values given here take precedence over values defined on the client or passed to this method.
233
243
  extra_headers: Headers | None = None,
@@ -243,6 +253,8 @@ class DatasetItemsResource(SyncAPIResource):
243
253
 
244
254
  dataset_id: Identifier of the target dataset
245
255
 
256
+ files: Files to be associated to the dataset
257
+
246
258
  extra_headers: Send extra headers
247
259
 
248
260
  extra_query: Add additional query parameters to the request
@@ -257,6 +269,7 @@ class DatasetItemsResource(SyncAPIResource):
257
269
  {
258
270
  "data": data,
259
271
  "dataset_id": dataset_id,
272
+ "files": files,
260
273
  },
261
274
  dataset_item_batch_create_params.DatasetItemBatchCreateParams,
262
275
  ),
@@ -335,6 +348,7 @@ class AsyncDatasetItemsResource(AsyncAPIResource):
335
348
  dataset_item_id: str,
336
349
  *,
337
350
  data: Dict[str, object],
351
+ files: Dict[str, str] | Omit = omit,
338
352
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
339
353
  # The extra values given here take precedence over values defined on the client or passed to this method.
340
354
  extra_headers: Headers | None = None,
@@ -348,6 +362,8 @@ class AsyncDatasetItemsResource(AsyncAPIResource):
348
362
  Args:
349
363
  data: Updated dataset item data
350
364
 
365
+ files: Files to be associated to the dataset
366
+
351
367
  extra_headers: Send extra headers
352
368
 
353
369
  extra_query: Add additional query parameters to the request
@@ -360,7 +376,13 @@ class AsyncDatasetItemsResource(AsyncAPIResource):
360
376
  raise ValueError(f"Expected a non-empty value for `dataset_item_id` but received {dataset_item_id!r}")
361
377
  return await self._patch(
362
378
  f"/v5/dataset-items/{dataset_item_id}",
363
- body=await async_maybe_transform({"data": data}, dataset_item_update_params.DatasetItemUpdateParams),
379
+ body=await async_maybe_transform(
380
+ {
381
+ "data": data,
382
+ "files": files,
383
+ },
384
+ dataset_item_update_params.DatasetItemUpdateParams,
385
+ ),
364
386
  options=make_request_options(
365
387
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
366
388
  ),
@@ -465,6 +487,7 @@ class AsyncDatasetItemsResource(AsyncAPIResource):
465
487
  *,
466
488
  data: Iterable[Dict[str, object]],
467
489
  dataset_id: str,
490
+ files: Iterable[Dict[str, str]] | Omit = omit,
468
491
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
469
492
  # The extra values given here take precedence over values defined on the client or passed to this method.
470
493
  extra_headers: Headers | None = None,
@@ -480,6 +503,8 @@ class AsyncDatasetItemsResource(AsyncAPIResource):
480
503
 
481
504
  dataset_id: Identifier of the target dataset
482
505
 
506
+ files: Files to be associated to the dataset
507
+
483
508
  extra_headers: Send extra headers
484
509
 
485
510
  extra_query: Add additional query parameters to the request
@@ -494,6 +519,7 @@ class AsyncDatasetItemsResource(AsyncAPIResource):
494
519
  {
495
520
  "data": data,
496
521
  "dataset_id": dataset_id,
522
+ "files": files,
497
523
  },
498
524
  dataset_item_batch_create_params.DatasetItemBatchCreateParams,
499
525
  ),
@@ -52,6 +52,7 @@ class DatasetsResource(SyncAPIResource):
52
52
  data: Iterable[Dict[str, object]],
53
53
  name: str,
54
54
  description: str | Omit = omit,
55
+ files: Iterable[Dict[str, str]] | Omit = omit,
55
56
  tags: SequenceNotStr[str] | Omit = omit,
56
57
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
57
58
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -66,6 +67,8 @@ class DatasetsResource(SyncAPIResource):
66
67
  Args:
67
68
  data: Items to be included in the dataset
68
69
 
70
+ files: Files to be associated to the dataset
71
+
69
72
  tags: The tags associated with the entity
70
73
 
71
74
  extra_headers: Send extra headers
@@ -83,6 +86,7 @@ class DatasetsResource(SyncAPIResource):
83
86
  "data": data,
84
87
  "name": name,
85
88
  "description": description,
89
+ "files": files,
86
90
  "tags": tags,
87
91
  },
88
92
  dataset_create_params.DatasetCreateParams,
@@ -340,6 +344,7 @@ class AsyncDatasetsResource(AsyncAPIResource):
340
344
  data: Iterable[Dict[str, object]],
341
345
  name: str,
342
346
  description: str | Omit = omit,
347
+ files: Iterable[Dict[str, str]] | Omit = omit,
343
348
  tags: SequenceNotStr[str] | Omit = omit,
344
349
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
345
350
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -354,6 +359,8 @@ class AsyncDatasetsResource(AsyncAPIResource):
354
359
  Args:
355
360
  data: Items to be included in the dataset
356
361
 
362
+ files: Files to be associated to the dataset
363
+
357
364
  tags: The tags associated with the entity
358
365
 
359
366
  extra_headers: Send extra headers
@@ -371,6 +378,7 @@ class AsyncDatasetsResource(AsyncAPIResource):
371
378
  "data": data,
372
379
  "name": name,
373
380
  "description": description,
381
+ "files": files,
374
382
  "tags": tags,
375
383
  },
376
384
  dataset_create_params.DatasetCreateParams,
@@ -58,6 +58,7 @@ class EvaluationsResource(SyncAPIResource):
58
58
  data: Iterable[Dict[str, object]],
59
59
  name: str,
60
60
  description: str | Omit = omit,
61
+ files: Iterable[Dict[str, str]] | Omit = omit,
61
62
  metadata: Dict[str, object] | Omit = omit,
62
63
  tags: SequenceNotStr[str] | Omit = omit,
63
64
  tasks: Iterable[EvaluationTaskParam] | Omit = omit,
@@ -74,6 +75,8 @@ class EvaluationsResource(SyncAPIResource):
74
75
  Args:
75
76
  data: Items to be evaluated
76
77
 
78
+ files: Files to be associated to the evaluation
79
+
77
80
  metadata: Optional metadata key-value pairs for the evaluation
78
81
 
79
82
  tags: The tags associated with the entity
@@ -140,6 +143,7 @@ class EvaluationsResource(SyncAPIResource):
140
143
  dataset: evaluation_create_params.EvaluationWithDatasetCreateRequestDataset,
141
144
  name: str,
142
145
  description: str | Omit = omit,
146
+ files: Iterable[Dict[str, str]] | Omit = omit,
143
147
  metadata: Dict[str, object] | Omit = omit,
144
148
  tags: SequenceNotStr[str] | Omit = omit,
145
149
  tasks: Iterable[EvaluationTaskParam] | Omit = omit,
@@ -158,6 +162,8 @@ class EvaluationsResource(SyncAPIResource):
158
162
 
159
163
  dataset: Create a reusable dataset from items in the `data` field
160
164
 
165
+ files: Files to be associated to the evaluation
166
+
161
167
  metadata: Optional metadata key-value pairs for the evaluation
162
168
 
163
169
  tags: The tags associated with the entity
@@ -183,6 +189,7 @@ class EvaluationsResource(SyncAPIResource):
183
189
  | Omit = omit,
184
190
  name: str,
185
191
  description: str | Omit = omit,
192
+ files: Iterable[Dict[str, str]] | Omit = omit,
186
193
  metadata: Dict[str, object] | Omit = omit,
187
194
  tags: SequenceNotStr[str] | Omit = omit,
188
195
  tasks: Iterable[EvaluationTaskParam] | Omit = omit,
@@ -202,6 +209,7 @@ class EvaluationsResource(SyncAPIResource):
202
209
  "data": data,
203
210
  "name": name,
204
211
  "description": description,
212
+ "files": files,
205
213
  "metadata": metadata,
206
214
  "tags": tags,
207
215
  "tasks": tasks,
@@ -471,6 +479,7 @@ class AsyncEvaluationsResource(AsyncAPIResource):
471
479
  data: Iterable[Dict[str, object]],
472
480
  name: str,
473
481
  description: str | Omit = omit,
482
+ files: Iterable[Dict[str, str]] | Omit = omit,
474
483
  metadata: Dict[str, object] | Omit = omit,
475
484
  tags: SequenceNotStr[str] | Omit = omit,
476
485
  tasks: Iterable[EvaluationTaskParam] | Omit = omit,
@@ -487,6 +496,8 @@ class AsyncEvaluationsResource(AsyncAPIResource):
487
496
  Args:
488
497
  data: Items to be evaluated
489
498
 
499
+ files: Files to be associated to the evaluation
500
+
490
501
  metadata: Optional metadata key-value pairs for the evaluation
491
502
 
492
503
  tags: The tags associated with the entity
@@ -553,6 +564,7 @@ class AsyncEvaluationsResource(AsyncAPIResource):
553
564
  dataset: evaluation_create_params.EvaluationWithDatasetCreateRequestDataset,
554
565
  name: str,
555
566
  description: str | Omit = omit,
567
+ files: Iterable[Dict[str, str]] | Omit = omit,
556
568
  metadata: Dict[str, object] | Omit = omit,
557
569
  tags: SequenceNotStr[str] | Omit = omit,
558
570
  tasks: Iterable[EvaluationTaskParam] | Omit = omit,
@@ -571,6 +583,8 @@ class AsyncEvaluationsResource(AsyncAPIResource):
571
583
 
572
584
  dataset: Create a reusable dataset from items in the `data` field
573
585
 
586
+ files: Files to be associated to the evaluation
587
+
574
588
  metadata: Optional metadata key-value pairs for the evaluation
575
589
 
576
590
  tags: The tags associated with the entity
@@ -596,6 +610,7 @@ class AsyncEvaluationsResource(AsyncAPIResource):
596
610
  | Omit = omit,
597
611
  name: str,
598
612
  description: str | Omit = omit,
613
+ files: Iterable[Dict[str, str]] | Omit = omit,
599
614
  metadata: Dict[str, object] | Omit = omit,
600
615
  tags: SequenceNotStr[str] | Omit = omit,
601
616
  tasks: Iterable[EvaluationTaskParam] | Omit = omit,
@@ -615,6 +630,7 @@ class AsyncEvaluationsResource(AsyncAPIResource):
615
630
  "data": data,
616
631
  "name": name,
617
632
  "description": description,
633
+ "files": files,
618
634
  "metadata": metadata,
619
635
  "tags": tags,
620
636
  "tasks": tasks,