studyfetch-sdk 0.1.0a15__tar.gz → 0.1.0a16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. studyfetch_sdk-0.1.0a16/.release-please-manifest.json +3 -0
  2. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/CHANGELOG.md +8 -0
  3. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/PKG-INFO +1 -1
  4. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/api.md +9 -4
  5. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/pyproject.toml +1 -1
  6. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_version.py +1 -1
  7. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/upload/component.py +18 -21
  8. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component_create_params.py +0 -3
  9. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/upload/__init__.py +3 -0
  10. studyfetch_sdk-0.1.0a16/src/studyfetch_sdk/types/v1/upload/component_complete_upload_response.py +16 -0
  11. studyfetch_sdk-0.1.0a16/src/studyfetch_sdk/types/v1/upload/component_upload_file_response.py +24 -0
  12. studyfetch_sdk-0.1.0a16/src/studyfetch_sdk/types/v1/upload/component_upload_url_response.py +24 -0
  13. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/upload/test_component.py +21 -18
  14. studyfetch_sdk-0.1.0a15/.release-please-manifest.json +0 -3
  15. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/.gitignore +0 -0
  16. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/CONTRIBUTING.md +0 -0
  17. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/LICENSE +0 -0
  18. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/README.md +0 -0
  19. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/SECURITY.md +0 -0
  20. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/bin/check-release-environment +0 -0
  21. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/bin/publish-pypi +0 -0
  22. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/examples/.keep +0 -0
  23. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/mypy.ini +0 -0
  24. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/noxfile.py +0 -0
  25. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/release-please-config.json +0 -0
  26. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/requirements-dev.lock +0 -0
  27. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/requirements.lock +0 -0
  28. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/__init__.py +0 -0
  29. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_base_client.py +0 -0
  30. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_client.py +0 -0
  31. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_compat.py +0 -0
  32. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_constants.py +0 -0
  33. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_exceptions.py +0 -0
  34. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_files.py +0 -0
  35. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_models.py +0 -0
  36. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_qs.py +0 -0
  37. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_resource.py +0 -0
  38. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_response.py +0 -0
  39. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_streaming.py +0 -0
  40. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_types.py +0 -0
  41. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/__init__.py +0 -0
  42. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_logs.py +0 -0
  43. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_proxy.py +0 -0
  44. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_reflection.py +0 -0
  45. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_resources_proxy.py +0 -0
  46. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_streams.py +0 -0
  47. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_sync.py +0 -0
  48. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_transform.py +0 -0
  49. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_typing.py +0 -0
  50. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/_utils/_utils.py +0 -0
  51. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/lib/.keep +0 -0
  52. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/py.typed +0 -0
  53. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/__init__.py +0 -0
  54. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/__init__.py +0 -0
  55. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/assignment_grader.py +0 -0
  56. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/audio_recaps/__init__.py +0 -0
  57. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/audio_recaps/audio_recaps.py +0 -0
  58. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/audio_recaps/sections.py +0 -0
  59. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/chat/__init__.py +0 -0
  60. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/chat/chat.py +0 -0
  61. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/chat/sessions.py +0 -0
  62. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/chat/test.py +0 -0
  63. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/components.py +0 -0
  64. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/embed/__init__.py +0 -0
  65. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/embed/component.py +0 -0
  66. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/embed/embed.py +0 -0
  67. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/explainers.py +0 -0
  68. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/flashcards.py +0 -0
  69. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/folders.py +0 -0
  70. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/materials/__init__.py +0 -0
  71. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/materials/bulk.py +0 -0
  72. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/materials/materials.py +0 -0
  73. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/materials/test.py +0 -0
  74. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/materials/upload.py +0 -0
  75. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/__init__.py +0 -0
  76. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/component.py +0 -0
  77. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/scenarios.py +0 -0
  78. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/sessions.py +0 -0
  79. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/submissions/__init__.py +0 -0
  80. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/submissions/submissions.py +0 -0
  81. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/scenarios/submissions/user.py +0 -0
  82. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/tests/__init__.py +0 -0
  83. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/tests/component.py +0 -0
  84. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/tests/tests.py +0 -0
  85. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/upload/__init__.py +0 -0
  86. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/upload/upload.py +0 -0
  87. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/usage/__init__.py +0 -0
  88. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/usage/analyst.py +0 -0
  89. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/usage/usage.py +0 -0
  90. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/resources/v1/v1.py +0 -0
  91. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/__init__.py +0 -0
  92. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/__init__.py +0 -0
  93. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/assignment_grader_create_params.py +0 -0
  94. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/assignment_grader_get_all_response.py +0 -0
  95. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/assignment_grader_response.py +0 -0
  96. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/audio_recaps/__init__.py +0 -0
  97. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/chat/__init__.py +0 -0
  98. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/chat/session_retrieve_params.py +0 -0
  99. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/chat_get_session_params.py +0 -0
  100. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/chat_send_message_params.py +0 -0
  101. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/chat_stream_params.py +0 -0
  102. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component.py +0 -0
  103. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component_generate_embed_params.py +0 -0
  104. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component_generate_embed_response.py +0 -0
  105. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component_list_params.py +0 -0
  106. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component_list_response.py +0 -0
  107. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/component_update_params.py +0 -0
  108. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/embed/__init__.py +0 -0
  109. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/embed/component_interact_params.py +0 -0
  110. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/embed/component_retrieve_params.py +0 -0
  111. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/embed_get_theme_params.py +0 -0
  112. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/embed_verify_params.py +0 -0
  113. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/explainer_create_params.py +0 -0
  114. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/explainer_handle_webhook_params.py +0 -0
  115. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_batch_process_params.py +0 -0
  116. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_batch_process_response.py +0 -0
  117. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_get_algorithm_response.py +0 -0
  118. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_get_all_params.py +0 -0
  119. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_get_due_params.py +0 -0
  120. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_get_stats_params.py +0 -0
  121. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_get_types_response.py +0 -0
  122. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/flashcard_rate_params.py +0 -0
  123. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/folder_create_params.py +0 -0
  124. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/folder_list_params.py +0 -0
  125. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/folder_update_params.py +0 -0
  126. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/material.py +0 -0
  127. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/material_create_params.py +0 -0
  128. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/material_get_download_url_params.py +0 -0
  129. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/material_list_params.py +0 -0
  130. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/material_list_response.py +0 -0
  131. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/material_search_params.py +0 -0
  132. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/materials/__init__.py +0 -0
  133. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/materials/upload_upload_file_params.py +0 -0
  134. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/materials/upload_upload_from_url_params.py +0 -0
  135. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/scenario_create_params.py +0 -0
  136. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/scenario_submit_answer_params.py +0 -0
  137. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/scenario_update_params.py +0 -0
  138. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/scenarios/__init__.py +0 -0
  139. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/scenarios/component_update_params.py +0 -0
  140. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/scenarios/submissions/__init__.py +0 -0
  141. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/test_create_params.py +0 -0
  142. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/test_retake_params.py +0 -0
  143. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/test_submit_answer_params.py +0 -0
  144. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/test_submit_params.py +0 -0
  145. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/tests/__init__.py +0 -0
  146. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/upload/component_complete_upload_params.py +0 -0
  147. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/upload/component_get_presigned_url_params.py +0 -0
  148. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/upload/component_get_presigned_url_response.py +0 -0
  149. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/upload/component_upload_file_params.py +0 -0
  150. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/upload/component_upload_url_params.py +0 -0
  151. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/usage/__init__.py +0 -0
  152. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/usage/analyst_list_events_params.py +0 -0
  153. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/usage_get_stats_params.py +0 -0
  154. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/usage_get_summary_params.py +0 -0
  155. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/src/studyfetch_sdk/types/v1/usage_list_events_params.py +0 -0
  156. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/__init__.py +0 -0
  157. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/__init__.py +0 -0
  158. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/__init__.py +0 -0
  159. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/audio_recaps/__init__.py +0 -0
  160. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/audio_recaps/test_sections.py +0 -0
  161. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/chat/__init__.py +0 -0
  162. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/chat/test_sessions.py +0 -0
  163. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/chat/test_test.py +0 -0
  164. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/embed/__init__.py +0 -0
  165. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/embed/test_component.py +0 -0
  166. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/materials/__init__.py +0 -0
  167. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/materials/test_bulk.py +0 -0
  168. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/materials/test_test.py +0 -0
  169. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/materials/test_upload.py +0 -0
  170. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/scenarios/__init__.py +0 -0
  171. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/scenarios/submissions/__init__.py +0 -0
  172. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/scenarios/submissions/test_user.py +0 -0
  173. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/scenarios/test_component.py +0 -0
  174. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/scenarios/test_sessions.py +0 -0
  175. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_assignment_grader.py +0 -0
  176. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_audio_recaps.py +0 -0
  177. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_chat.py +0 -0
  178. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_components.py +0 -0
  179. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_embed.py +0 -0
  180. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_explainers.py +0 -0
  181. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_flashcards.py +0 -0
  182. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_folders.py +0 -0
  183. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_materials.py +0 -0
  184. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_scenarios.py +0 -0
  185. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_tests.py +0 -0
  186. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/test_usage.py +0 -0
  187. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/tests/__init__.py +0 -0
  188. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/tests/test_component.py +0 -0
  189. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/upload/__init__.py +0 -0
  190. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/usage/__init__.py +0 -0
  191. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/api_resources/v1/usage/test_analyst.py +0 -0
  192. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/conftest.py +0 -0
  193. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/sample_file.txt +0 -0
  194. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_client.py +0 -0
  195. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_deepcopy.py +0 -0
  196. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_extract_files.py +0 -0
  197. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_files.py +0 -0
  198. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_models.py +0 -0
  199. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_qs.py +0 -0
  200. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_required_args.py +0 -0
  201. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_response.py +0 -0
  202. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_streaming.py +0 -0
  203. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_transform.py +0 -0
  204. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_utils/test_proxy.py +0 -0
  205. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/test_utils/test_typing.py +0 -0
  206. {studyfetch_sdk-0.1.0a15 → studyfetch_sdk-0.1.0a16}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.16"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.16 (2025-07-21)
4
+
5
+ Full Changelog: [v0.1.0-alpha.15...v0.1.0-alpha.16](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.15...v0.1.0-alpha.16)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([ccd825b](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/ccd825b3f13bcf8d567a13ca1b5b057889d95037))
10
+
3
11
  ## 0.1.0-alpha.15 (2025-07-21)
4
12
 
5
13
  Full Changelog: [v0.1.0-alpha.14...v0.1.0-alpha.15](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.14...v0.1.0-alpha.15)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: studyfetch_sdk
3
- Version: 0.1.0a15
3
+ Version: 0.1.0a16
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
@@ -245,15 +245,20 @@ Methods:
245
245
  Types:
246
246
 
247
247
  ```python
248
- from studyfetch_sdk.types.v1.upload import ComponentGetPresignedURLResponse
248
+ from studyfetch_sdk.types.v1.upload import (
249
+ ComponentCompleteUploadResponse,
250
+ ComponentGetPresignedURLResponse,
251
+ ComponentUploadFileResponse,
252
+ ComponentUploadURLResponse,
253
+ )
249
254
  ```
250
255
 
251
256
  Methods:
252
257
 
253
- - <code title="post /api/v1/upload/component/{componentId}/complete">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">complete_upload</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_complete_upload_params.py">params</a>) -> None</code>
258
+ - <code title="post /api/v1/upload/component/{componentId}/complete">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">complete_upload</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_complete_upload_params.py">params</a>) -> <a href="./src/studyfetch_sdk/types/v1/upload/component_complete_upload_response.py">ComponentCompleteUploadResponse</a></code>
254
259
  - <code title="post /api/v1/upload/component/{componentId}/presigned-url">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">get_presigned_url</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_get_presigned_url_params.py">params</a>) -> <a href="./src/studyfetch_sdk/types/v1/upload/component_get_presigned_url_response.py">ComponentGetPresignedURLResponse</a></code>
255
- - <code title="post /api/v1/upload/component/{componentId}/file">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">upload_file</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_upload_file_params.py">params</a>) -> None</code>
256
- - <code title="post /api/v1/upload/component/{componentId}/url">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">upload_url</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_upload_url_params.py">params</a>) -> None</code>
260
+ - <code title="post /api/v1/upload/component/{componentId}/file">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">upload_file</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_upload_file_params.py">params</a>) -> <a href="./src/studyfetch_sdk/types/v1/upload/component_upload_file_response.py">ComponentUploadFileResponse</a></code>
261
+ - <code title="post /api/v1/upload/component/{componentId}/url">client.v1.upload.component.<a href="./src/studyfetch_sdk/resources/v1/upload/component.py">upload_url</a>(component_id, \*\*<a href="src/studyfetch_sdk/types/v1/upload/component_upload_url_params.py">params</a>) -> <a href="./src/studyfetch_sdk/types/v1/upload/component_upload_url_response.py">ComponentUploadURLResponse</a></code>
257
262
 
258
263
  ## AssignmentGrader
259
264
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "studyfetch_sdk"
3
- version = "0.1.0-alpha.15"
3
+ version = "0.1.0-alpha.16"
4
4
  description = "The official Python library for the studyfetch-sdk API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "studyfetch_sdk"
4
- __version__ = "0.1.0-alpha.15" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.16" # x-release-please-version
@@ -6,7 +6,7 @@ from typing import Mapping, cast
6
6
 
7
7
  import httpx
8
8
 
9
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, FileTypes
9
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
10
10
  from ...._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
11
11
  from ...._compat import cached_property
12
12
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -23,6 +23,9 @@ from ....types.v1.upload import (
23
23
  component_complete_upload_params,
24
24
  component_get_presigned_url_params,
25
25
  )
26
+ from ....types.v1.upload.component_upload_url_response import ComponentUploadURLResponse
27
+ from ....types.v1.upload.component_upload_file_response import ComponentUploadFileResponse
28
+ from ....types.v1.upload.component_complete_upload_response import ComponentCompleteUploadResponse
26
29
  from ....types.v1.upload.component_get_presigned_url_response import ComponentGetPresignedURLResponse
27
30
 
28
31
  __all__ = ["ComponentResource", "AsyncComponentResource"]
@@ -61,7 +64,7 @@ class ComponentResource(SyncAPIResource):
61
64
  extra_query: Query | None = None,
62
65
  extra_body: Body | None = None,
63
66
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
64
- ) -> None:
67
+ ) -> ComponentCompleteUploadResponse:
65
68
  """
66
69
  Complete a file upload after using presigned URL
67
70
 
@@ -82,7 +85,6 @@ class ComponentResource(SyncAPIResource):
82
85
  """
83
86
  if not component_id:
84
87
  raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
85
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
86
88
  return self._post(
87
89
  f"/api/v1/upload/component/{component_id}/complete",
88
90
  body=maybe_transform(
@@ -96,7 +98,7 @@ class ComponentResource(SyncAPIResource):
96
98
  options=make_request_options(
97
99
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
98
100
  ),
99
- cast_to=NoneType,
101
+ cast_to=ComponentCompleteUploadResponse,
100
102
  )
101
103
 
102
104
  def get_presigned_url(
@@ -166,7 +168,7 @@ class ComponentResource(SyncAPIResource):
166
168
  extra_query: Query | None = None,
167
169
  extra_body: Body | None = None,
168
170
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
169
- ) -> None:
171
+ ) -> ComponentUploadFileResponse:
170
172
  """
171
173
  Upload a file to a component
172
174
 
@@ -187,7 +189,6 @@ class ComponentResource(SyncAPIResource):
187
189
  """
188
190
  if not component_id:
189
191
  raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
190
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
191
192
  body = deepcopy_minimal(
192
193
  {
193
194
  "file": file,
@@ -199,7 +200,7 @@ class ComponentResource(SyncAPIResource):
199
200
  # It should be noted that the actual Content-Type header that will be
200
201
  # sent to the server will contain a `boundary` parameter, e.g.
201
202
  # multipart/form-data; boundary=---abc--
202
- extra_headers["Content-Type"] = "multipart/form-data"
203
+ extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
203
204
  return self._post(
204
205
  f"/api/v1/upload/component/{component_id}/file",
205
206
  body=maybe_transform(body, component_upload_file_params.ComponentUploadFileParams),
@@ -207,7 +208,7 @@ class ComponentResource(SyncAPIResource):
207
208
  options=make_request_options(
208
209
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
209
210
  ),
210
- cast_to=NoneType,
211
+ cast_to=ComponentUploadFileResponse,
211
212
  )
212
213
 
213
214
  def upload_url(
@@ -224,7 +225,7 @@ class ComponentResource(SyncAPIResource):
224
225
  extra_query: Query | None = None,
225
226
  extra_body: Body | None = None,
226
227
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
227
- ) -> None:
228
+ ) -> ComponentUploadURLResponse:
228
229
  """
229
230
  Upload a file from URL to a component
230
231
 
@@ -247,7 +248,6 @@ class ComponentResource(SyncAPIResource):
247
248
  """
248
249
  if not component_id:
249
250
  raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
250
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
251
251
  return self._post(
252
252
  f"/api/v1/upload/component/{component_id}/url",
253
253
  body=maybe_transform(
@@ -262,7 +262,7 @@ class ComponentResource(SyncAPIResource):
262
262
  options=make_request_options(
263
263
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
264
264
  ),
265
- cast_to=NoneType,
265
+ cast_to=ComponentUploadURLResponse,
266
266
  )
267
267
 
268
268
 
@@ -299,7 +299,7 @@ class AsyncComponentResource(AsyncAPIResource):
299
299
  extra_query: Query | None = None,
300
300
  extra_body: Body | None = None,
301
301
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
302
- ) -> None:
302
+ ) -> ComponentCompleteUploadResponse:
303
303
  """
304
304
  Complete a file upload after using presigned URL
305
305
 
@@ -320,7 +320,6 @@ class AsyncComponentResource(AsyncAPIResource):
320
320
  """
321
321
  if not component_id:
322
322
  raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
323
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
324
323
  return await self._post(
325
324
  f"/api/v1/upload/component/{component_id}/complete",
326
325
  body=await async_maybe_transform(
@@ -334,7 +333,7 @@ class AsyncComponentResource(AsyncAPIResource):
334
333
  options=make_request_options(
335
334
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
336
335
  ),
337
- cast_to=NoneType,
336
+ cast_to=ComponentCompleteUploadResponse,
338
337
  )
339
338
 
340
339
  async def get_presigned_url(
@@ -404,7 +403,7 @@ class AsyncComponentResource(AsyncAPIResource):
404
403
  extra_query: Query | None = None,
405
404
  extra_body: Body | None = None,
406
405
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
407
- ) -> None:
406
+ ) -> ComponentUploadFileResponse:
408
407
  """
409
408
  Upload a file to a component
410
409
 
@@ -425,7 +424,6 @@ class AsyncComponentResource(AsyncAPIResource):
425
424
  """
426
425
  if not component_id:
427
426
  raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
428
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
429
427
  body = deepcopy_minimal(
430
428
  {
431
429
  "file": file,
@@ -437,7 +435,7 @@ class AsyncComponentResource(AsyncAPIResource):
437
435
  # It should be noted that the actual Content-Type header that will be
438
436
  # sent to the server will contain a `boundary` parameter, e.g.
439
437
  # multipart/form-data; boundary=---abc--
440
- extra_headers["Content-Type"] = "multipart/form-data"
438
+ extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
441
439
  return await self._post(
442
440
  f"/api/v1/upload/component/{component_id}/file",
443
441
  body=await async_maybe_transform(body, component_upload_file_params.ComponentUploadFileParams),
@@ -445,7 +443,7 @@ class AsyncComponentResource(AsyncAPIResource):
445
443
  options=make_request_options(
446
444
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
447
445
  ),
448
- cast_to=NoneType,
446
+ cast_to=ComponentUploadFileResponse,
449
447
  )
450
448
 
451
449
  async def upload_url(
@@ -462,7 +460,7 @@ class AsyncComponentResource(AsyncAPIResource):
462
460
  extra_query: Query | None = None,
463
461
  extra_body: Body | None = None,
464
462
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
465
- ) -> None:
463
+ ) -> ComponentUploadURLResponse:
466
464
  """
467
465
  Upload a file from URL to a component
468
466
 
@@ -485,7 +483,6 @@ class AsyncComponentResource(AsyncAPIResource):
485
483
  """
486
484
  if not component_id:
487
485
  raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
488
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
489
486
  return await self._post(
490
487
  f"/api/v1/upload/component/{component_id}/url",
491
488
  body=await async_maybe_transform(
@@ -500,7 +497,7 @@ class AsyncComponentResource(AsyncAPIResource):
500
497
  options=make_request_options(
501
498
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
502
499
  ),
503
- cast_to=NoneType,
500
+ cast_to=ComponentUploadURLResponse,
504
501
  )
505
502
 
506
503
 
@@ -91,9 +91,6 @@ class ConfigFlashcardsConfigDto(TypedDict, total=False):
91
91
  difficulty: Literal["easy", "medium", "hard", "mixed"]
92
92
  """Difficulty level"""
93
93
 
94
- enable_spaced_repetition: Annotated[bool, PropertyInfo(alias="enableSpacedRepetition")]
95
- """Enable spaced repetition"""
96
-
97
94
  folders: List[str]
98
95
  """Folder IDs"""
99
96
 
@@ -4,6 +4,9 @@ from __future__ import annotations
4
4
 
5
5
  from .component_upload_url_params import ComponentUploadURLParams as ComponentUploadURLParams
6
6
  from .component_upload_file_params import ComponentUploadFileParams as ComponentUploadFileParams
7
+ from .component_upload_url_response import ComponentUploadURLResponse as ComponentUploadURLResponse
8
+ from .component_upload_file_response import ComponentUploadFileResponse as ComponentUploadFileResponse
7
9
  from .component_complete_upload_params import ComponentCompleteUploadParams as ComponentCompleteUploadParams
10
+ from .component_complete_upload_response import ComponentCompleteUploadResponse as ComponentCompleteUploadResponse
8
11
  from .component_get_presigned_url_params import ComponentGetPresignedURLParams as ComponentGetPresignedURLParams
9
12
  from .component_get_presigned_url_response import ComponentGetPresignedURLResponse as ComponentGetPresignedURLResponse
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ...._models import BaseModel
4
+
5
+ __all__ = ["ComponentCompleteUploadResponse"]
6
+
7
+
8
+ class ComponentCompleteUploadResponse(BaseModel):
9
+ id: str
10
+ """The ID of the uploaded material"""
11
+
12
+ name: str
13
+ """The name of the material"""
14
+
15
+ status: str
16
+ """The status of the material"""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from pydantic import Field as FieldInfo
4
+
5
+ from ...._models import BaseModel
6
+
7
+ __all__ = ["ComponentUploadFileResponse"]
8
+
9
+
10
+ class ComponentUploadFileResponse(BaseModel):
11
+ id: str
12
+ """The ID of the uploaded material"""
13
+
14
+ content_type: str = FieldInfo(alias="contentType")
15
+ """The content type of the material"""
16
+
17
+ name: str
18
+ """The name of the material"""
19
+
20
+ s3_key: str = FieldInfo(alias="s3Key")
21
+ """The S3 key of the uploaded file"""
22
+
23
+ status: str
24
+ """The status of the material"""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from pydantic import Field as FieldInfo
4
+
5
+ from ...._models import BaseModel
6
+
7
+ __all__ = ["ComponentUploadURLResponse"]
8
+
9
+
10
+ class ComponentUploadURLResponse(BaseModel):
11
+ id: str
12
+ """The ID of the uploaded material"""
13
+
14
+ content_type: str = FieldInfo(alias="contentType")
15
+ """The content type of the material"""
16
+
17
+ name: str
18
+ """The name of the material"""
19
+
20
+ s3_key: str = FieldInfo(alias="s3Key")
21
+ """The S3 key of the uploaded file"""
22
+
23
+ status: str
24
+ """The status of the material"""
@@ -10,6 +10,9 @@ import pytest
10
10
  from tests.utils import assert_matches_type
11
11
  from studyfetch_sdk import StudyfetchSDK, AsyncStudyfetchSDK
12
12
  from studyfetch_sdk.types.v1.upload import (
13
+ ComponentUploadURLResponse,
14
+ ComponentUploadFileResponse,
15
+ ComponentCompleteUploadResponse,
13
16
  ComponentGetPresignedURLResponse,
14
17
  )
15
18
 
@@ -28,7 +31,7 @@ class TestComponent:
28
31
  organization_id="507f1f77bcf86cd799439011",
29
32
  s3_key="organizations/507f1f77bcf86cd799439011/materials/document.pdf",
30
33
  )
31
- assert component is None
34
+ assert_matches_type(ComponentCompleteUploadResponse, component, path=["response"])
32
35
 
33
36
  @pytest.mark.skip()
34
37
  @parametrize
@@ -43,7 +46,7 @@ class TestComponent:
43
46
  assert response.is_closed is True
44
47
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
45
48
  component = response.parse()
46
- assert component is None
49
+ assert_matches_type(ComponentCompleteUploadResponse, component, path=["response"])
47
50
 
48
51
  @pytest.mark.skip()
49
52
  @parametrize
@@ -58,7 +61,7 @@ class TestComponent:
58
61
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
59
62
 
60
63
  component = response.parse()
61
- assert component is None
64
+ assert_matches_type(ComponentCompleteUploadResponse, component, path=["response"])
62
65
 
63
66
  assert cast(Any, response.is_closed) is True
64
67
 
@@ -140,7 +143,7 @@ class TestComponent:
140
143
  folder_id="507f1f77bcf86cd799439012",
141
144
  organization_id="507f1f77bcf86cd799439011",
142
145
  )
143
- assert component is None
146
+ assert_matches_type(ComponentUploadFileResponse, component, path=["response"])
144
147
 
145
148
  @pytest.mark.skip()
146
149
  @parametrize
@@ -155,7 +158,7 @@ class TestComponent:
155
158
  assert response.is_closed is True
156
159
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
157
160
  component = response.parse()
158
- assert component is None
161
+ assert_matches_type(ComponentUploadFileResponse, component, path=["response"])
159
162
 
160
163
  @pytest.mark.skip()
161
164
  @parametrize
@@ -170,7 +173,7 @@ class TestComponent:
170
173
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
171
174
 
172
175
  component = response.parse()
173
- assert component is None
176
+ assert_matches_type(ComponentUploadFileResponse, component, path=["response"])
174
177
 
175
178
  assert cast(Any, response.is_closed) is True
176
179
 
@@ -195,7 +198,7 @@ class TestComponent:
195
198
  organization_id="507f1f77bcf86cd799439011",
196
199
  url="https://example.com/document.pdf",
197
200
  )
198
- assert component is None
201
+ assert_matches_type(ComponentUploadURLResponse, component, path=["response"])
199
202
 
200
203
  @pytest.mark.skip()
201
204
  @parametrize
@@ -211,7 +214,7 @@ class TestComponent:
211
214
  assert response.is_closed is True
212
215
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
213
216
  component = response.parse()
214
- assert component is None
217
+ assert_matches_type(ComponentUploadURLResponse, component, path=["response"])
215
218
 
216
219
  @pytest.mark.skip()
217
220
  @parametrize
@@ -227,7 +230,7 @@ class TestComponent:
227
230
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
228
231
 
229
232
  component = response.parse()
230
- assert component is None
233
+ assert_matches_type(ComponentUploadURLResponse, component, path=["response"])
231
234
 
232
235
  assert cast(Any, response.is_closed) is True
233
236
 
@@ -258,7 +261,7 @@ class TestAsyncComponent:
258
261
  organization_id="507f1f77bcf86cd799439011",
259
262
  s3_key="organizations/507f1f77bcf86cd799439011/materials/document.pdf",
260
263
  )
261
- assert component is None
264
+ assert_matches_type(ComponentCompleteUploadResponse, component, path=["response"])
262
265
 
263
266
  @pytest.mark.skip()
264
267
  @parametrize
@@ -273,7 +276,7 @@ class TestAsyncComponent:
273
276
  assert response.is_closed is True
274
277
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
275
278
  component = await response.parse()
276
- assert component is None
279
+ assert_matches_type(ComponentCompleteUploadResponse, component, path=["response"])
277
280
 
278
281
  @pytest.mark.skip()
279
282
  @parametrize
@@ -288,7 +291,7 @@ class TestAsyncComponent:
288
291
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
289
292
 
290
293
  component = await response.parse()
291
- assert component is None
294
+ assert_matches_type(ComponentCompleteUploadResponse, component, path=["response"])
292
295
 
293
296
  assert cast(Any, response.is_closed) is True
294
297
 
@@ -370,7 +373,7 @@ class TestAsyncComponent:
370
373
  folder_id="507f1f77bcf86cd799439012",
371
374
  organization_id="507f1f77bcf86cd799439011",
372
375
  )
373
- assert component is None
376
+ assert_matches_type(ComponentUploadFileResponse, component, path=["response"])
374
377
 
375
378
  @pytest.mark.skip()
376
379
  @parametrize
@@ -385,7 +388,7 @@ class TestAsyncComponent:
385
388
  assert response.is_closed is True
386
389
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
387
390
  component = await response.parse()
388
- assert component is None
391
+ assert_matches_type(ComponentUploadFileResponse, component, path=["response"])
389
392
 
390
393
  @pytest.mark.skip()
391
394
  @parametrize
@@ -400,7 +403,7 @@ class TestAsyncComponent:
400
403
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
401
404
 
402
405
  component = await response.parse()
403
- assert component is None
406
+ assert_matches_type(ComponentUploadFileResponse, component, path=["response"])
404
407
 
405
408
  assert cast(Any, response.is_closed) is True
406
409
 
@@ -425,7 +428,7 @@ class TestAsyncComponent:
425
428
  organization_id="507f1f77bcf86cd799439011",
426
429
  url="https://example.com/document.pdf",
427
430
  )
428
- assert component is None
431
+ assert_matches_type(ComponentUploadURLResponse, component, path=["response"])
429
432
 
430
433
  @pytest.mark.skip()
431
434
  @parametrize
@@ -441,7 +444,7 @@ class TestAsyncComponent:
441
444
  assert response.is_closed is True
442
445
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
443
446
  component = await response.parse()
444
- assert component is None
447
+ assert_matches_type(ComponentUploadURLResponse, component, path=["response"])
445
448
 
446
449
  @pytest.mark.skip()
447
450
  @parametrize
@@ -457,7 +460,7 @@ class TestAsyncComponent:
457
460
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
458
461
 
459
462
  component = await response.parse()
460
- assert component is None
463
+ assert_matches_type(ComponentUploadURLResponse, component, path=["response"])
461
464
 
462
465
  assert cast(Any, response.is_closed) is True
463
466
 
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.1.0-alpha.15"
3
- }