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.
- scale_gp_beta-0.1.0a42/.release-please-manifest.json +3 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/CHANGELOG.md +14 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/PKG-INFO +39 -1
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/README.md +38 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/api.md +2 -1
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/pyproject.toml +1 -1
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_client.py +4 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_streaming.py +4 -2
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_version.py +1 -1
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/build.py +10 -4
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/__init__.py +1 -0
- scale_gp_beta-0.1.0a42/src/scale_gp_beta/types/stream_chunk.py +12 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_build.py +12 -14
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_client.py +23 -0
- scale_gp_beta-0.1.0a41/.release-please-manifest.json +0 -3
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/.gitignore +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/CONTRIBUTING.md +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/LICENSE +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/SECURITY.md +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/bin/check-release-environment +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/bin/publish-pypi +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/.keep +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/0_primitives_fibonacci.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/1_explicit_use_case.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/2_direct_upload.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/3_openai_agent_tracing.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/noxfile.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/release-please-config.json +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/requirements-dev.lock +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/requirements.lock +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp/lib/.keep +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_base_client.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_compat.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_constants.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_exceptions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_files.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_models.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_qs.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_resource.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_types.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_compat.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_datetime_parse.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_logs.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_proxy.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_reflection.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_resources_proxy.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_streams.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_sync.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_transform.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_typing.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_utils.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/.keep +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/CONTRIBUTING.MD +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/exceptions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/openai/__init__.py +0 -0
- {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
- {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
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/integrations/openai/utils.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/scope.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/span.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace_exporter.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace_queue_manager.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/tracing.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/types.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/util.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/pagination.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/py.typed +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/chat.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/completions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/completions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/credentials.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/dataset_items.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/datasets.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/evaluation_items.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/evaluations.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/content.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/files.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/inference.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/models.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/questions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/responses.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/span_assessments.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/spans.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/approval_status.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/assessment_type.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_cancel_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_create_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_list_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_retrieve_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/chat_completion.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/chat_completion_chunk.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_create_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_models_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/completion_models_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/model_definition.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/completion.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/completion_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/component.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/component_param.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/container.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/container_param.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_delete_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_secret.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/credential_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_delete_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item.py +0 -0
- {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
- {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
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_delete_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_retrieve_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_item_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_retrieve_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/dataset_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_item.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_item_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_item_retrieve_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_retrieve_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_task.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_task_param.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/evaluation_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_delete_response.py +0 -0
- {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
- {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
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/file_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/files/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_create_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_model.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/inference_response_chunk.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/item_locator.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/item_locator_template.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_delete_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/model_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/question.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/question_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/question_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/response_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/response_create_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/shared/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/shared/identity.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_delete_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_list_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_assessment_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_batch_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_batch_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_create_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_search_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_status.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_type.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_update_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_upsert_batch_params.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/span_upsert_batch_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/sgp_dev/lib/.keep +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/chat/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/chat/test_completions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/files/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/files/test_content.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_completions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_credentials.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_dataset_items.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_datasets.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_evaluation_items.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_evaluations.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_files.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_inference.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_models.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_questions.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_responses.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_span_assessments.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/api_resources/test_spans.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/conftest.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/integrations/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/integrations/openai/__init__.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/integrations/openai/test_utils.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_span.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_trace.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_trace_exporter.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_trace_queue_manager.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/lib/tracing/test_tracing.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/sample_file.txt +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_deepcopy.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_extract_files.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_files.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_models.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_qs.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_required_args.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_response.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_streaming.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_transform.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_utils/test_datetime_parse.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_utils/test_proxy.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/test_utils/test_typing.py +0 -0
- {scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/tests/utils.py +0 -0
|
@@ -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.
|
|
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) ->
|
|
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>
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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()
|
|
@@ -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
|
-
) ->
|
|
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=
|
|
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
|
-
) ->
|
|
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=
|
|
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
|
-
|
|
184
|
+
build_stream = client.build.logs(
|
|
185
185
|
"build_id",
|
|
186
186
|
)
|
|
187
|
-
|
|
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
|
-
|
|
198
|
-
|
|
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
|
-
|
|
209
|
-
|
|
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
|
-
|
|
383
|
+
build_stream = await async_client.build.logs(
|
|
385
384
|
"build_id",
|
|
386
385
|
)
|
|
387
|
-
|
|
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
|
-
|
|
398
|
-
|
|
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
|
-
|
|
409
|
-
|
|
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):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/0_primitives_fibonacci.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/examples/tracing/3_openai_agent_tracing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_datetime_parse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/_utils/_resources_proxy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/lib/tracing/trace_exporter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/chat/completions.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/completions.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/credentials.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/dataset_items.py
RENAMED
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/evaluation_items.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/evaluations.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/__init__.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/content.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/files/files.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/resources/span_assessments.py
RENAMED
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/approval_status.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/assessment_type.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_cancel_response.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_create_params.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_create_response.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_list_params.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_list_response.py
RENAMED
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/build_retrieve_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{scale_gp_beta-0.1.0a41 → scale_gp_beta-0.1.0a42}/src/scale_gp_beta/types/chat/chat_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|