supermemory 3.61.0__tar.gz → 5.0.0__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 (458) hide show
  1. supermemory-5.0.0/.github/workflows/ci.yml +70 -0
  2. supermemory-5.0.0/.github/workflows/generate.yml +75 -0
  3. supermemory-5.0.0/.github/workflows/publish-pypi.yml +50 -0
  4. supermemory-5.0.0/.gitignore +10 -0
  5. supermemory-5.0.0/.python-version +1 -0
  6. {supermemory-3.61.0 → supermemory-5.0.0}/CHANGELOG.md +27 -0
  7. supermemory-5.0.0/MIGRATION.md +99 -0
  8. supermemory-5.0.0/PKG-INFO +224 -0
  9. supermemory-5.0.0/README.md +195 -0
  10. supermemory-5.0.0/custom/__init__.tail.py +14 -0
  11. supermemory-5.0.0/custom/patches/0001-compat-response-and-model-helpers.patch +93 -0
  12. supermemory-5.0.0/custom/patches/0002-resolve-recursive-forward-refs.patch +62 -0
  13. supermemory-5.0.0/custom/patches/0003-retry-timeouts.patch +21 -0
  14. supermemory-5.0.0/custom/supermemory/_compat.py +543 -0
  15. supermemory-5.0.0/custom/supermemory/_types.py +19 -0
  16. supermemory-5.0.0/examples/chat_with_memory.py +32 -0
  17. supermemory-5.0.0/examples/errors_and_retries.py +22 -0
  18. supermemory-5.0.0/examples/quickstart.py +21 -0
  19. supermemory-5.0.0/fern/fern.config.json +1 -0
  20. supermemory-5.0.0/fern/generators.yml +38 -0
  21. supermemory-5.0.0/fern/openapi.json +9259 -0
  22. supermemory-5.0.0/fern/overlay.yaml +44 -0
  23. supermemory-5.0.0/fern/schemas.yaml +109 -0
  24. supermemory-5.0.0/pyproject.toml +67 -0
  25. supermemory-5.0.0/reference.md +2975 -0
  26. supermemory-5.0.0/scripts/apply_custom.py +110 -0
  27. supermemory-5.0.0/scripts/bump_version.py +30 -0
  28. supermemory-5.0.0/scripts/generate +48 -0
  29. supermemory-5.0.0/scripts/name_schemas.py +176 -0
  30. supermemory-5.0.0/src/supermemory/__init__.py +862 -0
  31. supermemory-5.0.0/src/supermemory/_compat.py +543 -0
  32. supermemory-5.0.0/src/supermemory/_default_clients.py +30 -0
  33. supermemory-5.0.0/src/supermemory/_types.py +19 -0
  34. supermemory-5.0.0/src/supermemory/client.py +1011 -0
  35. supermemory-5.0.0/src/supermemory/connectors/__init__.py +4 -0
  36. supermemory-5.0.0/src/supermemory/connectors/client.py +815 -0
  37. supermemory-5.0.0/src/supermemory/connectors/raw_client.py +1750 -0
  38. supermemory-5.0.0/src/supermemory/core/__init__.py +134 -0
  39. supermemory-5.0.0/src/supermemory/core/api_error.py +23 -0
  40. supermemory-5.0.0/src/supermemory/core/client_wrapper.py +145 -0
  41. supermemory-5.0.0/src/supermemory/core/datetime_utils.py +70 -0
  42. supermemory-5.0.0/src/supermemory/core/file.py +67 -0
  43. supermemory-5.0.0/src/supermemory/core/force_multipart.py +18 -0
  44. supermemory-5.0.0/src/supermemory/core/http_client.py +851 -0
  45. supermemory-5.0.0/src/supermemory/core/http_response.py +72 -0
  46. supermemory-5.0.0/src/supermemory/core/http_sse/__init__.py +42 -0
  47. supermemory-5.0.0/src/supermemory/core/http_sse/_api.py +455 -0
  48. supermemory-5.0.0/src/supermemory/core/http_sse/_decoders.py +74 -0
  49. supermemory-5.0.0/src/supermemory/core/http_sse/_exceptions.py +7 -0
  50. supermemory-5.0.0/src/supermemory/core/http_sse/_models.py +17 -0
  51. supermemory-5.0.0/src/supermemory/core/jsonable_encoder.py +120 -0
  52. supermemory-5.0.0/src/supermemory/core/logging.py +107 -0
  53. supermemory-5.0.0/src/supermemory/core/parse_error.py +36 -0
  54. supermemory-5.0.0/src/supermemory/core/pydantic_utilities.py +508 -0
  55. supermemory-5.0.0/src/supermemory/core/query_encoder.py +58 -0
  56. supermemory-5.0.0/src/supermemory/core/remove_none_from_dict.py +11 -0
  57. supermemory-5.0.0/src/supermemory/core/request_options.py +40 -0
  58. supermemory-5.0.0/src/supermemory/core/serialization.py +383 -0
  59. supermemory-5.0.0/src/supermemory/core/unchecked_base_model.py +539 -0
  60. supermemory-5.0.0/src/supermemory/documents/__init__.py +4 -0
  61. supermemory-5.0.0/src/supermemory/documents/client.py +1139 -0
  62. supermemory-5.0.0/src/supermemory/documents/raw_client.py +2163 -0
  63. supermemory-5.0.0/src/supermemory/environment.py +7 -0
  64. supermemory-5.0.0/src/supermemory/errors/__init__.py +59 -0
  65. supermemory-5.0.0/src/supermemory/errors/bad_request_error.py +11 -0
  66. supermemory-5.0.0/src/supermemory/errors/conflict_error.py +11 -0
  67. supermemory-5.0.0/src/supermemory/errors/forbidden_error.py +11 -0
  68. supermemory-5.0.0/src/supermemory/errors/internal_server_error.py +11 -0
  69. supermemory-5.0.0/src/supermemory/errors/not_found_error.py +11 -0
  70. supermemory-5.0.0/src/supermemory/errors/payment_required_error.py +11 -0
  71. supermemory-5.0.0/src/supermemory/errors/service_unavailable_error.py +11 -0
  72. supermemory-5.0.0/src/supermemory/errors/unauthorized_error.py +11 -0
  73. supermemory-5.0.0/src/supermemory/memories/__init__.py +4 -0
  74. supermemory-5.0.0/src/supermemory/memories/client.py +377 -0
  75. supermemory-5.0.0/src/supermemory/memories/raw_client.py +712 -0
  76. supermemory-5.0.0/src/supermemory/namespaces/__init__.py +4 -0
  77. supermemory-5.0.0/src/supermemory/namespaces/client.py +427 -0
  78. supermemory-5.0.0/src/supermemory/namespaces/raw_client.py +933 -0
  79. supermemory-5.0.0/src/supermemory/organization/__init__.py +4 -0
  80. supermemory-5.0.0/src/supermemory/organization/client.py +211 -0
  81. supermemory-5.0.0/src/supermemory/organization/raw_client.py +396 -0
  82. supermemory-5.0.0/src/supermemory/profiles/__init__.py +4 -0
  83. supermemory-5.0.0/src/supermemory/profiles/client.py +331 -0
  84. supermemory-5.0.0/src/supermemory/profiles/raw_client.py +713 -0
  85. supermemory-5.0.0/src/supermemory/raw_client.py +1200 -0
  86. supermemory-5.0.0/src/supermemory/requests/__init__.py +386 -0
  87. supermemory-5.0.0/src/supermemory/requests/bad_request_error_body.py +8 -0
  88. supermemory-5.0.0/src/supermemory/requests/batch_add_item_result.py +31 -0
  89. supermemory-5.0.0/src/supermemory/requests/batch_add_result.py +23 -0
  90. supermemory-5.0.0/src/supermemory/requests/chunk.py +42 -0
  91. supermemory-5.0.0/src/supermemory/requests/chunk_list_item.py +44 -0
  92. supermemory-5.0.0/src/supermemory/requests/chunk_system.py +17 -0
  93. supermemory-5.0.0/src/supermemory/requests/connector.py +70 -0
  94. supermemory-5.0.0/src/supermemory/requests/connector_capabilities.py +15 -0
  95. supermemory-5.0.0/src/supermemory/requests/connector_config_value.py +5 -0
  96. supermemory-5.0.0/src/supermemory/requests/connector_deleted.py +10 -0
  97. supermemory-5.0.0/src/supermemory/requests/connector_link.py +15 -0
  98. supermemory-5.0.0/src/supermemory/requests/connector_list.py +15 -0
  99. supermemory-5.0.0/src/supermemory/requests/connector_run.py +21 -0
  100. supermemory-5.0.0/src/supermemory/requests/connector_run_system.py +25 -0
  101. supermemory-5.0.0/src/supermemory/requests/connector_selection.py +31 -0
  102. supermemory-5.0.0/src/supermemory/requests/connector_selection_item.py +8 -0
  103. supermemory-5.0.0/src/supermemory/requests/connector_setup.py +89 -0
  104. supermemory-5.0.0/src/supermemory/requests/connector_setup_github.py +18 -0
  105. supermemory-5.0.0/src/supermemory/requests/connector_setup_gmail.py +18 -0
  106. supermemory-5.0.0/src/supermemory/requests/connector_setup_google_drive.py +21 -0
  107. supermemory-5.0.0/src/supermemory/requests/connector_setup_granola.py +19 -0
  108. supermemory-5.0.0/src/supermemory/requests/connector_setup_notion.py +18 -0
  109. supermemory-5.0.0/src/supermemory/requests/connector_setup_onedrive.py +18 -0
  110. supermemory-5.0.0/src/supermemory/requests/connector_setup_result.py +18 -0
  111. supermemory-5.0.0/src/supermemory/requests/connector_setup_s3.py +19 -0
  112. supermemory-5.0.0/src/supermemory/requests/connector_setup_web_crawler.py +19 -0
  113. supermemory-5.0.0/src/supermemory/requests/connector_sync.py +32 -0
  114. supermemory-5.0.0/src/supermemory/requests/connector_sync_failure.py +14 -0
  115. supermemory-5.0.0/src/supermemory/requests/connector_sync_started.py +14 -0
  116. supermemory-5.0.0/src/supermemory/requests/connector_sync_system.py +25 -0
  117. supermemory-5.0.0/src/supermemory/requests/connector_system.py +31 -0
  118. supermemory-5.0.0/src/supermemory/requests/delete_document_error.py +15 -0
  119. supermemory-5.0.0/src/supermemory/requests/delete_documents_result.py +18 -0
  120. supermemory-5.0.0/src/supermemory/requests/document.py +59 -0
  121. supermemory-5.0.0/src/supermemory/requests/document_input.py +41 -0
  122. supermemory-5.0.0/src/supermemory/requests/document_list_item.py +47 -0
  123. supermemory-5.0.0/src/supermemory/requests/document_list_item_system.py +27 -0
  124. supermemory-5.0.0/src/supermemory/requests/document_ref.py +16 -0
  125. supermemory-5.0.0/src/supermemory/requests/document_system.py +28 -0
  126. supermemory-5.0.0/src/supermemory/requests/error_response.py +15 -0
  127. supermemory-5.0.0/src/supermemory/requests/filter_and.py +22 -0
  128. supermemory-5.0.0/src/supermemory/requests/filter_array_contains.py +21 -0
  129. supermemory-5.0.0/src/supermemory/requests/filter_expression.py +12 -0
  130. supermemory-5.0.0/src/supermemory/requests/filter_number_compare.py +21 -0
  131. supermemory-5.0.0/src/supermemory/requests/filter_or.py +22 -0
  132. supermemory-5.0.0/src/supermemory/requests/filter_predicate.py +17 -0
  133. supermemory-5.0.0/src/supermemory/requests/filter_string_contains.py +29 -0
  134. supermemory-5.0.0/src/supermemory/requests/filter_string_equals.py +29 -0
  135. supermemory-5.0.0/src/supermemory/requests/filter_value_equals.py +22 -0
  136. supermemory-5.0.0/src/supermemory/requests/filter_value_equals_value.py +5 -0
  137. supermemory-5.0.0/src/supermemory/requests/forget_error.py +15 -0
  138. supermemory-5.0.0/src/supermemory/requests/forget_match.py +15 -0
  139. supermemory-5.0.0/src/supermemory/requests/forget_result.py +24 -0
  140. supermemory-5.0.0/src/supermemory/requests/google_drive_config.py +14 -0
  141. supermemory-5.0.0/src/supermemory/requests/granola_config.py +12 -0
  142. supermemory-5.0.0/src/supermemory/requests/list_request_include.py +14 -0
  143. supermemory-5.0.0/src/supermemory/requests/list_response.py +35 -0
  144. supermemory-5.0.0/src/supermemory/requests/memory.py +58 -0
  145. supermemory-5.0.0/src/supermemory/requests/memory_details.py +60 -0
  146. supermemory-5.0.0/src/supermemory/requests/memory_included.py +21 -0
  147. supermemory-5.0.0/src/supermemory/requests/memory_included_document.py +42 -0
  148. supermemory-5.0.0/src/supermemory/requests/memory_included_document_system.py +20 -0
  149. supermemory-5.0.0/src/supermemory/requests/memory_included_related.py +29 -0
  150. supermemory-5.0.0/src/supermemory/requests/memory_included_related_children_item.py +45 -0
  151. supermemory-5.0.0/src/supermemory/requests/memory_included_related_children_item_document.py +42 -0
  152. supermemory-5.0.0/src/supermemory/requests/memory_included_related_children_item_document_system.py +20 -0
  153. supermemory-5.0.0/src/supermemory/requests/memory_included_related_children_item_system.py +15 -0
  154. supermemory-5.0.0/src/supermemory/requests/memory_included_related_parents_item.py +45 -0
  155. supermemory-5.0.0/src/supermemory/requests/memory_included_related_parents_item_document.py +42 -0
  156. supermemory-5.0.0/src/supermemory/requests/memory_included_related_parents_item_document_system.py +20 -0
  157. supermemory-5.0.0/src/supermemory/requests/memory_included_related_parents_item_system.py +15 -0
  158. supermemory-5.0.0/src/supermemory/requests/memory_included_related_siblings_item.py +45 -0
  159. supermemory-5.0.0/src/supermemory/requests/memory_included_related_siblings_item_document.py +42 -0
  160. supermemory-5.0.0/src/supermemory/requests/memory_included_related_siblings_item_document_system.py +20 -0
  161. supermemory-5.0.0/src/supermemory/requests/memory_included_related_siblings_item_system.py +15 -0
  162. supermemory-5.0.0/src/supermemory/requests/memory_system.py +22 -0
  163. supermemory-5.0.0/src/supermemory/requests/metadata_value.py +5 -0
  164. supermemory-5.0.0/src/supermemory/requests/namespace.py +39 -0
  165. supermemory-5.0.0/src/supermemory/requests/namespace_deleted.py +25 -0
  166. supermemory-5.0.0/src/supermemory/requests/namespace_deleted_deleted.py +21 -0
  167. supermemory-5.0.0/src/supermemory/requests/namespace_deleted_queued.py +21 -0
  168. supermemory-5.0.0/src/supermemory/requests/namespace_details.py +24 -0
  169. supermemory-5.0.0/src/supermemory/requests/namespace_list.py +19 -0
  170. supermemory-5.0.0/src/supermemory/requests/namespace_system.py +22 -0
  171. supermemory-5.0.0/src/supermemory/requests/organization.py +20 -0
  172. supermemory-5.0.0/src/supermemory/requests/pagination.py +30 -0
  173. supermemory-5.0.0/src/supermemory/requests/profile.py +27 -0
  174. supermemory-5.0.0/src/supermemory/requests/profile_buckets.py +12 -0
  175. supermemory-5.0.0/src/supermemory/requests/profile_fact.py +15 -0
  176. supermemory-5.0.0/src/supermemory/requests/profile_response.py +11 -0
  177. supermemory-5.0.0/src/supermemory/requests/related_memories.py +27 -0
  178. supermemory-5.0.0/src/supermemory/requests/related_memory.py +39 -0
  179. supermemory-5.0.0/src/supermemory/requests/related_memory_system.py +15 -0
  180. supermemory-5.0.0/src/supermemory/requests/s3config.py +24 -0
  181. supermemory-5.0.0/src/supermemory/requests/search_include.py +24 -0
  182. supermemory-5.0.0/src/supermemory/requests/search_response.py +19 -0
  183. supermemory-5.0.0/src/supermemory/requests/search_result.py +55 -0
  184. supermemory-5.0.0/src/supermemory/requests/search_result_included.py +21 -0
  185. supermemory-5.0.0/src/supermemory/requests/search_result_included_document.py +42 -0
  186. supermemory-5.0.0/src/supermemory/requests/search_result_included_document_system.py +20 -0
  187. supermemory-5.0.0/src/supermemory/requests/search_result_system.py +20 -0
  188. supermemory-5.0.0/src/supermemory/requests/validation_error_response.py +23 -0
  189. supermemory-5.0.0/src/supermemory/requests/validation_error_response_error_item.py +11 -0
  190. supermemory-5.0.0/src/supermemory/requests/validation_error_response_error_item_path_item.py +5 -0
  191. supermemory-5.0.0/src/supermemory/requests/web_crawler_config.py +16 -0
  192. supermemory-5.0.0/src/supermemory/types/__init__.py +458 -0
  193. supermemory-5.0.0/src/supermemory/types/bad_request_error_body.py +8 -0
  194. supermemory-5.0.0/src/supermemory/types/batch_add_item_result.py +44 -0
  195. supermemory-5.0.0/src/supermemory/types/batch_add_item_result_status.py +8 -0
  196. supermemory-5.0.0/src/supermemory/types/batch_add_result.py +34 -0
  197. supermemory-5.0.0/src/supermemory/types/chunk.py +53 -0
  198. supermemory-5.0.0/src/supermemory/types/chunk_list_item.py +60 -0
  199. supermemory-5.0.0/src/supermemory/types/chunk_system.py +34 -0
  200. supermemory-5.0.0/src/supermemory/types/connector.py +94 -0
  201. supermemory-5.0.0/src/supermemory/types/connector_capabilities.py +28 -0
  202. supermemory-5.0.0/src/supermemory/types/connector_config_value.py +5 -0
  203. supermemory-5.0.0/src/supermemory/types/connector_deleted.py +21 -0
  204. supermemory-5.0.0/src/supermemory/types/connector_error_code.py +7 -0
  205. supermemory-5.0.0/src/supermemory/types/connector_include.py +5 -0
  206. supermemory-5.0.0/src/supermemory/types/connector_link.py +30 -0
  207. supermemory-5.0.0/src/supermemory/types/connector_list.py +26 -0
  208. supermemory-5.0.0/src/supermemory/types/connector_provider.py +7 -0
  209. supermemory-5.0.0/src/supermemory/types/connector_run.py +35 -0
  210. supermemory-5.0.0/src/supermemory/types/connector_run_status.py +5 -0
  211. supermemory-5.0.0/src/supermemory/types/connector_run_system.py +45 -0
  212. supermemory-5.0.0/src/supermemory/types/connector_selection.py +42 -0
  213. supermemory-5.0.0/src/supermemory/types/connector_selection_item.py +21 -0
  214. supermemory-5.0.0/src/supermemory/types/connector_setup.py +177 -0
  215. supermemory-5.0.0/src/supermemory/types/connector_setup_github.py +38 -0
  216. supermemory-5.0.0/src/supermemory/types/connector_setup_gmail.py +38 -0
  217. supermemory-5.0.0/src/supermemory/types/connector_setup_google_drive.py +41 -0
  218. supermemory-5.0.0/src/supermemory/types/connector_setup_granola.py +35 -0
  219. supermemory-5.0.0/src/supermemory/types/connector_setup_notion.py +38 -0
  220. supermemory-5.0.0/src/supermemory/types/connector_setup_onedrive.py +38 -0
  221. supermemory-5.0.0/src/supermemory/types/connector_setup_result.py +29 -0
  222. supermemory-5.0.0/src/supermemory/types/connector_setup_s3.py +35 -0
  223. supermemory-5.0.0/src/supermemory/types/connector_setup_web_crawler.py +35 -0
  224. supermemory-5.0.0/src/supermemory/types/connector_status.py +5 -0
  225. supermemory-5.0.0/src/supermemory/types/connector_sync.py +50 -0
  226. supermemory-5.0.0/src/supermemory/types/connector_sync_failure.py +28 -0
  227. supermemory-5.0.0/src/supermemory/types/connector_sync_started.py +25 -0
  228. supermemory-5.0.0/src/supermemory/types/connector_sync_system.py +45 -0
  229. supermemory-5.0.0/src/supermemory/types/connector_sync_trigger.py +5 -0
  230. supermemory-5.0.0/src/supermemory/types/connector_system.py +52 -0
  231. supermemory-5.0.0/src/supermemory/types/delete_document_error.py +28 -0
  232. supermemory-5.0.0/src/supermemory/types/delete_documents_result.py +29 -0
  233. supermemory-5.0.0/src/supermemory/types/document.py +70 -0
  234. supermemory-5.0.0/src/supermemory/types/document_include.py +5 -0
  235. supermemory-5.0.0/src/supermemory/types/document_input.py +58 -0
  236. supermemory-5.0.0/src/supermemory/types/document_list_item.py +58 -0
  237. supermemory-5.0.0/src/supermemory/types/document_list_item_system.py +48 -0
  238. supermemory-5.0.0/src/supermemory/types/document_ref.py +29 -0
  239. supermemory-5.0.0/src/supermemory/types/document_ref_status.py +7 -0
  240. supermemory-5.0.0/src/supermemory/types/document_system.py +49 -0
  241. supermemory-5.0.0/src/supermemory/types/document_system_status.py +7 -0
  242. supermemory-5.0.0/src/supermemory/types/dreaming_mode.py +5 -0
  243. supermemory-5.0.0/src/supermemory/types/error_response.py +28 -0
  244. supermemory-5.0.0/src/supermemory/types/file_type.py +5 -0
  245. supermemory-5.0.0/src/supermemory/types/filter_and.py +36 -0
  246. supermemory-5.0.0/src/supermemory/types/filter_array_contains.py +34 -0
  247. supermemory-5.0.0/src/supermemory/types/filter_array_contains_operator.py +5 -0
  248. supermemory-5.0.0/src/supermemory/types/filter_expression.py +12 -0
  249. supermemory-5.0.0/src/supermemory/types/filter_number_compare.py +34 -0
  250. supermemory-5.0.0/src/supermemory/types/filter_number_compare_operator.py +5 -0
  251. supermemory-5.0.0/src/supermemory/types/filter_or.py +36 -0
  252. supermemory-5.0.0/src/supermemory/types/filter_predicate.py +13 -0
  253. supermemory-5.0.0/src/supermemory/types/filter_string_contains.py +45 -0
  254. supermemory-5.0.0/src/supermemory/types/filter_string_contains_operator.py +5 -0
  255. supermemory-5.0.0/src/supermemory/types/filter_string_equals.py +45 -0
  256. supermemory-5.0.0/src/supermemory/types/filter_string_equals_operator.py +5 -0
  257. supermemory-5.0.0/src/supermemory/types/filter_value_equals.py +35 -0
  258. supermemory-5.0.0/src/supermemory/types/filter_value_equals_operator.py +5 -0
  259. supermemory-5.0.0/src/supermemory/types/filter_value_equals_value.py +5 -0
  260. supermemory-5.0.0/src/supermemory/types/forget_error.py +28 -0
  261. supermemory-5.0.0/src/supermemory/types/forget_match.py +28 -0
  262. supermemory-5.0.0/src/supermemory/types/forget_result.py +35 -0
  263. supermemory-5.0.0/src/supermemory/types/google_drive_config.py +33 -0
  264. supermemory-5.0.0/src/supermemory/types/google_drive_config_sync_scope.py +5 -0
  265. supermemory-5.0.0/src/supermemory/types/granola_config.py +26 -0
  266. supermemory-5.0.0/src/supermemory/types/list_request_include.py +27 -0
  267. supermemory-5.0.0/src/supermemory/types/list_response.py +46 -0
  268. supermemory-5.0.0/src/supermemory/types/list_sort.py +5 -0
  269. supermemory-5.0.0/src/supermemory/types/list_type.py +5 -0
  270. supermemory-5.0.0/src/supermemory/types/memory.py +88 -0
  271. supermemory-5.0.0/src/supermemory/types/memory_details.py +90 -0
  272. supermemory-5.0.0/src/supermemory/types/memory_include.py +5 -0
  273. supermemory-5.0.0/src/supermemory/types/memory_included.py +34 -0
  274. supermemory-5.0.0/src/supermemory/types/memory_included_document.py +53 -0
  275. supermemory-5.0.0/src/supermemory/types/memory_included_document_system.py +42 -0
  276. supermemory-5.0.0/src/supermemory/types/memory_included_related.py +40 -0
  277. supermemory-5.0.0/src/supermemory/types/memory_included_related_children_item.py +56 -0
  278. supermemory-5.0.0/src/supermemory/types/memory_included_related_children_item_document.py +53 -0
  279. supermemory-5.0.0/src/supermemory/types/memory_included_related_children_item_document_system.py +42 -0
  280. supermemory-5.0.0/src/supermemory/types/memory_included_related_children_item_system.py +33 -0
  281. supermemory-5.0.0/src/supermemory/types/memory_included_related_parents_item.py +56 -0
  282. supermemory-5.0.0/src/supermemory/types/memory_included_related_parents_item_document.py +53 -0
  283. supermemory-5.0.0/src/supermemory/types/memory_included_related_parents_item_document_system.py +42 -0
  284. supermemory-5.0.0/src/supermemory/types/memory_included_related_parents_item_system.py +33 -0
  285. supermemory-5.0.0/src/supermemory/types/memory_included_related_siblings_item.py +56 -0
  286. supermemory-5.0.0/src/supermemory/types/memory_included_related_siblings_item_document.py +53 -0
  287. supermemory-5.0.0/src/supermemory/types/memory_included_related_siblings_item_document_system.py +42 -0
  288. supermemory-5.0.0/src/supermemory/types/memory_included_related_siblings_item_system.py +33 -0
  289. supermemory-5.0.0/src/supermemory/types/memory_relation.py +5 -0
  290. supermemory-5.0.0/src/supermemory/types/memory_system.py +43 -0
  291. supermemory-5.0.0/src/supermemory/types/metadata_value.py +5 -0
  292. supermemory-5.0.0/src/supermemory/types/namespace.py +59 -0
  293. supermemory-5.0.0/src/supermemory/types/namespace_deleted.py +54 -0
  294. supermemory-5.0.0/src/supermemory/types/namespace_deleted_deleted.py +43 -0
  295. supermemory-5.0.0/src/supermemory/types/namespace_deleted_queued.py +43 -0
  296. supermemory-5.0.0/src/supermemory/types/namespace_details.py +43 -0
  297. supermemory-5.0.0/src/supermemory/types/namespace_list.py +30 -0
  298. supermemory-5.0.0/src/supermemory/types/namespace_system.py +43 -0
  299. supermemory-5.0.0/src/supermemory/types/organization.py +41 -0
  300. supermemory-5.0.0/src/supermemory/types/pagination.py +56 -0
  301. supermemory-5.0.0/src/supermemory/types/profile.py +38 -0
  302. supermemory-5.0.0/src/supermemory/types/profile_buckets.py +23 -0
  303. supermemory-5.0.0/src/supermemory/types/profile_fact.py +28 -0
  304. supermemory-5.0.0/src/supermemory/types/profile_response.py +24 -0
  305. supermemory-5.0.0/src/supermemory/types/related_memories.py +38 -0
  306. supermemory-5.0.0/src/supermemory/types/related_memory.py +50 -0
  307. supermemory-5.0.0/src/supermemory/types/related_memory_system.py +33 -0
  308. supermemory-5.0.0/src/supermemory/types/s3config.py +42 -0
  309. supermemory-5.0.0/src/supermemory/types/search_include.py +37 -0
  310. supermemory-5.0.0/src/supermemory/types/search_mode.py +5 -0
  311. supermemory-5.0.0/src/supermemory/types/search_request_rerank.py +5 -0
  312. supermemory-5.0.0/src/supermemory/types/search_response.py +35 -0
  313. supermemory-5.0.0/src/supermemory/types/search_result.py +81 -0
  314. supermemory-5.0.0/src/supermemory/types/search_result_included.py +34 -0
  315. supermemory-5.0.0/src/supermemory/types/search_result_included_document.py +53 -0
  316. supermemory-5.0.0/src/supermemory/types/search_result_included_document_system.py +42 -0
  317. supermemory-5.0.0/src/supermemory/types/search_result_system.py +42 -0
  318. supermemory-5.0.0/src/supermemory/types/sort_order.py +5 -0
  319. supermemory-5.0.0/src/supermemory/types/task_type.py +5 -0
  320. supermemory-5.0.0/src/supermemory/types/validation_error_response.py +34 -0
  321. supermemory-5.0.0/src/supermemory/types/validation_error_response_error_item.py +22 -0
  322. supermemory-5.0.0/src/supermemory/types/validation_error_response_error_item_path_item.py +5 -0
  323. supermemory-5.0.0/src/supermemory/types/web_crawler_config.py +34 -0
  324. supermemory-5.0.0/tests/live/test_live.py +84 -0
  325. supermemory-5.0.0/tests/test_client.py +150 -0
  326. supermemory-5.0.0/tests/test_compat.py +244 -0
  327. supermemory-5.0.0/tests/test_docs.py +86 -0
  328. supermemory-5.0.0/uv.lock +1522 -0
  329. supermemory-3.61.0/.gitignore +0 -16
  330. supermemory-3.61.0/.release-please-manifest.json +0 -3
  331. supermemory-3.61.0/CONTRIBUTING.md +0 -121
  332. supermemory-3.61.0/PKG-INFO +0 -458
  333. supermemory-3.61.0/README.md +0 -423
  334. supermemory-3.61.0/api.md +0 -113
  335. supermemory-3.61.0/bin/check-release-environment +0 -21
  336. supermemory-3.61.0/bin/publish-pypi +0 -6
  337. supermemory-3.61.0/examples/.keep +0 -4
  338. supermemory-3.61.0/noxfile.py +0 -9
  339. supermemory-3.61.0/pyproject.toml +0 -269
  340. supermemory-3.61.0/release-please-config.json +0 -66
  341. supermemory-3.61.0/requirements-dev.lock +0 -149
  342. supermemory-3.61.0/requirements.lock +0 -76
  343. supermemory-3.61.0/src/supermemory/__init__.py +0 -102
  344. supermemory-3.61.0/src/supermemory/_base_client.py +0 -2131
  345. supermemory-3.61.0/src/supermemory/_client.py +0 -994
  346. supermemory-3.61.0/src/supermemory/_compat.py +0 -226
  347. supermemory-3.61.0/src/supermemory/_constants.py +0 -14
  348. supermemory-3.61.0/src/supermemory/_exceptions.py +0 -108
  349. supermemory-3.61.0/src/supermemory/_files.py +0 -173
  350. supermemory-3.61.0/src/supermemory/_models.py +0 -952
  351. supermemory-3.61.0/src/supermemory/_qs.py +0 -149
  352. supermemory-3.61.0/src/supermemory/_resource.py +0 -43
  353. supermemory-3.61.0/src/supermemory/_response.py +0 -835
  354. supermemory-3.61.0/src/supermemory/_streaming.py +0 -338
  355. supermemory-3.61.0/src/supermemory/_types.py +0 -273
  356. supermemory-3.61.0/src/supermemory/_utils/__init__.py +0 -64
  357. supermemory-3.61.0/src/supermemory/_utils/_compat.py +0 -45
  358. supermemory-3.61.0/src/supermemory/_utils/_datetime_parse.py +0 -136
  359. supermemory-3.61.0/src/supermemory/_utils/_json.py +0 -35
  360. supermemory-3.61.0/src/supermemory/_utils/_logs.py +0 -25
  361. supermemory-3.61.0/src/supermemory/_utils/_path.py +0 -127
  362. supermemory-3.61.0/src/supermemory/_utils/_proxy.py +0 -65
  363. supermemory-3.61.0/src/supermemory/_utils/_reflection.py +0 -42
  364. supermemory-3.61.0/src/supermemory/_utils/_resources_proxy.py +0 -24
  365. supermemory-3.61.0/src/supermemory/_utils/_streams.py +0 -12
  366. supermemory-3.61.0/src/supermemory/_utils/_sync.py +0 -58
  367. supermemory-3.61.0/src/supermemory/_utils/_transform.py +0 -457
  368. supermemory-3.61.0/src/supermemory/_utils/_typing.py +0 -156
  369. supermemory-3.61.0/src/supermemory/_utils/_utils.py +0 -433
  370. supermemory-3.61.0/src/supermemory/_version.py +0 -4
  371. supermemory-3.61.0/src/supermemory/lib/.keep +0 -4
  372. supermemory-3.61.0/src/supermemory/resources/__init__.py +0 -75
  373. supermemory-3.61.0/src/supermemory/resources/connections.py +0 -1028
  374. supermemory-3.61.0/src/supermemory/resources/documents.py +0 -1510
  375. supermemory-3.61.0/src/supermemory/resources/memories.py +0 -374
  376. supermemory-3.61.0/src/supermemory/resources/search.py +0 -739
  377. supermemory-3.61.0/src/supermemory/resources/settings.py +0 -421
  378. supermemory-3.61.0/src/supermemory/types/__init__.py +0 -57
  379. supermemory-3.61.0/src/supermemory/types/add_response.py +0 -13
  380. supermemory-3.61.0/src/supermemory/types/client_add_params.py +0 -80
  381. supermemory-3.61.0/src/supermemory/types/client_profile_params.py +0 -140
  382. supermemory-3.61.0/src/supermemory/types/connection_configure_params.py +0 -12
  383. supermemory-3.61.0/src/supermemory/types/connection_configure_response.py +0 -17
  384. supermemory-3.61.0/src/supermemory/types/connection_create_params.py +0 -23
  385. supermemory-3.61.0/src/supermemory/types/connection_create_response.py +0 -19
  386. supermemory-3.61.0/src/supermemory/types/connection_delete_by_id_params.py +0 -14
  387. supermemory-3.61.0/src/supermemory/types/connection_delete_by_id_response.py +0 -17
  388. supermemory-3.61.0/src/supermemory/types/connection_delete_by_provider_params.py +0 -15
  389. supermemory-3.61.0/src/supermemory/types/connection_delete_by_provider_response.py +0 -17
  390. supermemory-3.61.0/src/supermemory/types/connection_get_by_id_response.py +0 -44
  391. supermemory-3.61.0/src/supermemory/types/connection_get_by_tag_params.py +0 -15
  392. supermemory-3.61.0/src/supermemory/types/connection_get_by_tag_response.py +0 -44
  393. supermemory-3.61.0/src/supermemory/types/connection_import_params.py +0 -15
  394. supermemory-3.61.0/src/supermemory/types/connection_import_response.py +0 -7
  395. supermemory-3.61.0/src/supermemory/types/connection_list_documents_params.py +0 -15
  396. supermemory-3.61.0/src/supermemory/types/connection_list_documents_response.py +0 -29
  397. supermemory-3.61.0/src/supermemory/types/connection_list_params.py +0 -15
  398. supermemory-3.61.0/src/supermemory/types/connection_list_response.py +0 -47
  399. supermemory-3.61.0/src/supermemory/types/connection_resources_params.py +0 -15
  400. supermemory-3.61.0/src/supermemory/types/connection_resources_response.py +0 -13
  401. supermemory-3.61.0/src/supermemory/types/document_add_params.py +0 -80
  402. supermemory-3.61.0/src/supermemory/types/document_add_response.py +0 -13
  403. supermemory-3.61.0/src/supermemory/types/document_batch_add_params.py +0 -178
  404. supermemory-3.61.0/src/supermemory/types/document_batch_add_response.py +0 -40
  405. supermemory-3.61.0/src/supermemory/types/document_delete_bulk_params.py +0 -24
  406. supermemory-3.61.0/src/supermemory/types/document_delete_bulk_response.py +0 -37
  407. supermemory-3.61.0/src/supermemory/types/document_get_response.py +0 -146
  408. supermemory-3.61.0/src/supermemory/types/document_list_params.py +0 -139
  409. supermemory-3.61.0/src/supermemory/types/document_list_processing_params.py +0 -28
  410. supermemory-3.61.0/src/supermemory/types/document_list_processing_response.py +0 -110
  411. supermemory-3.61.0/src/supermemory/types/document_list_response.py +0 -106
  412. supermemory-3.61.0/src/supermemory/types/document_update_params.py +0 -87
  413. supermemory-3.61.0/src/supermemory/types/document_update_response.py +0 -13
  414. supermemory-3.61.0/src/supermemory/types/document_upload_file_params.py +0 -95
  415. supermemory-3.61.0/src/supermemory/types/document_upload_file_response.py +0 -13
  416. supermemory-3.61.0/src/supermemory/types/memory_forget_params.py +0 -26
  417. supermemory-3.61.0/src/supermemory/types/memory_forget_response.py +0 -15
  418. supermemory-3.61.0/src/supermemory/types/memory_update_memory_params.py +0 -64
  419. supermemory-3.61.0/src/supermemory/types/memory_update_memory_response.py +0 -43
  420. supermemory-3.61.0/src/supermemory/types/profile_response.py +0 -200
  421. supermemory-3.61.0/src/supermemory/types/search_documents_params.py +0 -183
  422. supermemory-3.61.0/src/supermemory/types/search_documents_response.py +0 -69
  423. supermemory-3.61.0/src/supermemory/types/search_execute_params.py +0 -183
  424. supermemory-3.61.0/src/supermemory/types/search_execute_response.py +0 -69
  425. supermemory-3.61.0/src/supermemory/types/search_memories_params.py +0 -191
  426. supermemory-3.61.0/src/supermemory/types/search_memories_response.py +0 -186
  427. supermemory-3.61.0/src/supermemory/types/setting_get_response.py +0 -64
  428. supermemory-3.61.0/src/supermemory/types/setting_update_params.py +0 -70
  429. supermemory-3.61.0/src/supermemory/types/setting_update_response.py +0 -72
  430. supermemory-3.61.0/src/supermemory_new/lib/.keep +0 -4
  431. supermemory-3.61.0/tests/__init__.py +0 -1
  432. supermemory-3.61.0/tests/api_resources/__init__.py +0 -1
  433. supermemory-3.61.0/tests/api_resources/test_client.py +0 -244
  434. supermemory-3.61.0/tests/api_resources/test_connections.py +0 -904
  435. supermemory-3.61.0/tests/api_resources/test_documents.py +0 -1001
  436. supermemory-3.61.0/tests/api_resources/test_memories.py +0 -227
  437. supermemory-3.61.0/tests/api_resources/test_search.py +0 -436
  438. supermemory-3.61.0/tests/api_resources/test_settings.py +0 -264
  439. supermemory-3.61.0/tests/conftest.py +0 -84
  440. supermemory-3.61.0/tests/sample_file.txt +0 -1
  441. supermemory-3.61.0/tests/test_client.py +0 -1980
  442. supermemory-3.61.0/tests/test_extract_files.py +0 -91
  443. supermemory-3.61.0/tests/test_files.py +0 -148
  444. supermemory-3.61.0/tests/test_models.py +0 -1017
  445. supermemory-3.61.0/tests/test_qs.py +0 -78
  446. supermemory-3.61.0/tests/test_required_args.py +0 -111
  447. supermemory-3.61.0/tests/test_response.py +0 -277
  448. supermemory-3.61.0/tests/test_streaming.py +0 -252
  449. supermemory-3.61.0/tests/test_transform.py +0 -460
  450. supermemory-3.61.0/tests/test_utils/test_datetime_parse.py +0 -110
  451. supermemory-3.61.0/tests/test_utils/test_json.py +0 -126
  452. supermemory-3.61.0/tests/test_utils/test_path.py +0 -89
  453. supermemory-3.61.0/tests/test_utils/test_proxy.py +0 -34
  454. supermemory-3.61.0/tests/test_utils/test_typing.py +0 -73
  455. supermemory-3.61.0/tests/utils.py +0 -167
  456. {supermemory-3.61.0 → supermemory-5.0.0}/LICENSE +0 -0
  457. {supermemory-3.61.0 → supermemory-5.0.0}/SECURITY.md +0 -0
  458. {supermemory-3.61.0 → supermemory-5.0.0}/src/supermemory/py.typed +0 -0
@@ -0,0 +1,70 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches: [main]
5
+ pull_request:
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ test:
13
+ name: test (py${{ matrix.python }}${{ matrix.pydantic == 'v1' && ', pydantic v1' || '' }})
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
19
+ pydantic: [v2]
20
+ include:
21
+ - python: "3.10"
22
+ pydantic: v1
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - uses: astral-sh/setup-uv@v6
26
+ - if: matrix.pydantic == 'v2'
27
+ run: uv run --python ${{ matrix.python }} --group dev pytest -q
28
+ - if: matrix.pydantic == 'v1'
29
+ run: uv run --python ${{ matrix.python }} --with 'pydantic<2' --group dev pytest -q
30
+
31
+ lint:
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+ - uses: astral-sh/setup-uv@v6
36
+ - run: uv run --group dev ruff check .
37
+ - run: uv run --group dev ruff format --check custom tests scripts examples
38
+ - run: uv run --group dev mypy
39
+ - run: uv build
40
+
41
+ # src/supermemory must be exactly what scripts/generate produces from the
42
+ # committed spec + fern/ + custom/ — no hand edits.
43
+ generated:
44
+ runs-on: ubuntu-latest
45
+ steps:
46
+ - uses: actions/checkout@v4
47
+ - uses: oven-sh/setup-bun@v2
48
+ - uses: astral-sh/setup-uv@v6
49
+ - run: SKIP_FETCH=1 scripts/generate
50
+ - name: Check for drift
51
+ run: |
52
+ if [ -n "$(git status --porcelain)" ]; then
53
+ git status --short
54
+ echo "::error::src/supermemory doesn't match scripts/generate. Edit fern/ or custom/ instead of src/, then run SKIP_FETCH=1 scripts/generate and commit."
55
+ exit 1
56
+ fi
57
+
58
+ # Against the real API; runs when the SUPERMEMORY_LIVE_API_KEY secret exists.
59
+ live:
60
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
61
+ runs-on: ubuntu-latest
62
+ env:
63
+ SUPERMEMORY_LIVE_API_KEY: ${{ secrets.SUPERMEMORY_LIVE_API_KEY }}
64
+ steps:
65
+ - uses: actions/checkout@v4
66
+ if: env.SUPERMEMORY_LIVE_API_KEY != ''
67
+ - uses: astral-sh/setup-uv@v6
68
+ if: env.SUPERMEMORY_LIVE_API_KEY != ''
69
+ - if: env.SUPERMEMORY_LIVE_API_KEY != ''
70
+ run: uv run --group dev pytest tests/live -q
@@ -0,0 +1,75 @@
1
+ name: Generate SDK
2
+ on:
3
+ # Sent by the API deploy when /v5/openapi changes:
4
+ # gh api repos/supermemoryai/python-sdk/dispatches -f event_type=openapi-updated
5
+ repository_dispatch:
6
+ types: [openapi-updated]
7
+ # Backstop in case a deploy didn't dispatch.
8
+ schedule:
9
+ - cron: "0 0 * * *"
10
+ workflow_dispatch:
11
+ inputs:
12
+ version:
13
+ description: Set the SDK version (PEP 440, e.g. 5.0.0rc2 or 5.0.0). Empty = bump automatically if the SDK changed.
14
+ type: string
15
+ required: false
16
+
17
+ permissions:
18
+ contents: write
19
+ pull-requests: write
20
+
21
+ concurrency:
22
+ group: generate-sdk
23
+ cancel-in-progress: true
24
+
25
+ jobs:
26
+ generate:
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ - uses: oven-sh/setup-bun@v2
31
+ - uses: astral-sh/setup-uv@v6
32
+
33
+ - name: Generate from https://api.supermemory.ai/v5/openapi
34
+ run: scripts/generate
35
+
36
+ - name: Version
37
+ id: meta
38
+ env:
39
+ VERSION: ${{ inputs.version }}
40
+ run: |
41
+ if [ -n "$VERSION" ]; then
42
+ sed -i "s/^version = \".*\"/version = \"$VERSION\"/" pyproject.toml
43
+ SKIP_FETCH=1 scripts/generate # re-stamp the User-Agent version
44
+ elif [ -n "$(git status --porcelain -- src)" ]; then
45
+ python3 scripts/bump_version.py
46
+ SKIP_FETCH=1 scripts/generate
47
+ fi
48
+ echo "version=$(grep -m1 '^version' pyproject.toml | cut -d'"' -f2)" >> "$GITHUB_OUTPUT"
49
+ {
50
+ echo 'stat<<EOF'
51
+ git diff --stat -- fern/openapi.json src | tail -n 25
52
+ echo EOF
53
+ } >> "$GITHUB_OUTPUT"
54
+
55
+ - name: Test
56
+ run: uv run --group dev pytest -q
57
+
58
+ # Opens (or updates) one PR; no-op if nothing changed. A PR opened with the
59
+ # default GITHUB_TOKEN doesn't trigger CI, so set CODEGEN_PR_TOKEN (a
60
+ # fine-grained PAT or app token with contents + pull-requests write).
61
+ - uses: peter-evans/create-pull-request@v7
62
+ with:
63
+ token: ${{ secrets.CODEGEN_PR_TOKEN || github.token }}
64
+ branch: codegen/regenerate
65
+ delete-branch: true
66
+ commit-message: "chore: regenerate SDK from v5 OpenAPI spec (${{ steps.meta.outputs.version }})"
67
+ title: "chore: regenerate SDK (${{ steps.meta.outputs.version }})"
68
+ body: |
69
+ Regenerated `src/supermemory` from `https://api.supermemory.ai/v5/openapi` (`scripts/generate`).
70
+
71
+ Merging publishes **supermemory ${{ steps.meta.outputs.version }}** to PyPI.
72
+
73
+ ```
74
+ ${{ steps.meta.outputs.stat }}
75
+ ```
@@ -0,0 +1,50 @@
1
+ name: Publish to PyPI
2
+ on:
3
+ push:
4
+ branches: [main]
5
+ workflow_dispatch:
6
+
7
+ permissions:
8
+ contents: write # tag + GitHub release
9
+
10
+ jobs:
11
+ publish:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - uses: astral-sh/setup-uv@v6
16
+
17
+ # Merges that don't bump the version (docs, CI tweaks) are no-ops.
18
+ - name: Check version
19
+ id: meta
20
+ run: |
21
+ VERSION=$(grep -m1 '^version' pyproject.toml | cut -d'"' -f2)
22
+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
23
+ if curl -fsS "https://pypi.org/pypi/supermemory/$VERSION/json" >/dev/null 2>&1; then
24
+ echo "supermemory $VERSION is already on PyPI — skipping."
25
+ echo "publish=false" >> "$GITHUB_OUTPUT"
26
+ else
27
+ echo "publish=true" >> "$GITHUB_OUTPUT"
28
+ fi
29
+
30
+ - if: steps.meta.outputs.publish == 'true'
31
+ run: uv run --group dev pytest -q
32
+
33
+ - if: steps.meta.outputs.publish == 'true'
34
+ run: uv build
35
+
36
+ - name: Publish ${{ steps.meta.outputs.version }}
37
+ if: steps.meta.outputs.publish == 'true'
38
+ run: uv publish
39
+ env:
40
+ UV_PUBLISH_TOKEN: ${{ secrets.SUPERMEMORY_PYPI_TOKEN || secrets.PYPI_TOKEN }}
41
+
42
+ - name: Tag and release
43
+ if: steps.meta.outputs.publish == 'true'
44
+ env:
45
+ GH_TOKEN: ${{ github.token }}
46
+ VERSION: ${{ steps.meta.outputs.version }}
47
+ run: |
48
+ flags=(--target "$GITHUB_SHA" --generate-notes)
49
+ [[ "$VERSION" =~ (a|b|rc|dev)[0-9]+$ ]] && flags+=(--prerelease)
50
+ gh release create "v$VERSION" dist/* "${flags[@]}"
@@ -0,0 +1,10 @@
1
+ __pycache__
2
+ .mypy_cache
3
+ .pytest_cache
4
+ .ruff_cache
5
+ .venv
6
+ dist
7
+ .idea
8
+ .env
9
+ .envrc
10
+ fern/openapi.sdk.json
@@ -0,0 +1 @@
1
+ 3.10
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.0.0rc1 (2026-10-04)
4
+
5
+ Generated from the Supermemory **v5 API** (`/v5/openapi`) with Fern's open-source generator, replacing Stainless. See [MIGRATION.md](MIGRATION.md).
6
+
7
+ ### Breaking
8
+
9
+ - Namespace-first methods matching the TypeScript SDK: `client.add(namespace, ...)`, `client.search(namespace, query=...)`, `client.profile`, `client.list`, `documents.*`, `memories.*`, `profiles.*`, `namespaces.*`, `organization.*`.
10
+ - Container tags are replaced by namespaces; `q` → `query`, `custom_id` → `id`, `filters` → `filter`, `include` → `attach`.
11
+ - Requires Python 3.10+.
12
+
13
+ ### Kept from 3.x
14
+
15
+ - Client options, environment variables, per-call `extra_headers` / `extra_query` / `extra_body` / `timeout`, `with_options`, the exception hierarchy, `with_raw_response`, `to_dict()` / `to_json()`, and dict-typed request params.
16
+
17
+ ### New
18
+
19
+ - `client.connectors.*` for Notion, Google Drive, OneDrive, Gmail, GitHub, S3, web crawler, and Granola.
20
+ - Named types (`Document`, `Memory`, `SearchResult`, `Connector`, …) and typed filter expressions.
21
+
22
+ ## 3.62.0 (2026-09-14)
23
+
24
+ Full Changelog: [v3.61.0...v3.62.0](https://github.com/supermemoryai/python-sdk/compare/v3.61.0...v3.62.0)
25
+
26
+ ### Features
27
+
28
+ * **api:** api update ([6b34d15](https://github.com/supermemoryai/python-sdk/commit/6b34d1561b825d8a08d0c922b2dcbf3b4f9522d0))
29
+
3
30
  ## 3.61.0 (2026-09-05)
4
31
 
5
32
  Full Changelog: [v3.60.0...v3.61.0](https://github.com/supermemoryai/python-sdk/compare/v3.60.0...v3.61.0)
@@ -0,0 +1,99 @@
1
+ # Migrating from `supermemory` 3.x to 5.x
2
+
3
+ Starting with **5.0.0**, the Python SDK is generated from the Supermemory **v5 API** (`/v5/openapi`) using Fern's open-source generator instead of Stainless. The method names match the TypeScript SDK ([sdk-ts](https://github.com/supermemoryai/sdk-ts)) v5.
4
+
5
+ v5 is namespace-first. Every content operation is scoped to a namespace, which replaces container tags, and the namespace is passed as the first argument.
6
+
7
+ ```sh
8
+ pip install --pre supermemory # while 5.0 is in release candidate
9
+ ```
10
+
11
+ ## TL;DR
12
+
13
+ Only the API methods change. Everything around them works as before:
14
+
15
+ | | 3.x | 5.x |
16
+ |---|---|---|
17
+ | Import / auth / env vars | `from supermemory import Supermemory`, `SUPERMEMORY_API_KEY`, `SUPERMEMORY_BASE_URL` | unchanged |
18
+ | Client options | `api_key`, `base_url`, `timeout`, `max_retries`, `default_headers`, `default_query`, `http_client` | unchanged |
19
+ | Per-call options | `extra_headers`, `extra_query`, `extra_body`, `timeout`; `client.with_options(...)` | unchanged |
20
+ | Retries / timeout | 2 retries, 60s | unchanged |
21
+ | Errors | `supermemory.APIStatusError`, `NotFoundError`, `RateLimitError`, `APIConnectionError`, … | unchanged |
22
+ | Raw responses | `client.with_raw_response.<method>(...).parse()` | unchanged |
23
+ | Models | `.to_dict()`, `.to_json()` | unchanged |
24
+ | Scoping | `container_tag` / `container_tags` in the body | `namespace` positional argument (one per call) |
25
+ | Add | `client.add(content=..., container_tag="u")` | `client.add("u", content=...)` |
26
+ | Search | `client.search.memories(q=...)` | `client.search("u", query=...)` |
27
+ | Profile | profile + optional search (`q`) | profile only. Run `client.search` alongside it |
28
+ | Python | 3.9+ | 3.10+ |
29
+
30
+ ## Method map
31
+
32
+ | 3.x call | 5.x call |
33
+ |---|---|
34
+ | `client.add(...)` / `client.documents.add(...)` | `client.add(namespace, content=...)` |
35
+ | `client.search.memories(...)` / `client.search.documents(...)` | `client.search(namespace, query=...)` |
36
+ | `client.profile(...)` | `client.profile(namespace)` |
37
+ | `client.documents.list(...)` / `client.memories.list(...)` | `client.list(namespace, "documents" \| "chunks" \| "memories")` |
38
+ | `client.documents.get(id)` | `client.documents.get(namespace, id)` |
39
+ | `client.documents.update(id, ...)` | `client.documents.update(namespace, id, ...)` |
40
+ | `client.documents.delete(...)` / `delete_bulk(...)` | `client.documents.delete(namespace, ids=[...])` |
41
+ | `client.documents.batch_add(...)` | `client.documents.batch_add(namespace, documents=[...])` |
42
+ | `client.documents.upload_file(...)` | `client.documents.upload_file(namespace, file=...)` |
43
+ | — | `client.documents.replace_with_file(...)`, `update_file(...)` |
44
+ | `client.memories.forget(...)` | `client.memories.forget(namespace, ids=[...])` |
45
+ | — | `client.memories.forget_matching(...)` |
46
+ | — | `client.profiles.{get_buckets, set_buckets, delete_buckets}` |
47
+ | `client.connections.*` | `client.connectors.{list_all, list, create, get, update, delete, sync}` |
48
+ | container tag management | `client.namespaces.{list, get, update, delete}` |
49
+ | `client.settings.{get, update}` | `client.organization.{get, update}` |
50
+
51
+ ### Renamed request fields
52
+
53
+ | 3.x | 5.x |
54
+ |---|---|
55
+ | `container_tag` / `container_tags` | `namespace` (first argument) |
56
+ | `custom_id` | `id` |
57
+ | `q` | `query` |
58
+ | `filters` | `filter` (typed filter expression) |
59
+ | `include` | `include` (a list on GETs, a dict on search) |
60
+ | search `timing` / `total` | `search_time` |
61
+
62
+ ## Profile no longer searches
63
+
64
+ ```python
65
+ import asyncio
66
+ from supermemory import AsyncSupermemory
67
+
68
+ client = AsyncSupermemory()
69
+
70
+ profile, search = await asyncio.gather(
71
+ client.profile("user_alex"),
72
+ client.search("user_alex", query="upcoming meetings"),
73
+ )
74
+ ```
75
+
76
+ ## Several container tags
77
+
78
+ v5 operations take exactly one namespace. To search several, fan out and merge:
79
+
80
+ ```python
81
+ responses = await asyncio.gather(*(client.search(ns, query="roadmap") for ns in ["user_alex", "team_design"]))
82
+ results = [r for resp in responses for r in resp.results]
83
+ ```
84
+
85
+ ## Smaller differences
86
+
87
+ - Response types are generated from the v5 spec, so their names changed (e.g. `SearchMemoriesResponse` became `SearchResponse`). Import them from `supermemory.types`.
88
+ - `client.with_streaming_response` is gone. None of the v5 endpoints stream.
89
+ - `NOT_GIVEN` is gone. Leave out an argument (or pass `None`) to omit it.
90
+
91
+ ## Removed
92
+
93
+ These 3.x methods have no v5 endpoint yet. Stay on `supermemory<4` if you depend on them:
94
+
95
+ - `client.settings.{reset, suggest_buckets}` and chunking settings
96
+ - `client.conversations.add`
97
+ - `client.documents.{list_processing, chunks, file_url}`
98
+ - container tag merge
99
+ - `client.memories.{add, update_memory}`
@@ -0,0 +1,224 @@
1
+ Metadata-Version: 2.5
2
+ Name: supermemory
3
+ Version: 5.0.0
4
+ Summary: The official Python library for the Supermemory API
5
+ Project-URL: Homepage, https://supermemory.ai
6
+ Project-URL: Documentation, https://docs.supermemory.ai
7
+ Project-URL: Repository, https://github.com/supermemoryai/python-sdk
8
+ Author-email: Supermemory <dhravya@supermemory.com>
9
+ License-Expression: Apache-2.0
10
+ License-File: LICENSE
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Typing :: Typed
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: httpx>=0.21.2
23
+ Requires-Dist: pydantic-core>=2.18.2
24
+ Requires-Dist: pydantic>=1.9.2
25
+ Requires-Dist: typing-extensions>=4.0.0
26
+ Provides-Extra: aiohttp
27
+ Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
28
+ Description-Content-Type: text/markdown
29
+
30
+ # Supermemory Python SDK
31
+
32
+ [![PyPI version](https://img.shields.io/pypi/v/supermemory.svg)](https://pypi.org/project/supermemory/)
33
+
34
+ The official Python library for the [Supermemory](https://supermemory.ai) v5 API, with sync and async clients built on [httpx](https://github.com/encode/httpx).
35
+
36
+ > **Upgrading from 3.x?** v5 moves to the namespace-first v5 API. See [MIGRATION.md](MIGRATION.md).
37
+
38
+ ## Installation
39
+
40
+ ```sh
41
+ pip install supermemory
42
+ ```
43
+
44
+ ## Usage
45
+
46
+ ```python
47
+ from supermemory import Supermemory
48
+
49
+ client = Supermemory() # reads SUPERMEMORY_API_KEY; or Supermemory(api_key="...")
50
+
51
+ client.add("user_alex", content="Alex prefers morning meetings.", id="pref-1")
52
+
53
+ response = client.search("user_alex", query="when does alex like to meet?", limit=5)
54
+ for result in response.results:
55
+ print(result)
56
+ ```
57
+
58
+ Every content operation is scoped to a **namespace** (a user ID, project ID, or anything you want to isolate memories by), passed as the first argument.
59
+
60
+ ### Async
61
+
62
+ ```python
63
+ import asyncio
64
+ from supermemory import AsyncSupermemory
65
+
66
+ async_client = AsyncSupermemory()
67
+
68
+
69
+ async def main() -> None:
70
+ profile, results = await asyncio.gather(
71
+ async_client.profile("user_alex"),
72
+ async_client.search("user_alex", query="upcoming meetings"),
73
+ )
74
+
75
+
76
+ asyncio.run(main())
77
+ ```
78
+
79
+ Install `supermemory[aiohttp]` to use aiohttp as the async transport.
80
+
81
+ ## API surface
82
+
83
+ | Call | Endpoint |
84
+ |---|---|
85
+ | `client.add(namespace, content=...)` | `POST /ns/{namespace}/document` |
86
+ | `client.search(namespace, query=...)` | `POST /ns/{namespace}/search` |
87
+ | `client.profile(namespace)` | `POST /ns/{namespace}/profile` |
88
+ | `client.list(namespace, "documents" \| "chunks" \| "memories")` | `POST /ns/{namespace}/list/{type}` |
89
+ | `client.documents.{get, update, delete, batch_add, upload_file, replace_with_file, update_file}` | `/ns/{namespace}/document…` |
90
+ | `client.memories.{forget, forget_matching}` | `/ns/{namespace}/memories…` |
91
+ | `client.profiles.{get_buckets, set_buckets, delete_buckets}` | `/ns/{namespace}/profile/buckets` |
92
+ | `client.connectors.{list_all, list, create, get, update, delete, sync}` | `/connectors`, `/ns/{namespace}/connectors…` |
93
+ | `client.namespaces.{list, get, update, delete}` | `/ns`, `/ns/{namespace}` |
94
+ | `client.organization.{get, update}` | `/organization` |
95
+
96
+ Full parameter reference: [reference.md](reference.md).
97
+
98
+ ## Filtering
99
+
100
+ Filters are plain dicts (typed as `FilterExpressionParams`), combinable with `and` / `or`:
101
+
102
+ ```python
103
+ response = client.search(
104
+ "user_alex",
105
+ query="launch plans",
106
+ filter={
107
+ "operator": "and",
108
+ "operands": [
109
+ {"field": "source", "operator": "eq", "value": "slack"},
110
+ {"field": "priority", "operator": "gte", "value": 3},
111
+ ],
112
+ },
113
+ )
114
+ ```
115
+
116
+ The same filter shape works for `client.list(...)` and `client.profile(...)`.
117
+
118
+ ## Listing
119
+
120
+ ```python
121
+ page = client.list("user_alex", "documents", page=1, limit=50, sort="createdAt", order="desc")
122
+ for document in page.documents or []:
123
+ print(document.id, document.title)
124
+ print(page.pagination)
125
+ ```
126
+
127
+ ## File uploads
128
+
129
+ ```python
130
+ with open("notes.pdf", "rb") as f:
131
+ client.documents.upload_file("user_alex", file=f)
132
+ ```
133
+
134
+ ## Errors
135
+
136
+ Same exception classes as 3.x. Non-2xx responses raise a subclass of `supermemory.APIStatusError` with `status_code`, `body`, `message`, `request`, and `response`. Network failures raise `APIConnectionError` (`APITimeoutError` for timeouts):
137
+
138
+ ```python
139
+ import supermemory
140
+ from supermemory import Supermemory
141
+
142
+ client = Supermemory()
143
+
144
+ try:
145
+ client.documents.get("user_alex", "missing-id")
146
+ except supermemory.NotFoundError:
147
+ ...
148
+ except supermemory.RateLimitError as e:
149
+ print(e.response.headers.get("retry-after"))
150
+ except supermemory.APIStatusError as e:
151
+ print(e.status_code, e.body)
152
+ except supermemory.APIConnectionError:
153
+ ...
154
+ ```
155
+
156
+ | Status | Error |
157
+ |---|---|
158
+ | 400 | `BadRequestError` |
159
+ | 401 | `AuthenticationError` |
160
+ | 403 | `PermissionDeniedError` |
161
+ | 404 | `NotFoundError` |
162
+ | 409 | `ConflictError` |
163
+ | 422 | `UnprocessableEntityError` |
164
+ | 429 | `RateLimitError` |
165
+ | >=500 | `InternalServerError` |
166
+
167
+ ## Retries, timeouts, and per-request options
168
+
169
+ Connection errors, 408, 429, and 5xx responses are retried twice with exponential backoff, and requests time out after 60 seconds (5 seconds to connect). All of these can be set on the client, or for one request with `with_options`:
170
+
171
+ ```python
172
+ import httpx
173
+
174
+ client = Supermemory(max_retries=5, timeout=20.0, default_headers={"X-App": "my-app"})
175
+
176
+ client.with_options(max_retries=0, timeout=httpx.Timeout(5.0)).search("user_alex", query="...")
177
+ ```
178
+
179
+ Every method also takes `extra_headers`, `extra_query`, `extra_body`, and `timeout`:
180
+
181
+ ```python
182
+ client.search("user_alex", query="...", extra_headers={"X-Trace": "1"}, timeout=5)
183
+ ```
184
+
185
+ The client reads `SUPERMEMORY_API_KEY`, `SUPERMEMORY_BASE_URL`, and `SUPERMEMORY_CUSTOM_HEADERS` from the environment.
186
+
187
+ ## Raw responses
188
+
189
+ ```python
190
+ response = client.with_raw_response.search("user_alex", query="...")
191
+ print(response.headers.get("x-request-id"))
192
+ results = response.parse() # SearchResponse
193
+ ```
194
+
195
+ Response models have `.to_dict()` and `.to_json()`.
196
+
197
+ ## Development
198
+
199
+ The SDK is generated from the live v5 OpenAPI spec with [Fern](https://buildwithfern.com)'s open-source Python generator, run locally in Docker. No hosted codegen service is involved. Don't edit `src/supermemory` by hand; CI fails if it doesn't match a fresh generation.
200
+
201
+ | To change | Edit |
202
+ |---|---|
203
+ | Method names, grouping, parameter names, hidden endpoints | `fern/overlay.yaml` (`x-fern-sdk-group-name`, `x-fern-sdk-method-name`, `x-fern-parameter-name`, `x-fern-ignore`) |
204
+ | Type names (`Document`, `Memory`, `Connector`, …) | `fern/schemas.yaml` |
205
+ | Generator options | `fern/generators.yml` |
206
+ | Client conventions (options, errors, per-call options) | `custom/supermemory/_compat.py` |
207
+ | Small fixes to Fern's generated core | `custom/patches/*.patch` |
208
+
209
+ `scripts/generate` fetches the spec, names its schemas, runs Fern, then layers `custom/` on top.
210
+
211
+ ```sh
212
+ scripts/generate # fetch /v5/openapi and regenerate (needs Docker, bun, uv)
213
+ SKIP_FETCH=1 scripts/generate # regenerate from the committed fern/openapi.json
214
+ uv run --group dev pytest # offline tests, including every snippet in README.md and MIGRATION.md
215
+ SUPERMEMORY_LIVE_API_KEY=... uv run --group dev pytest tests/live # against the real API
216
+ ```
217
+
218
+ Runnable examples are in [`examples/`](examples).
219
+
220
+ ### Releases
221
+
222
+ - When the API deploy sends `openapi-updated` (or on the daily backstop run), **Generate SDK** regenerates. If the SDK changed, it bumps the version and opens a PR with the tests already run.
223
+ - Merging a PR that changes the version in `pyproject.toml` publishes it to PyPI and creates a GitHub release.
224
+ - To cut a specific version, run **Generate SDK** manually with `version` set.