scale-gp-beta 0.1.0a41__tar.gz → 0.1.0a42__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 (228) hide show
  1. scale_gp_beta-0.1.0a42/.release-please-manifest.json +3 -0
  2. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/CHANGELOG.md +14 -0
  3. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/PKG-INFO +39 -1
  4. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/README.md +38 -0
  5. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/api.md +2 -1
  6. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/pyproject.toml +1 -1
  7. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_client.py +4 -0
  8. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_streaming.py +4 -2
  9. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_version.py +1 -1
  10. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/build.py +10 -4
  11. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/__init__.py +1 -0
  12. scale_gp_beta-0.1.0a42/src/scale_gp_beta/types/stream_chunk.py +12 -0
  13. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_build.py +12 -14
  14. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_client.py +23 -0
  15. scale_gp_beta-0.1.0a41/.release-please-manifest.json +0 -3
  16. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/.gitignore +0 -0
  17. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/CONTRIBUTING.md +0 -0
  18. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/LICENSE +0 -0
  19. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/SECURITY.md +0 -0
  20. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/bin/check-release-environment +0 -0
  21. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/bin/publish-pypi +0 -0
  22. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/.keep +0 -0
  23. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/0_primitives_fibonacci.py +0 -0
  24. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/1_explicit_use_case.py +0 -0
  25. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/2_direct_upload.py +0 -0
  26. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/3_openai_agent_tracing.py +0 -0
  27. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/noxfile.py +0 -0
  28. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/release-please-config.json +0 -0
  29. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/requirements-dev.lock +0 -0
  30. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/requirements.lock +0 -0
  31. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp/lib/.keep +0 -0
  32. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/__init__.py +0 -0
  33. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_base_client.py +0 -0
  34. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_compat.py +0 -0
  35. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_constants.py +0 -0
  36. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_exceptions.py +0 -0
  37. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_files.py +0 -0
  38. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_models.py +0 -0
  39. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_qs.py +0 -0
  40. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_resource.py +0 -0
  41. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_response.py +0 -0
  42. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_types.py +0 -0
  43. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/__init__.py +0 -0
  44. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_compat.py +0 -0
  45. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_datetime_parse.py +0 -0
  46. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_logs.py +0 -0
  47. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_proxy.py +0 -0
  48. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_reflection.py +0 -0
  49. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_resources_proxy.py +0 -0
  50. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_streams.py +0 -0
  51. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_sync.py +0 -0
  52. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_transform.py +0 -0
  53. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_typing.py +0 -0
  54. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_utils.py +0 -0
  55. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/.keep +0 -0
  56. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/CONTRIBUTING.MD +0 -0
  57. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/__init__.py +0 -0
  58. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/exceptions.py +0 -0
  59. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/__init__.py +0 -0
  60. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/openai/__init__.py +0 -0
  61. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/openai/openai_span_type_map.py +0 -0
  62. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/openai/openai_tracing_sgp_processor.py +0 -0
  63. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/openai/utils.py +0 -0
  64. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/scope.py +0 -0
  65. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/span.py +0 -0
  66. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace.py +0 -0
  67. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace_exporter.py +0 -0
  68. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace_queue_manager.py +0 -0
  69. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/tracing.py +0 -0
  70. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/types.py +0 -0
  71. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/util.py +0 -0
  72. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/pagination.py +0 -0
  73. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/py.typed +0 -0
  74. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/__init__.py +0 -0
  75. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/__init__.py +0 -0
  76. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/chat.py +0 -0
  77. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/completions.py +0 -0
  78. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/completions.py +0 -0
  79. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/credentials.py +0 -0
  80. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/dataset_items.py +0 -0
  81. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/datasets.py +0 -0
  82. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/evaluation_items.py +0 -0
  83. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/evaluations.py +0 -0
  84. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/__init__.py +0 -0
  85. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/content.py +0 -0
  86. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/files.py +0 -0
  87. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/inference.py +0 -0
  88. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/models.py +0 -0
  89. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/questions.py +0 -0
  90. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/responses.py +0 -0
  91. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/span_assessments.py +0 -0
  92. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/spans.py +0 -0
  93. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/approval_status.py +0 -0
  94. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/assessment_type.py +0 -0
  95. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_cancel_response.py +0 -0
  96. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_create_params.py +0 -0
  97. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_create_response.py +0 -0
  98. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_list_params.py +0 -0
  99. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_list_response.py +0 -0
  100. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_retrieve_response.py +0 -0
  101. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/__init__.py +0 -0
  102. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/chat_completion.py +0 -0
  103. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/chat_completion_chunk.py +0 -0
  104. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_create_params.py +0 -0
  105. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_create_response.py +0 -0
  106. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_models_params.py +0 -0
  107. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_models_response.py +0 -0
  108. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/model_definition.py +0 -0
  109. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/completion.py +0 -0
  110. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/completion_create_params.py +0 -0
  111. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/component.py +0 -0
  112. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/component_param.py +0 -0
  113. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/container.py +0 -0
  114. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/container_param.py +0 -0
  115. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential.py +0 -0
  116. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_create_params.py +0 -0
  117. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_delete_response.py +0 -0
  118. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_list_params.py +0 -0
  119. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_secret.py +0 -0
  120. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_update_params.py +0 -0
  121. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset.py +0 -0
  122. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_create_params.py +0 -0
  123. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_delete_response.py +0 -0
  124. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item.py +0 -0
  125. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_batch_create_params.py +0 -0
  126. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_batch_create_response.py +0 -0
  127. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_delete_response.py +0 -0
  128. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_list_params.py +0 -0
  129. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_retrieve_params.py +0 -0
  130. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_update_params.py +0 -0
  131. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_list_params.py +0 -0
  132. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_retrieve_params.py +0 -0
  133. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_update_params.py +0 -0
  134. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation.py +0 -0
  135. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_create_params.py +0 -0
  136. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_item.py +0 -0
  137. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_item_list_params.py +0 -0
  138. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_item_retrieve_params.py +0 -0
  139. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_list_params.py +0 -0
  140. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_retrieve_params.py +0 -0
  141. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_task.py +0 -0
  142. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_task_param.py +0 -0
  143. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_update_params.py +0 -0
  144. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file.py +0 -0
  145. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_create_params.py +0 -0
  146. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_delete_response.py +0 -0
  147. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_import_from_cloud_params.py +0 -0
  148. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_import_from_cloud_response.py +0 -0
  149. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_list_params.py +0 -0
  150. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_update_params.py +0 -0
  151. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/files/__init__.py +0 -0
  152. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_create_params.py +0 -0
  153. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_create_response.py +0 -0
  154. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_model.py +0 -0
  155. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_response.py +0 -0
  156. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_response_chunk.py +0 -0
  157. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/item_locator.py +0 -0
  158. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/item_locator_template.py +0 -0
  159. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_create_params.py +0 -0
  160. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_delete_response.py +0 -0
  161. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_list_params.py +0 -0
  162. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_update_params.py +0 -0
  163. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/question.py +0 -0
  164. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/question_create_params.py +0 -0
  165. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/question_list_params.py +0 -0
  166. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/response.py +0 -0
  167. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/response_create_params.py +0 -0
  168. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/response_create_response.py +0 -0
  169. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/shared/__init__.py +0 -0
  170. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/shared/identity.py +0 -0
  171. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span.py +0 -0
  172. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment.py +0 -0
  173. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_create_params.py +0 -0
  174. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_delete_response.py +0 -0
  175. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_list_params.py +0 -0
  176. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_update_params.py +0 -0
  177. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_batch_params.py +0 -0
  178. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_batch_response.py +0 -0
  179. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_create_params.py +0 -0
  180. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_search_params.py +0 -0
  181. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_status.py +0 -0
  182. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_type.py +0 -0
  183. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_update_params.py +0 -0
  184. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_upsert_batch_params.py +0 -0
  185. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_upsert_batch_response.py +0 -0
  186. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/sgp_dev/lib/.keep +0 -0
  187. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/__init__.py +0 -0
  188. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/__init__.py +0 -0
  189. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/chat/__init__.py +0 -0
  190. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/chat/test_completions.py +0 -0
  191. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/files/__init__.py +0 -0
  192. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/files/test_content.py +0 -0
  193. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_completions.py +0 -0
  194. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_credentials.py +0 -0
  195. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_dataset_items.py +0 -0
  196. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_datasets.py +0 -0
  197. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_evaluation_items.py +0 -0
  198. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_evaluations.py +0 -0
  199. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_files.py +0 -0
  200. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_inference.py +0 -0
  201. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_models.py +0 -0
  202. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_questions.py +0 -0
  203. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_responses.py +0 -0
  204. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_span_assessments.py +0 -0
  205. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_spans.py +0 -0
  206. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/conftest.py +0 -0
  207. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/integrations/__init__.py +0 -0
  208. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/integrations/openai/__init__.py +0 -0
  209. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/integrations/openai/test_utils.py +0 -0
  210. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_span.py +0 -0
  211. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_trace.py +0 -0
  212. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_trace_exporter.py +0 -0
  213. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_trace_queue_manager.py +0 -0
  214. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_tracing.py +0 -0
  215. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/sample_file.txt +0 -0
  216. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_deepcopy.py +0 -0
  217. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_extract_files.py +0 -0
  218. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_files.py +0 -0
  219. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_models.py +0 -0
  220. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_qs.py +0 -0
  221. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_required_args.py +0 -0
  222. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_response.py +0 -0
  223. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_streaming.py +0 -0
  224. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_transform.py +0 -0
  225. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_utils/test_datetime_parse.py +0 -0
  226. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_utils/test_proxy.py +0 -0
  227. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_utils/test_typing.py +0 -0
  228. {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.42"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.42 (2026-01-26)
4
+
5
+ Full Changelog: [v0.1.0-alpha.41...v0.1.0-alpha.42](https://github.com/scaleapi/sgp-python-beta/compare/v0.1.0-alpha.41...v0.1.0-alpha.42)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([1b421b2](https://github.com/scaleapi/sgp-python-beta/commit/1b421b2381966d00c5926e8edfca9bfcba828e52))
10
+ * **api:** manual updates ([1ebe3a3](https://github.com/scaleapi/sgp-python-beta/commit/1ebe3a390ebaa5062fa896d012e9ee2fba297b5a))
11
+
12
+
13
+ ### Chores
14
+
15
+ * **ci:** upgrade `actions/github-script` ([30143ce](https://github.com/scaleapi/sgp-python-beta/commit/30143ce61bcf4ae60f669aa45a77d008eabbce9b))
16
+
3
17
  ## 0.1.0-alpha.41 (2026-01-22)
4
18
 
5
19
  Full Changelog: [v0.1.0-alpha.40...v0.1.0-alpha.41](https://github.com/scaleapi/sgp-python-beta/compare/v0.1.0-alpha.40...v0.1.0-alpha.41)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: scale-gp-beta
3
- Version: 0.1.0a41
3
+ Version: 0.1.0a42
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
@@ -395,6 +395,44 @@ async def main() -> None:
395
395
  asyncio.run(main())
396
396
  ```
397
397
 
398
+ ## Streaming responses
399
+
400
+ We provide support for streaming responses using Server Side Events (SSE).
401
+
402
+ ```python
403
+ from scale_gp_beta import SGPClient
404
+
405
+ client = SGPClient(
406
+ account_id="My Account ID",
407
+ )
408
+
409
+ stream = client.chat.completions.create(
410
+ messages=[{"foo": "bar"}],
411
+ model="model",
412
+ stream=True,
413
+ )
414
+ for completion in stream:
415
+ print(completion)
416
+ ```
417
+
418
+ The async client uses the exact same interface.
419
+
420
+ ```python
421
+ from scale_gp_beta import AsyncSGPClient
422
+
423
+ client = AsyncSGPClient(
424
+ account_id="My Account ID",
425
+ )
426
+
427
+ stream = await client.chat.completions.create(
428
+ messages=[{"foo": "bar"}],
429
+ model="model",
430
+ stream=True,
431
+ )
432
+ async for completion in stream:
433
+ print(completion)
434
+ ```
435
+
398
436
  ## Using types
399
437
 
400
438
  Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
@@ -360,6 +360,44 @@ async def main() -> None:
360
360
  asyncio.run(main())
361
361
  ```
362
362
 
363
+ ## Streaming responses
364
+
365
+ We provide support for streaming responses using Server Side Events (SSE).
366
+
367
+ ```python
368
+ from scale_gp_beta import SGPClient
369
+
370
+ client = SGPClient(
371
+ account_id="My Account ID",
372
+ )
373
+
374
+ stream = client.chat.completions.create(
375
+ messages=[{"foo": "bar"}],
376
+ model="model",
377
+ stream=True,
378
+ )
379
+ for completion in stream:
380
+ print(completion)
381
+ ```
382
+
383
+ The async client uses the exact same interface.
384
+
385
+ ```python
386
+ from scale_gp_beta import AsyncSGPClient
387
+
388
+ client = AsyncSGPClient(
389
+ account_id="My Account ID",
390
+ )
391
+
392
+ stream = await client.chat.completions.create(
393
+ messages=[{"foo": "bar"}],
394
+ model="model",
395
+ stream=True,
396
+ )
397
+ async for completion in stream:
398
+ print(completion)
399
+ ```
400
+
363
401
  ## Using types
364
402
 
365
403
  Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
@@ -248,6 +248,7 @@ Types:
248
248
 
249
249
  ```python
250
250
  from scale_gp_beta.types import (
251
+ StreamChunk,
251
252
  BuildCreateResponse,
252
253
  BuildRetrieveResponse,
253
254
  BuildListResponse,
@@ -261,4 +262,4 @@ Methods:
261
262
  - <code title="get /v5/builds/{build_id}">client.build.<a href="./src/scale_gp_beta/resources/build.py">retrieve</a>(build_id) -> <a href="./src/scale_gp_beta/types/build_retrieve_response.py">BuildRetrieveResponse</a></code>
262
263
  - <code title="get /v5/builds">client.build.<a href="./src/scale_gp_beta/resources/build.py">list</a>(\*\*<a href="src/scale_gp_beta/types/build_list_params.py">params</a>) -> <a href="./src/scale_gp_beta/types/build_list_response.py">SyncCursorPage[BuildListResponse]</a></code>
263
264
  - <code title="post /v5/builds/{build_id}/cancel">client.build.<a href="./src/scale_gp_beta/resources/build.py">cancel</a>(build_id) -> <a href="./src/scale_gp_beta/types/build_cancel_response.py">BuildCancelResponse</a></code>
264
- - <code title="get /v5/builds/{build_id}/logs">client.build.<a href="./src/scale_gp_beta/resources/build.py">logs</a>(build_id) -> object</code>
265
+ - <code title="get /v5/builds/{build_id}/logs">client.build.<a href="./src/scale_gp_beta/resources/build.py">logs</a>(build_id) -> <a href="./src/scale_gp_beta/types/stream_chunk.py">StreamChunk</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "scale-gp-beta"
3
- version = "0.1.0-alpha.41"
3
+ version = "0.1.0-alpha.42"
4
4
  description = "The official Python library for the Scale GP API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -173,6 +173,8 @@ class SGPClient(SyncAPIClient):
173
173
  _strict_response_validation=_strict_response_validation,
174
174
  )
175
175
 
176
+ self._default_stream_cls = Stream
177
+
176
178
  @cached_property
177
179
  def responses(self) -> ResponsesResource:
178
180
  from .resources.responses import ResponsesResource
@@ -472,6 +474,8 @@ class AsyncSGPClient(AsyncAPIClient):
472
474
  _strict_response_validation=_strict_response_validation,
473
475
  )
474
476
 
477
+ self._default_stream_cls = AsyncStream
478
+
475
479
  @cached_property
476
480
  def responses(self) -> AsyncResponsesResource:
477
481
  from .resources.responses import AsyncResponsesResource
@@ -56,7 +56,8 @@ class Stream(Generic[_T]):
56
56
 
57
57
  try:
58
58
  for sse in iterator:
59
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
59
+ if sse.event is None:
60
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
60
61
  finally:
61
62
  # Ensure the response is closed even if the consumer doesn't read all data
62
63
  response.close()
@@ -120,7 +121,8 @@ class AsyncStream(Generic[_T]):
120
121
 
121
122
  try:
122
123
  async for sse in iterator:
123
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
124
+ if sse.event is None:
125
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
124
126
  finally:
125
127
  # Ensure the response is closed even if the consumer doesn't read all data
126
128
  await response.aclose()
@@ -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.41" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.42" # x-release-please-version
@@ -18,8 +18,10 @@ from .._response import (
18
18
  async_to_raw_response_wrapper,
19
19
  async_to_streamed_response_wrapper,
20
20
  )
21
+ from .._streaming import Stream, AsyncStream
21
22
  from ..pagination import SyncCursorPage, AsyncCursorPage
22
23
  from .._base_client import AsyncPaginator, make_request_options
24
+ from ..types.stream_chunk import StreamChunk
23
25
  from ..types.build_list_response import BuildListResponse
24
26
  from ..types.build_cancel_response import BuildCancelResponse
25
27
  from ..types.build_create_response import BuildCreateResponse
@@ -236,7 +238,7 @@ class BuildResource(SyncAPIResource):
236
238
  extra_query: Query | None = None,
237
239
  extra_body: Body | None = None,
238
240
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
239
- ) -> object:
241
+ ) -> Stream[StreamChunk]:
240
242
  """
241
243
  Stream build logs via Server-Sent Events (SSE).
242
244
 
@@ -259,7 +261,9 @@ class BuildResource(SyncAPIResource):
259
261
  options=make_request_options(
260
262
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
261
263
  ),
262
- cast_to=object,
264
+ cast_to=StreamChunk,
265
+ stream=True,
266
+ stream_cls=Stream[StreamChunk],
263
267
  )
264
268
 
265
269
 
@@ -471,7 +475,7 @@ class AsyncBuildResource(AsyncAPIResource):
471
475
  extra_query: Query | None = None,
472
476
  extra_body: Body | None = None,
473
477
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
474
- ) -> object:
478
+ ) -> AsyncStream[StreamChunk]:
475
479
  """
476
480
  Stream build logs via Server-Sent Events (SSE).
477
481
 
@@ -494,7 +498,9 @@ class AsyncBuildResource(AsyncAPIResource):
494
498
  options=make_request_options(
495
499
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
496
500
  ),
497
- cast_to=object,
501
+ cast_to=StreamChunk,
502
+ stream=True,
503
+ stream_cls=AsyncStream[StreamChunk],
498
504
  )
499
505
 
500
506
 
@@ -19,6 +19,7 @@ from .evaluation import Evaluation as Evaluation
19
19
  from .span_status import SpanStatus as SpanStatus
20
20
  from .dataset_item import DatasetItem as DatasetItem
21
21
  from .item_locator import ItemLocator as ItemLocator
22
+ from .stream_chunk import StreamChunk as StreamChunk
22
23
  from .approval_status import ApprovalStatus as ApprovalStatus
23
24
  from .assessment_type import AssessmentType as AssessmentType
24
25
  from .component_param import ComponentParam as ComponentParam
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .._models import BaseModel
4
+
5
+ __all__ = ["StreamChunk"]
6
+
7
+
8
+ class StreamChunk(BaseModel):
9
+ """A single log line from the build process."""
10
+
11
+ line: str
12
+ """The log line content"""
@@ -181,10 +181,10 @@ class TestBuild:
181
181
 
182
182
  @parametrize
183
183
  def test_method_logs(self, client: SGPClient) -> None:
184
- build = client.build.logs(
184
+ build_stream = client.build.logs(
185
185
  "build_id",
186
186
  )
187
- assert_matches_type(object, build, path=["response"])
187
+ build_stream.response.close()
188
188
 
189
189
  @parametrize
190
190
  def test_raw_response_logs(self, client: SGPClient) -> None:
@@ -192,10 +192,9 @@ class TestBuild:
192
192
  "build_id",
193
193
  )
194
194
 
195
- assert response.is_closed is True
196
195
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
197
- build = response.parse()
198
- assert_matches_type(object, build, path=["response"])
196
+ stream = response.parse()
197
+ stream.close()
199
198
 
200
199
  @parametrize
201
200
  def test_streaming_response_logs(self, client: SGPClient) -> None:
@@ -205,8 +204,8 @@ class TestBuild:
205
204
  assert not response.is_closed
206
205
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
207
206
 
208
- build = response.parse()
209
- assert_matches_type(object, build, path=["response"])
207
+ stream = response.parse()
208
+ stream.close()
210
209
 
211
210
  assert cast(Any, response.is_closed) is True
212
211
 
@@ -381,10 +380,10 @@ class TestAsyncBuild:
381
380
 
382
381
  @parametrize
383
382
  async def test_method_logs(self, async_client: AsyncSGPClient) -> None:
384
- build = await async_client.build.logs(
383
+ build_stream = await async_client.build.logs(
385
384
  "build_id",
386
385
  )
387
- assert_matches_type(object, build, path=["response"])
386
+ await build_stream.response.aclose()
388
387
 
389
388
  @parametrize
390
389
  async def test_raw_response_logs(self, async_client: AsyncSGPClient) -> None:
@@ -392,10 +391,9 @@ class TestAsyncBuild:
392
391
  "build_id",
393
392
  )
394
393
 
395
- assert response.is_closed is True
396
394
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
397
- build = await response.parse()
398
- assert_matches_type(object, build, path=["response"])
395
+ stream = await response.parse()
396
+ await stream.close()
399
397
 
400
398
  @parametrize
401
399
  async def test_streaming_response_logs(self, async_client: AsyncSGPClient) -> None:
@@ -405,8 +403,8 @@ class TestAsyncBuild:
405
403
  assert not response.is_closed
406
404
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
407
405
 
408
- build = await response.parse()
409
- assert_matches_type(object, build, path=["response"])
406
+ stream = await response.parse()
407
+ await stream.close()
410
408
 
411
409
  assert cast(Any, response.is_closed) is True
412
410
 
@@ -23,6 +23,7 @@ from scale_gp_beta import SGPClient, AsyncSGPClient, APIResponseValidationError
23
23
  from scale_gp_beta._types import Omit
24
24
  from scale_gp_beta._utils import asyncify
25
25
  from scale_gp_beta._models import BaseModel, FinalRequestOptions
26
+ from scale_gp_beta._streaming import Stream, AsyncStream
26
27
  from scale_gp_beta._exceptions import APIStatusError, SGPClientError, APITimeoutError, APIResponseValidationError
27
28
  from scale_gp_beta._base_client import (
28
29
  DEFAULT_TIMEOUT,
@@ -891,6 +892,17 @@ class TestSGPClient:
891
892
  max_retries=cast(Any, None),
892
893
  )
893
894
 
895
+ @pytest.mark.respx(base_url=base_url)
896
+ def test_default_stream_cls(self, respx_mock: MockRouter, client: SGPClient) -> None:
897
+ class Model(BaseModel):
898
+ name: str
899
+
900
+ respx_mock.post("/foo").mock(return_value=httpx.Response(200, json={"foo": "bar"}))
901
+
902
+ stream = client.post("/foo", cast_to=Model, stream=True, stream_cls=Stream[Model])
903
+ assert isinstance(stream, Stream)
904
+ stream.response.close()
905
+
894
906
  @pytest.mark.respx(base_url=base_url)
895
907
  def test_received_text_for_expected_json(self, respx_mock: MockRouter) -> None:
896
908
  class Model(BaseModel):
@@ -1881,6 +1893,17 @@ class TestAsyncSGPClient:
1881
1893
  max_retries=cast(Any, None),
1882
1894
  )
1883
1895
 
1896
+ @pytest.mark.respx(base_url=base_url)
1897
+ async def test_default_stream_cls(self, respx_mock: MockRouter, async_client: AsyncSGPClient) -> None:
1898
+ class Model(BaseModel):
1899
+ name: str
1900
+
1901
+ respx_mock.post("/foo").mock(return_value=httpx.Response(200, json={"foo": "bar"}))
1902
+
1903
+ stream = await async_client.post("/foo", cast_to=Model, stream=True, stream_cls=AsyncStream[Model])
1904
+ assert isinstance(stream, AsyncStream)
1905
+ await stream.response.aclose()
1906
+
1884
1907
  @pytest.mark.respx(base_url=base_url)
1885
1908
  async def test_received_text_for_expected_json(self, respx_mock: MockRouter) -> None:
1886
1909
  class Model(BaseModel):
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.1.0-alpha.41"
3
- }