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