studyfetch-sdk 0.1.0a8__tar.gz → 0.1.0a10__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.0a10/.release-please-manifest.json +3 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/CHANGELOG.md +17 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/PKG-INFO +58 -13
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/README.md +56 -11
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/SECURITY.md +4 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/pyproject.toml +2 -2
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_client.py +2 -2
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_version.py +1 -1
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_client.py +56 -20
- studyfetch_sdk-0.1.0a8/.release-please-manifest.json +0 -3
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/.gitignore +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/CONTRIBUTING.md +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/LICENSE +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/api.md +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/bin/check-release-environment +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/bin/publish-pypi +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/examples/.keep +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/mypy.ini +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/noxfile.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/release-please-config.json +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/requirements-dev.lock +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/requirements.lock +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_base_client.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_compat.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_constants.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_exceptions.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_files.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_models.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_qs.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_resource.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_streaming.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_types.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_logs.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_proxy.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_reflection.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_resources_proxy.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_streams.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_sync.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_transform.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_typing.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_utils/_utils.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/lib/.keep +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/py.typed +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/audio_recaps/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/audio_recaps/audio_recaps.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/audio_recaps/sections.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/chat.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/sessions.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/test.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/components.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/embed/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/embed/component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/embed/embed.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/explainers.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/flashcards.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/folders.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/materials/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/materials/bulk.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/materials/materials.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/materials/test.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/materials/upload.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/scenarios.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/sessions.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/submissions/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/submissions/submissions.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/scenarios/submissions/user.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/tests/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/tests/component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/tests/tests.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/upload/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/upload/component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/upload/upload.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/usage.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/v1.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/audio_recaps/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/chat/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/chat/session_retrieve_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/chat_get_session_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/chat_send_message_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/chat_stream_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component_generate_embed_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component_generate_embed_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component_list_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component_list_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/component_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/embed/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/embed/component_interact_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/embed/component_retrieve_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/embed_get_theme_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/embed_verify_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/explainer_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/explainer_handle_webhook_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_batch_process_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_batch_process_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_get_algorithm_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_get_all_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_get_due_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_get_stats_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_get_types_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/flashcard_rate_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/folder_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/folder_list_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/folder_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/material.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/material_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/material_get_download_url_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/material_list_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/material_list_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/materials/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/materials/upload_upload_file_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/materials/upload_upload_from_url_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/scenario_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/scenario_submit_answer_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/scenario_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/scenarios/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/scenarios/component_update_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/scenarios/submissions/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/test_create_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/test_retake_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/test_submit_answer_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/test_submit_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/tests/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/upload/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/usage_get_stats_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/usage_get_summary_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/types/v1/usage_list_events_params.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/audio_recaps/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/audio_recaps/test_sections.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/chat/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/chat/test_sessions.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/chat/test_test.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/embed/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/embed/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/materials/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/materials/test_bulk.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/materials/test_test.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/materials/test_upload.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/scenarios/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/scenarios/submissions/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/scenarios/submissions/test_user.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/scenarios/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/scenarios/test_sessions.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_audio_recaps.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_chat.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_components.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_embed.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_explainers.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_flashcards.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_folders.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_materials.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_scenarios.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_tests.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/test_usage.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/tests/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/tests/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/upload/__init__.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/api_resources/v1/upload/test_component.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/conftest.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/sample_file.txt +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_deepcopy.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_extract_files.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_files.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_models.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_qs.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_required_args.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_response.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_streaming.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_transform.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_utils/test_proxy.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/test_utils/test_typing.py +0 -0
- {studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/tests/utils.py +0 -0
@@ -1,5 +1,22 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.1.0-alpha.10 (2025-07-20)
|
4
|
+
|
5
|
+
Full Changelog: [v0.1.0-alpha.9...v0.1.0-alpha.10](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.9...v0.1.0-alpha.10)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* **api:** manual updates ([28930b8](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/28930b893896f920daabe98ab6e4bc361a4f208b))
|
10
|
+
|
11
|
+
## 0.1.0-alpha.9 (2025-07-20)
|
12
|
+
|
13
|
+
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)
|
14
|
+
|
15
|
+
### Features
|
16
|
+
|
17
|
+
* **api:** api update ([adcb732](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/adcb7325f9e331c70f4ba71de059939e03cadf78))
|
18
|
+
* **api:** manual updates ([408618b](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/408618bebe1563c23e1470cc83973cf7008a5806))
|
19
|
+
|
3
20
|
## 0.1.0-alpha.8 (2025-07-20)
|
4
21
|
|
5
22
|
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)
|
@@ -1,10 +1,10 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: studyfetch_sdk
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.0a10
|
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
|
7
|
-
Author: Studyfetch SDK
|
7
|
+
Author-email: Studyfetch SDK <support@studyfetch.com>
|
8
8
|
License: Apache-2.0
|
9
9
|
Classifier: Intended Audience :: Developers
|
10
10
|
Classifier: License :: OSI Approved :: Apache Software License
|
@@ -46,7 +46,7 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
46
46
|
|
47
47
|
## Documentation
|
48
48
|
|
49
|
-
The full API of this library can be found in [api.md](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/tree/main/api.md).
|
49
|
+
The REST API documentation can be found on [studyfetch.com](https://studyfetch.com/docs). The full API of this library can be found in [api.md](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/tree/main/api.md).
|
50
50
|
|
51
51
|
## Installation
|
52
52
|
|
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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():
|
@@ -11,7 +11,7 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
11
11
|
|
12
12
|
## Documentation
|
13
13
|
|
14
|
-
The full API of this library can be found in [api.md](api.md).
|
14
|
+
The REST API documentation can be found on [studyfetch.com](https://studyfetch.com/docs). The full API of this library can be found in [api.md](api.md).
|
15
15
|
|
16
16
|
## Installation
|
17
17
|
|
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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():
|
@@ -18,6 +18,10 @@ before making any information public.
|
|
18
18
|
If you encounter security issues that are not directly related to SDKs but pertain to the services
|
19
19
|
or products provided by Studyfetch SDK, please follow the respective company's security reporting guidelines.
|
20
20
|
|
21
|
+
### Studyfetch SDK Terms and Policies
|
22
|
+
|
23
|
+
Please contact support@studyfetch.com for any questions or concerns regarding the security of our services.
|
24
|
+
|
21
25
|
---
|
22
26
|
|
23
27
|
Thank you for helping us keep the SDKs and systems they interact with secure.
|
@@ -1,11 +1,11 @@
|
|
1
1
|
[project]
|
2
2
|
name = "studyfetch_sdk"
|
3
|
-
version = "0.1.0-alpha.
|
3
|
+
version = "0.1.0-alpha.10"
|
4
4
|
description = "The official Python library for the studyfetch-sdk API"
|
5
5
|
dynamic = ["readme"]
|
6
6
|
license = "Apache-2.0"
|
7
7
|
authors = [
|
8
|
-
{ name = "Studyfetch SDK", email = "" },
|
8
|
+
{ name = "Studyfetch SDK", email = "support@studyfetch.com" },
|
9
9
|
]
|
10
10
|
dependencies = [
|
11
11
|
"httpx>=0.23.0, <1",
|
@@ -88,7 +88,7 @@ class StudyfetchSDK(SyncAPIClient):
|
|
88
88
|
if base_url is None:
|
89
89
|
base_url = os.environ.get("STUDYFETCH_SDK_BASE_URL")
|
90
90
|
if base_url is None:
|
91
|
-
base_url = f"https://
|
91
|
+
base_url = f"https://studyfetchapi.com"
|
92
92
|
|
93
93
|
super().__init__(
|
94
94
|
version=__version__,
|
@@ -256,7 +256,7 @@ class AsyncStudyfetchSDK(AsyncAPIClient):
|
|
256
256
|
if base_url is None:
|
257
257
|
base_url = os.environ.get("STUDYFETCH_SDK_BASE_URL")
|
258
258
|
if base_url is None:
|
259
|
-
base_url = f"https://
|
259
|
+
base_url = f"https://studyfetchapi.com"
|
260
260
|
|
261
261
|
super().__init__(
|
262
262
|
version=__version__,
|
@@ -724,20 +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.
|
727
|
+
respx_mock.post("/api/v1/components").mock(side_effect=httpx.TimeoutException("Test timeout error"))
|
728
728
|
|
729
729
|
with pytest.raises(APITimeoutError):
|
730
|
-
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__()
|
731
733
|
|
732
734
|
assert _get_open_connections(self.client) == 0
|
733
735
|
|
734
736
|
@mock.patch("studyfetch_sdk._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
|
735
737
|
@pytest.mark.respx(base_url=base_url)
|
736
738
|
def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, client: StudyfetchSDK) -> None:
|
737
|
-
respx_mock.
|
739
|
+
respx_mock.post("/api/v1/components").mock(return_value=httpx.Response(500))
|
738
740
|
|
739
741
|
with pytest.raises(APIStatusError):
|
740
|
-
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__()
|
741
745
|
assert _get_open_connections(self.client) == 0
|
742
746
|
|
743
747
|
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
|
@@ -764,9 +768,11 @@ class TestStudyfetchSDK:
|
|
764
768
|
return httpx.Response(500)
|
765
769
|
return httpx.Response(200)
|
766
770
|
|
767
|
-
respx_mock.
|
771
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
768
772
|
|
769
|
-
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
|
+
)
|
770
776
|
|
771
777
|
assert response.retries_taken == failures_before_success
|
772
778
|
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
|
@@ -788,9 +794,15 @@ class TestStudyfetchSDK:
|
|
788
794
|
return httpx.Response(500)
|
789
795
|
return httpx.Response(200)
|
790
796
|
|
791
|
-
respx_mock.
|
797
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
792
798
|
|
793
|
-
response = client.v1.
|
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()},
|
805
|
+
)
|
794
806
|
|
795
807
|
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
|
796
808
|
|
@@ -811,9 +823,15 @@ class TestStudyfetchSDK:
|
|
811
823
|
return httpx.Response(500)
|
812
824
|
return httpx.Response(200)
|
813
825
|
|
814
|
-
respx_mock.
|
826
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
815
827
|
|
816
|
-
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
|
+
)
|
817
835
|
|
818
836
|
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
|
819
837
|
|
@@ -1541,10 +1559,12 @@ class TestAsyncStudyfetchSDK:
|
|
1541
1559
|
async def test_retrying_timeout_errors_doesnt_leak(
|
1542
1560
|
self, respx_mock: MockRouter, async_client: AsyncStudyfetchSDK
|
1543
1561
|
) -> None:
|
1544
|
-
respx_mock.
|
1562
|
+
respx_mock.post("/api/v1/components").mock(side_effect=httpx.TimeoutException("Test timeout error"))
|
1545
1563
|
|
1546
1564
|
with pytest.raises(APITimeoutError):
|
1547
|
-
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__()
|
1548
1568
|
|
1549
1569
|
assert _get_open_connections(self.client) == 0
|
1550
1570
|
|
@@ -1553,10 +1573,12 @@ class TestAsyncStudyfetchSDK:
|
|
1553
1573
|
async def test_retrying_status_errors_doesnt_leak(
|
1554
1574
|
self, respx_mock: MockRouter, async_client: AsyncStudyfetchSDK
|
1555
1575
|
) -> None:
|
1556
|
-
respx_mock.
|
1576
|
+
respx_mock.post("/api/v1/components").mock(return_value=httpx.Response(500))
|
1557
1577
|
|
1558
1578
|
with pytest.raises(APIStatusError):
|
1559
|
-
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__()
|
1560
1582
|
assert _get_open_connections(self.client) == 0
|
1561
1583
|
|
1562
1584
|
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
|
@@ -1584,9 +1606,11 @@ class TestAsyncStudyfetchSDK:
|
|
1584
1606
|
return httpx.Response(500)
|
1585
1607
|
return httpx.Response(200)
|
1586
1608
|
|
1587
|
-
respx_mock.
|
1609
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
1588
1610
|
|
1589
|
-
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
|
+
)
|
1590
1614
|
|
1591
1615
|
assert response.retries_taken == failures_before_success
|
1592
1616
|
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
|
@@ -1609,9 +1633,15 @@ class TestAsyncStudyfetchSDK:
|
|
1609
1633
|
return httpx.Response(500)
|
1610
1634
|
return httpx.Response(200)
|
1611
1635
|
|
1612
|
-
respx_mock.
|
1636
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
1613
1637
|
|
1614
|
-
response = await client.v1.
|
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()},
|
1644
|
+
)
|
1615
1645
|
|
1616
1646
|
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
|
1617
1647
|
|
@@ -1633,9 +1663,15 @@ class TestAsyncStudyfetchSDK:
|
|
1633
1663
|
return httpx.Response(500)
|
1634
1664
|
return httpx.Response(200)
|
1635
1665
|
|
1636
|
-
respx_mock.
|
1666
|
+
respx_mock.post("/api/v1/components").mock(side_effect=retry_handler)
|
1637
1667
|
|
1638
|
-
response = await client.v1.
|
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"},
|
1674
|
+
)
|
1639
1675
|
|
1640
1676
|
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
|
1641
1677
|
|
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
|
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
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/_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
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/__init__.py
RENAMED
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/chat.py
RENAMED
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/sessions.py
RENAMED
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/chat/test.py
RENAMED
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/components.py
RENAMED
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/embed/__init__.py
RENAMED
File without changes
|
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/embed/embed.py
RENAMED
File without changes
|
{studyfetch_sdk-0.1.0a8 → studyfetch_sdk-0.1.0a10}/src/studyfetch_sdk/resources/v1/explainers.py
RENAMED
File without changes
|