studyfetch-sdk 0.1.0a7__tar.gz → 0.1.0a9__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.
- studyfetch_sdk-0.1.0a9/.release-please-manifest.json +3 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/CHANGELOG.md +17 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/PKG-INFO +56 -11
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/README.md +55 -10
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/api.md +0 -6
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/pyproject.toml +1 -1
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_version.py +1 -1
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/__init__.py +0 -14
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/v1.py +0 -32
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_client.py +53 -27
- studyfetch_sdk-0.1.0a7/.release-please-manifest.json +0 -3
- studyfetch_sdk-0.1.0a7/src/studyfetch_sdk/resources/v1/auth/__init__.py +0 -19
- studyfetch_sdk-0.1.0a7/src/studyfetch_sdk/resources/v1/auth/auth.py +0 -136
- studyfetch_sdk-0.1.0a7/src/studyfetch_sdk/types/v1/upload/__init__.py +0 -3
- studyfetch_sdk-0.1.0a7/tests/api_resources/v1/test_auth.py +0 -78
- studyfetch_sdk-0.1.0a7/tests/api_resources/v1/upload/__init__.py +0 -1
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/.gitignore +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/CONTRIBUTING.md +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/LICENSE +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/SECURITY.md +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/bin/check-release-environment +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/bin/publish-pypi +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/examples/.keep +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/mypy.ini +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/noxfile.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/release-please-config.json +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/requirements-dev.lock +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/requirements.lock +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_base_client.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_client.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_compat.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_constants.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_exceptions.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_files.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_models.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_qs.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_resource.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_streaming.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_types.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_logs.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_proxy.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_reflection.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_resources_proxy.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_streams.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_sync.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_transform.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_typing.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/_utils/_utils.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/lib/.keep +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/py.typed +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/audio_recaps/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/audio_recaps/audio_recaps.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/audio_recaps/sections.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/chat/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/chat/chat.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/chat/sessions.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/chat/test.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/components.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/embed/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/embed/component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/embed/embed.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/explainers.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/flashcards.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/folders.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/materials/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/materials/bulk.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/materials/materials.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/materials/test.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/materials/upload.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/scenarios.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/sessions.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/submissions/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/submissions/submissions.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/scenarios/submissions/user.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/tests/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/tests/component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/tests/tests.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/upload/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/upload/component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/upload/upload.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/usage.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/audio_recaps/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/chat/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/chat/session_retrieve_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/chat_get_session_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/chat_send_message_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/chat_stream_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component_generate_embed_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component_generate_embed_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component_list_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component_list_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/component_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/embed/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/embed/component_interact_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/embed/component_retrieve_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/embed_get_theme_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/embed_verify_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/explainer_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/explainer_handle_webhook_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_batch_process_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_batch_process_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_get_algorithm_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_get_all_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_get_due_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_get_stats_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_get_types_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/flashcard_rate_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/folder_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/folder_list_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/folder_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/material.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/material_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/material_get_download_url_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/material_list_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/material_list_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/materials/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/materials/upload_upload_file_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/materials/upload_upload_from_url_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/scenario_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/scenario_submit_answer_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/scenario_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/scenarios/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/scenarios/component_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a7/src/studyfetch_sdk/types/v1/auth → studyfetch_sdk-0.1.0a9/src/studyfetch_sdk/types/v1/scenarios/submissions}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/test_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/test_retake_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/test_submit_answer_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/test_submit_params.py +0 -0
- {studyfetch_sdk-0.1.0a7/src/studyfetch_sdk/types/v1/scenarios/submissions → studyfetch_sdk-0.1.0a9/src/studyfetch_sdk/types/v1/tests}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7/src/studyfetch_sdk/types/v1/tests → studyfetch_sdk-0.1.0a9/src/studyfetch_sdk/types/v1/upload}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/usage_get_stats_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/usage_get_summary_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/types/v1/usage_list_events_params.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/audio_recaps/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/audio_recaps/test_sections.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/auth → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/chat}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/chat/test_sessions.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/chat/test_test.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/chat → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/embed}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/embed/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/embed → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/materials}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/materials/test_bulk.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/materials/test_test.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/materials/test_upload.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/materials → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/scenarios}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/scenarios → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/scenarios/submissions}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/scenarios/submissions/test_user.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/scenarios/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/scenarios/test_sessions.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_audio_recaps.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_chat.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_components.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_embed.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_explainers.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_flashcards.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_folders.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_materials.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_scenarios.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_tests.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/test_usage.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/scenarios/submissions → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/tests}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/tests/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a7/tests/api_resources/v1/tests → studyfetch_sdk-0.1.0a9/tests/api_resources/v1/upload}/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/api_resources/v1/upload/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/conftest.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/sample_file.txt +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_deepcopy.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_extract_files.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_files.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_models.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_qs.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_required_args.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_response.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_streaming.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_transform.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_utils/test_proxy.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/test_utils/test_typing.py +0 -0
- {studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/tests/utils.py +0 -0
@@ -1,5 +1,22 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.1.0-alpha.9 (2025-07-20)
|
4
|
+
|
5
|
+
Full Changelog: [v0.1.0-alpha.8...v0.1.0-alpha.9](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.8...v0.1.0-alpha.9)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* **api:** api update ([adcb732](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/adcb7325f9e331c70f4ba71de059939e03cadf78))
|
10
|
+
* **api:** manual updates ([408618b](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/408618bebe1563c23e1470cc83973cf7008a5806))
|
11
|
+
|
12
|
+
## 0.1.0-alpha.8 (2025-07-20)
|
13
|
+
|
14
|
+
Full Changelog: [v0.1.0-alpha.7...v0.1.0-alpha.8](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.7...v0.1.0-alpha.8)
|
15
|
+
|
16
|
+
### Features
|
17
|
+
|
18
|
+
* **api:** manual updates ([6331341](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/63313410e46079f81432e5e9a882961897d73774))
|
19
|
+
|
3
20
|
## 0.1.0-alpha.7 (2025-07-20)
|
4
21
|
|
5
22
|
Full Changelog: [v0.1.0-alpha.6...v0.1.0-alpha.7](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.6...v0.1.0-alpha.7)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: studyfetch_sdk
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.0a9
|
4
4
|
Summary: The official Python library for the studyfetch-sdk API
|
5
5
|
Project-URL: Homepage, https://github.com/GoStudyFetchGo/studyfetch-sdk-python
|
6
6
|
Project-URL: Repository, https://github.com/GoStudyFetchGo/studyfetch-sdk-python
|
@@ -67,7 +67,13 @@ client = StudyfetchSDK(
|
|
67
67
|
api_key=os.environ.get("STUDYFETCH_SDK_API_KEY"), # This is the default and can be omitted
|
68
68
|
)
|
69
69
|
|
70
|
-
client.v1.
|
70
|
+
component = client.v1.components.create(
|
71
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
72
|
+
name="My Study Component",
|
73
|
+
origin="api",
|
74
|
+
type="flashcards",
|
75
|
+
)
|
76
|
+
print(component._id)
|
71
77
|
```
|
72
78
|
|
73
79
|
While you can provide an `api_key` keyword argument,
|
@@ -90,7 +96,13 @@ client = AsyncStudyfetchSDK(
|
|
90
96
|
|
91
97
|
|
92
98
|
async def main() -> None:
|
93
|
-
await client.v1.
|
99
|
+
component = await client.v1.components.create(
|
100
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
101
|
+
name="My Study Component",
|
102
|
+
origin="api",
|
103
|
+
type="flashcards",
|
104
|
+
)
|
105
|
+
print(component._id)
|
94
106
|
|
95
107
|
|
96
108
|
asyncio.run(main())
|
@@ -122,7 +134,13 @@ async def main() -> None:
|
|
122
134
|
api_key="My API Key",
|
123
135
|
http_client=DefaultAioHttpClient(),
|
124
136
|
) as client:
|
125
|
-
await client.v1.
|
137
|
+
component = await client.v1.components.create(
|
138
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
139
|
+
name="My Study Component",
|
140
|
+
origin="api",
|
141
|
+
type="flashcards",
|
142
|
+
)
|
143
|
+
print(component._id)
|
126
144
|
|
127
145
|
|
128
146
|
asyncio.run(main())
|
@@ -187,7 +205,12 @@ from studyfetch_sdk import StudyfetchSDK
|
|
187
205
|
client = StudyfetchSDK()
|
188
206
|
|
189
207
|
try:
|
190
|
-
client.v1.
|
208
|
+
client.v1.components.create(
|
209
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
210
|
+
name="My Study Component",
|
211
|
+
origin="api",
|
212
|
+
type="flashcards",
|
213
|
+
)
|
191
214
|
except studyfetch_sdk.APIConnectionError as e:
|
192
215
|
print("The server could not be reached")
|
193
216
|
print(e.__cause__) # an underlying Exception, likely raised within httpx.
|
@@ -230,7 +253,12 @@ client = StudyfetchSDK(
|
|
230
253
|
)
|
231
254
|
|
232
255
|
# Or, configure per-request:
|
233
|
-
client.with_options(max_retries=5).v1.
|
256
|
+
client.with_options(max_retries=5).v1.components.create(
|
257
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
258
|
+
name="My Study Component",
|
259
|
+
origin="api",
|
260
|
+
type="flashcards",
|
261
|
+
)
|
234
262
|
```
|
235
263
|
|
236
264
|
### Timeouts
|
@@ -253,7 +281,12 @@ client = StudyfetchSDK(
|
|
253
281
|
)
|
254
282
|
|
255
283
|
# Override per-request:
|
256
|
-
client.with_options(timeout=5.0).v1.
|
284
|
+
client.with_options(timeout=5.0).v1.components.create(
|
285
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
286
|
+
name="My Study Component",
|
287
|
+
origin="api",
|
288
|
+
type="flashcards",
|
289
|
+
)
|
257
290
|
```
|
258
291
|
|
259
292
|
On timeout, an `APITimeoutError` is thrown.
|
@@ -294,11 +327,18 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
|
|
294
327
|
from studyfetch_sdk import StudyfetchSDK
|
295
328
|
|
296
329
|
client = StudyfetchSDK()
|
297
|
-
response = client.v1.
|
330
|
+
response = client.v1.components.with_raw_response.create(
|
331
|
+
config={
|
332
|
+
"model": "gpt-4o-mini-2024-07-18"
|
333
|
+
},
|
334
|
+
name="My Study Component",
|
335
|
+
origin="api",
|
336
|
+
type="flashcards",
|
337
|
+
)
|
298
338
|
print(response.headers.get('X-My-Header'))
|
299
339
|
|
300
|
-
|
301
|
-
print(
|
340
|
+
component = response.parse() # get the object that `v1.components.create()` would have returned
|
341
|
+
print(component._id)
|
302
342
|
```
|
303
343
|
|
304
344
|
These methods return an [`APIResponse`](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/tree/main/src/studyfetch_sdk/_response.py) object.
|
@@ -312,7 +352,12 @@ The above interface eagerly reads the full response body when you make the reque
|
|
312
352
|
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
|
313
353
|
|
314
354
|
```python
|
315
|
-
with client.v1.
|
355
|
+
with client.v1.components.with_streaming_response.create(
|
356
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
357
|
+
name="My Study Component",
|
358
|
+
origin="api",
|
359
|
+
type="flashcards",
|
360
|
+
) as response:
|
316
361
|
print(response.headers.get("X-My-Header"))
|
317
362
|
|
318
363
|
for line in response.iter_lines():
|
@@ -32,7 +32,13 @@ client = StudyfetchSDK(
|
|
32
32
|
api_key=os.environ.get("STUDYFETCH_SDK_API_KEY"), # This is the default and can be omitted
|
33
33
|
)
|
34
34
|
|
35
|
-
client.v1.
|
35
|
+
component = client.v1.components.create(
|
36
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
37
|
+
name="My Study Component",
|
38
|
+
origin="api",
|
39
|
+
type="flashcards",
|
40
|
+
)
|
41
|
+
print(component._id)
|
36
42
|
```
|
37
43
|
|
38
44
|
While you can provide an `api_key` keyword argument,
|
@@ -55,7 +61,13 @@ client = AsyncStudyfetchSDK(
|
|
55
61
|
|
56
62
|
|
57
63
|
async def main() -> None:
|
58
|
-
await client.v1.
|
64
|
+
component = await client.v1.components.create(
|
65
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
66
|
+
name="My Study Component",
|
67
|
+
origin="api",
|
68
|
+
type="flashcards",
|
69
|
+
)
|
70
|
+
print(component._id)
|
59
71
|
|
60
72
|
|
61
73
|
asyncio.run(main())
|
@@ -87,7 +99,13 @@ async def main() -> None:
|
|
87
99
|
api_key="My API Key",
|
88
100
|
http_client=DefaultAioHttpClient(),
|
89
101
|
) as client:
|
90
|
-
await client.v1.
|
102
|
+
component = await client.v1.components.create(
|
103
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
104
|
+
name="My Study Component",
|
105
|
+
origin="api",
|
106
|
+
type="flashcards",
|
107
|
+
)
|
108
|
+
print(component._id)
|
91
109
|
|
92
110
|
|
93
111
|
asyncio.run(main())
|
@@ -152,7 +170,12 @@ from studyfetch_sdk import StudyfetchSDK
|
|
152
170
|
client = StudyfetchSDK()
|
153
171
|
|
154
172
|
try:
|
155
|
-
client.v1.
|
173
|
+
client.v1.components.create(
|
174
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
175
|
+
name="My Study Component",
|
176
|
+
origin="api",
|
177
|
+
type="flashcards",
|
178
|
+
)
|
156
179
|
except studyfetch_sdk.APIConnectionError as e:
|
157
180
|
print("The server could not be reached")
|
158
181
|
print(e.__cause__) # an underlying Exception, likely raised within httpx.
|
@@ -195,7 +218,12 @@ client = StudyfetchSDK(
|
|
195
218
|
)
|
196
219
|
|
197
220
|
# Or, configure per-request:
|
198
|
-
client.with_options(max_retries=5).v1.
|
221
|
+
client.with_options(max_retries=5).v1.components.create(
|
222
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
223
|
+
name="My Study Component",
|
224
|
+
origin="api",
|
225
|
+
type="flashcards",
|
226
|
+
)
|
199
227
|
```
|
200
228
|
|
201
229
|
### Timeouts
|
@@ -218,7 +246,12 @@ client = StudyfetchSDK(
|
|
218
246
|
)
|
219
247
|
|
220
248
|
# Override per-request:
|
221
|
-
client.with_options(timeout=5.0).v1.
|
249
|
+
client.with_options(timeout=5.0).v1.components.create(
|
250
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
251
|
+
name="My Study Component",
|
252
|
+
origin="api",
|
253
|
+
type="flashcards",
|
254
|
+
)
|
222
255
|
```
|
223
256
|
|
224
257
|
On timeout, an `APITimeoutError` is thrown.
|
@@ -259,11 +292,18 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
|
|
259
292
|
from studyfetch_sdk import StudyfetchSDK
|
260
293
|
|
261
294
|
client = StudyfetchSDK()
|
262
|
-
response = client.v1.
|
295
|
+
response = client.v1.components.with_raw_response.create(
|
296
|
+
config={
|
297
|
+
"model": "gpt-4o-mini-2024-07-18"
|
298
|
+
},
|
299
|
+
name="My Study Component",
|
300
|
+
origin="api",
|
301
|
+
type="flashcards",
|
302
|
+
)
|
263
303
|
print(response.headers.get('X-My-Header'))
|
264
304
|
|
265
|
-
|
266
|
-
print(
|
305
|
+
component = response.parse() # get the object that `v1.components.create()` would have returned
|
306
|
+
print(component._id)
|
267
307
|
```
|
268
308
|
|
269
309
|
These methods return an [`APIResponse`](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/tree/main/src/studyfetch_sdk/_response.py) object.
|
@@ -277,7 +317,12 @@ The above interface eagerly reads the full response body when you make the reque
|
|
277
317
|
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
|
278
318
|
|
279
319
|
```python
|
280
|
-
with client.v1.
|
320
|
+
with client.v1.components.with_streaming_response.create(
|
321
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
322
|
+
name="My Study Component",
|
323
|
+
origin="api",
|
324
|
+
type="flashcards",
|
325
|
+
) as response:
|
281
326
|
print(response.headers.get("X-My-Header"))
|
282
327
|
|
283
328
|
for line in response.iter_lines():
|
{studyfetch_sdk-0.1.0a7 → studyfetch_sdk-0.1.0a9}/src/studyfetch_sdk/resources/v1/__init__.py
RENAMED
@@ -8,14 +8,6 @@ from .v1 import (
|
|
8
8
|
V1ResourceWithStreamingResponse,
|
9
9
|
AsyncV1ResourceWithStreamingResponse,
|
10
10
|
)
|
11
|
-
from .auth import (
|
12
|
-
AuthResource,
|
13
|
-
AsyncAuthResource,
|
14
|
-
AuthResourceWithRawResponse,
|
15
|
-
AsyncAuthResourceWithRawResponse,
|
16
|
-
AuthResourceWithStreamingResponse,
|
17
|
-
AsyncAuthResourceWithStreamingResponse,
|
18
|
-
)
|
19
11
|
from .chat import (
|
20
12
|
ChatResource,
|
21
13
|
AsyncChatResource,
|
@@ -114,12 +106,6 @@ from .audio_recaps import (
|
|
114
106
|
)
|
115
107
|
|
116
108
|
__all__ = [
|
117
|
-
"AuthResource",
|
118
|
-
"AsyncAuthResource",
|
119
|
-
"AuthResourceWithRawResponse",
|
120
|
-
"AsyncAuthResourceWithRawResponse",
|
121
|
-
"AuthResourceWithStreamingResponse",
|
122
|
-
"AsyncAuthResourceWithStreamingResponse",
|
123
109
|
"MaterialsResource",
|
124
110
|
"AsyncMaterialsResource",
|
125
111
|
"MaterialsResourceWithRawResponse",
|
@@ -19,14 +19,6 @@ from .folders import (
|
|
19
19
|
AsyncFoldersResourceWithStreamingResponse,
|
20
20
|
)
|
21
21
|
from ..._compat import cached_property
|
22
|
-
from .auth.auth import (
|
23
|
-
AuthResource,
|
24
|
-
AsyncAuthResource,
|
25
|
-
AuthResourceWithRawResponse,
|
26
|
-
AsyncAuthResourceWithRawResponse,
|
27
|
-
AuthResourceWithStreamingResponse,
|
28
|
-
AsyncAuthResourceWithStreamingResponse,
|
29
|
-
)
|
30
22
|
from .chat.chat import (
|
31
23
|
ChatResource,
|
32
24
|
AsyncChatResource,
|
@@ -113,10 +105,6 @@ __all__ = ["V1Resource", "AsyncV1Resource"]
|
|
113
105
|
|
114
106
|
|
115
107
|
class V1Resource(SyncAPIResource):
|
116
|
-
@cached_property
|
117
|
-
def auth(self) -> AuthResource:
|
118
|
-
return AuthResource(self._client)
|
119
|
-
|
120
108
|
@cached_property
|
121
109
|
def materials(self) -> MaterialsResource:
|
122
110
|
return MaterialsResource(self._client)
|
@@ -186,10 +174,6 @@ class V1Resource(SyncAPIResource):
|
|
186
174
|
|
187
175
|
|
188
176
|
class AsyncV1Resource(AsyncAPIResource):
|
189
|
-
@cached_property
|
190
|
-
def auth(self) -> AsyncAuthResource:
|
191
|
-
return AsyncAuthResource(self._client)
|
192
|
-
|
193
177
|
@cached_property
|
194
178
|
def materials(self) -> AsyncMaterialsResource:
|
195
179
|
return AsyncMaterialsResource(self._client)
|
@@ -262,10 +246,6 @@ class V1ResourceWithRawResponse:
|
|
262
246
|
def __init__(self, v1: V1Resource) -> None:
|
263
247
|
self._v1 = v1
|
264
248
|
|
265
|
-
@cached_property
|
266
|
-
def auth(self) -> AuthResourceWithRawResponse:
|
267
|
-
return AuthResourceWithRawResponse(self._v1.auth)
|
268
|
-
|
269
249
|
@cached_property
|
270
250
|
def materials(self) -> MaterialsResourceWithRawResponse:
|
271
251
|
return MaterialsResourceWithRawResponse(self._v1.materials)
|
@@ -319,10 +299,6 @@ class AsyncV1ResourceWithRawResponse:
|
|
319
299
|
def __init__(self, v1: AsyncV1Resource) -> None:
|
320
300
|
self._v1 = v1
|
321
301
|
|
322
|
-
@cached_property
|
323
|
-
def auth(self) -> AsyncAuthResourceWithRawResponse:
|
324
|
-
return AsyncAuthResourceWithRawResponse(self._v1.auth)
|
325
|
-
|
326
302
|
@cached_property
|
327
303
|
def materials(self) -> AsyncMaterialsResourceWithRawResponse:
|
328
304
|
return AsyncMaterialsResourceWithRawResponse(self._v1.materials)
|
@@ -376,10 +352,6 @@ class V1ResourceWithStreamingResponse:
|
|
376
352
|
def __init__(self, v1: V1Resource) -> None:
|
377
353
|
self._v1 = v1
|
378
354
|
|
379
|
-
@cached_property
|
380
|
-
def auth(self) -> AuthResourceWithStreamingResponse:
|
381
|
-
return AuthResourceWithStreamingResponse(self._v1.auth)
|
382
|
-
|
383
355
|
@cached_property
|
384
356
|
def materials(self) -> MaterialsResourceWithStreamingResponse:
|
385
357
|
return MaterialsResourceWithStreamingResponse(self._v1.materials)
|
@@ -433,10 +405,6 @@ class AsyncV1ResourceWithStreamingResponse:
|
|
433
405
|
def __init__(self, v1: AsyncV1Resource) -> None:
|
434
406
|
self._v1 = v1
|
435
407
|
|
436
|
-
@cached_property
|
437
|
-
def auth(self) -> AsyncAuthResourceWithStreamingResponse:
|
438
|
-
return AsyncAuthResourceWithStreamingResponse(self._v1.auth)
|
439
|
-
|
440
408
|
@cached_property
|
441
409
|
def materials(self) -> AsyncMaterialsResourceWithStreamingResponse:
|
442
410
|
return AsyncMaterialsResourceWithStreamingResponse(self._v1.materials)
|
@@ -724,22 +724,24 @@ class TestStudyfetchSDK:
|
|
724
724
|
@mock.patch("studyfetch_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
|
725
725
|
@pytest.mark.respx(base_url=base_url)
|
726
726
|
def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter, client: StudyfetchSDK) -> None:
|
727
|
-
respx_mock.post("/api/v1/
|
728
|
-
side_effect=httpx.TimeoutException("Test timeout error")
|
729
|
-
)
|
727
|
+
respx_mock.post("/api/v1/components").mock(side_effect=httpx.TimeoutException("Test timeout error"))
|
730
728
|
|
731
729
|
with pytest.raises(APITimeoutError):
|
732
|
-
client.v1.
|
730
|
+
client.v1.components.with_streaming_response.create(
|
731
|
+
config={"model": "gpt-4o-mini-2024-07-18"}, name="My Study Component", origin="chat", type="chat"
|
732
|
+
).__enter__()
|
733
733
|
|
734
734
|
assert _get_open_connections(self.client) == 0
|
735
735
|
|
736
736
|
@mock.patch("studyfetch_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
|
737
737
|
@pytest.mark.respx(base_url=base_url)
|
738
738
|
def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, client: StudyfetchSDK) -> None:
|
739
|
-
respx_mock.post("/api/v1/
|
739
|
+
respx_mock.post("/api/v1/components").mock(return_value=httpx.Response(500))
|
740
740
|
|
741
741
|
with pytest.raises(APIStatusError):
|
742
|
-
client.v1.
|
742
|
+
client.v1.components.with_streaming_response.create(
|
743
|
+
config={"model": "gpt-4o-mini-2024-07-18"}, name="My Study Component", origin="chat", type="chat"
|
744
|
+
).__enter__()
|
743
745
|
assert _get_open_connections(self.client) == 0
|
744
746
|
|
745
747
|
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
|
@@ -766,9 +768,11 @@ class TestStudyfetchSDK:
|
|
766
768
|
return httpx.Response(500)
|
767
769
|
return httpx.Response(200)
|
768
770
|
|
769
|
-
respx_mock.post("/api/v1/
|
771
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
770
772
|
|
771
|
-
response = client.v1.
|
773
|
+
response = client.v1.components.with_raw_response.create(
|
774
|
+
config={"model": "gpt-4o-mini-2024-07-18"}, name="My Study Component", origin="chat", type="chat"
|
775
|
+
)
|
772
776
|
|
773
777
|
assert response.retries_taken == failures_before_success
|
774
778
|
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
|
@@ -790,10 +794,14 @@ class TestStudyfetchSDK:
|
|
790
794
|
return httpx.Response(500)
|
791
795
|
return httpx.Response(200)
|
792
796
|
|
793
|
-
respx_mock.post("/api/v1/
|
797
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
794
798
|
|
795
|
-
response = client.v1.
|
796
|
-
|
799
|
+
response = client.v1.components.with_raw_response.create(
|
800
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
801
|
+
name="My Study Component",
|
802
|
+
origin="chat",
|
803
|
+
type="chat",
|
804
|
+
extra_headers={"x-stainless-retry-count": Omit()},
|
797
805
|
)
|
798
806
|
|
799
807
|
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
|
@@ -815,9 +823,15 @@ class TestStudyfetchSDK:
|
|
815
823
|
return httpx.Response(500)
|
816
824
|
return httpx.Response(200)
|
817
825
|
|
818
|
-
respx_mock.post("/api/v1/
|
826
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
819
827
|
|
820
|
-
response = client.v1.
|
828
|
+
response = client.v1.components.with_raw_response.create(
|
829
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
830
|
+
name="My Study Component",
|
831
|
+
origin="chat",
|
832
|
+
type="chat",
|
833
|
+
extra_headers={"x-stainless-retry-count": "42"},
|
834
|
+
)
|
821
835
|
|
822
836
|
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
|
823
837
|
|
@@ -1545,12 +1559,12 @@ class TestAsyncStudyfetchSDK:
|
|
1545
1559
|
async def test_retrying_timeout_errors_doesnt_leak(
|
1546
1560
|
self, respx_mock: MockRouter, async_client: AsyncStudyfetchSDK
|
1547
1561
|
) -> None:
|
1548
|
-
respx_mock.post("/api/v1/
|
1549
|
-
side_effect=httpx.TimeoutException("Test timeout error")
|
1550
|
-
)
|
1562
|
+
respx_mock.post("/api/v1/components").mock(side_effect=httpx.TimeoutException("Test timeout error"))
|
1551
1563
|
|
1552
1564
|
with pytest.raises(APITimeoutError):
|
1553
|
-
await async_client.v1.
|
1565
|
+
await async_client.v1.components.with_streaming_response.create(
|
1566
|
+
config={"model": "gpt-4o-mini-2024-07-18"}, name="My Study Component", origin="chat", type="chat"
|
1567
|
+
).__aenter__()
|
1554
1568
|
|
1555
1569
|
assert _get_open_connections(self.client) == 0
|
1556
1570
|
|
@@ -1559,10 +1573,12 @@ class TestAsyncStudyfetchSDK:
|
|
1559
1573
|
async def test_retrying_status_errors_doesnt_leak(
|
1560
1574
|
self, respx_mock: MockRouter, async_client: AsyncStudyfetchSDK
|
1561
1575
|
) -> None:
|
1562
|
-
respx_mock.post("/api/v1/
|
1576
|
+
respx_mock.post("/api/v1/components").mock(return_value=httpx.Response(500))
|
1563
1577
|
|
1564
1578
|
with pytest.raises(APIStatusError):
|
1565
|
-
await async_client.v1.
|
1579
|
+
await async_client.v1.components.with_streaming_response.create(
|
1580
|
+
config={"model": "gpt-4o-mini-2024-07-18"}, name="My Study Component", origin="chat", type="chat"
|
1581
|
+
).__aenter__()
|
1566
1582
|
assert _get_open_connections(self.client) == 0
|
1567
1583
|
|
1568
1584
|
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
|
@@ -1590,9 +1606,11 @@ class TestAsyncStudyfetchSDK:
|
|
1590
1606
|
return httpx.Response(500)
|
1591
1607
|
return httpx.Response(200)
|
1592
1608
|
|
1593
|
-
respx_mock.post("/api/v1/
|
1609
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
1594
1610
|
|
1595
|
-
response = await client.v1.
|
1611
|
+
response = await client.v1.components.with_raw_response.create(
|
1612
|
+
config={"model": "gpt-4o-mini-2024-07-18"}, name="My Study Component", origin="chat", type="chat"
|
1613
|
+
)
|
1596
1614
|
|
1597
1615
|
assert response.retries_taken == failures_before_success
|
1598
1616
|
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
|
@@ -1615,10 +1633,14 @@ class TestAsyncStudyfetchSDK:
|
|
1615
1633
|
return httpx.Response(500)
|
1616
1634
|
return httpx.Response(200)
|
1617
1635
|
|
1618
|
-
respx_mock.post("/api/v1/
|
1636
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
1619
1637
|
|
1620
|
-
response = await client.v1.
|
1621
|
-
|
1638
|
+
response = await client.v1.components.with_raw_response.create(
|
1639
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
1640
|
+
name="My Study Component",
|
1641
|
+
origin="chat",
|
1642
|
+
type="chat",
|
1643
|
+
extra_headers={"x-stainless-retry-count": Omit()},
|
1622
1644
|
)
|
1623
1645
|
|
1624
1646
|
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
|
@@ -1641,10 +1663,14 @@ class TestAsyncStudyfetchSDK:
|
|
1641
1663
|
return httpx.Response(500)
|
1642
1664
|
return httpx.Response(200)
|
1643
1665
|
|
1644
|
-
respx_mock.post("/api/v1/
|
1666
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
1645
1667
|
|
1646
|
-
response = await client.v1.
|
1647
|
-
|
1668
|
+
response = await client.v1.components.with_raw_response.create(
|
1669
|
+
config={"model": "gpt-4o-mini-2024-07-18"},
|
1670
|
+
name="My Study Component",
|
1671
|
+
origin="chat",
|
1672
|
+
type="chat",
|
1673
|
+
extra_headers={"x-stainless-retry-count": "42"},
|
1648
1674
|
)
|
1649
1675
|
|
1650
1676
|
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
-
|
3
|
-
from .auth import (
|
4
|
-
AuthResource,
|
5
|
-
AsyncAuthResource,
|
6
|
-
AuthResourceWithRawResponse,
|
7
|
-
AsyncAuthResourceWithRawResponse,
|
8
|
-
AuthResourceWithStreamingResponse,
|
9
|
-
AsyncAuthResourceWithStreamingResponse,
|
10
|
-
)
|
11
|
-
|
12
|
-
__all__ = [
|
13
|
-
"AuthResource",
|
14
|
-
"AsyncAuthResource",
|
15
|
-
"AuthResourceWithRawResponse",
|
16
|
-
"AsyncAuthResourceWithRawResponse",
|
17
|
-
"AuthResourceWithStreamingResponse",
|
18
|
-
"AsyncAuthResourceWithStreamingResponse",
|
19
|
-
]
|