supermemory 3.0.0a21__py3-none-any.whl → 3.0.0a23__py3-none-any.whl
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.
Potentially problematic release.
This version of supermemory might be problematic. Click here for more details.
- {supermemory_new → supermemory}/__init__.py +2 -2
- {supermemory_new → supermemory}/_base_client.py +10 -3
- {supermemory_new → supermemory}/_models.py +8 -5
- {supermemory_new → supermemory}/_response.py +4 -4
- {supermemory_new → supermemory}/_types.py +1 -1
- {supermemory_new → supermemory}/_utils/_logs.py +2 -2
- {supermemory_new → supermemory}/_utils/_resources_proxy.py +4 -4
- supermemory/_version.py +4 -0
- {supermemory_new → supermemory}/resources/memories.py +20 -20
- {supermemory_new → supermemory}/types/memory_add_params.py +9 -9
- {supermemory_new → supermemory}/types/memory_get_response.py +9 -3
- {supermemory_new → supermemory}/types/memory_update_params.py +9 -9
- {supermemory-3.0.0a21.dist-info → supermemory-3.0.0a23.dist-info}/METADATA +32 -41
- supermemory-3.0.0a23.dist-info/RECORD +61 -0
- supermemory-3.0.0a21.dist-info/RECORD +0 -61
- supermemory_new/_version.py +0 -4
- {supermemory_new → supermemory}/_client.py +0 -0
- {supermemory_new → supermemory}/_compat.py +0 -0
- {supermemory_new → supermemory}/_constants.py +0 -0
- {supermemory_new → supermemory}/_exceptions.py +0 -0
- {supermemory_new → supermemory}/_files.py +0 -0
- {supermemory_new → supermemory}/_qs.py +0 -0
- {supermemory_new → supermemory}/_resource.py +0 -0
- {supermemory_new → supermemory}/_streaming.py +0 -0
- {supermemory_new → supermemory}/_utils/__init__.py +0 -0
- {supermemory_new → supermemory}/_utils/_proxy.py +0 -0
- {supermemory_new → supermemory}/_utils/_reflection.py +0 -0
- {supermemory_new → supermemory}/_utils/_streams.py +0 -0
- {supermemory_new → supermemory}/_utils/_sync.py +0 -0
- {supermemory_new → supermemory}/_utils/_transform.py +0 -0
- {supermemory_new → supermemory}/_utils/_typing.py +0 -0
- {supermemory_new → supermemory}/_utils/_utils.py +0 -0
- {supermemory_new → supermemory}/lib/.keep +0 -0
- {supermemory_new → supermemory}/py.typed +0 -0
- {supermemory_new → supermemory}/resources/__init__.py +0 -0
- {supermemory_new → supermemory}/resources/connections.py +0 -0
- {supermemory_new → supermemory}/resources/search.py +0 -0
- {supermemory_new → supermemory}/resources/settings.py +0 -0
- {supermemory_new → supermemory}/types/__init__.py +0 -0
- {supermemory_new → supermemory}/types/connection_create_params.py +0 -0
- {supermemory_new → supermemory}/types/connection_create_response.py +0 -0
- {supermemory_new → supermemory}/types/connection_delete_by_id_response.py +0 -0
- {supermemory_new → supermemory}/types/connection_delete_by_provider_params.py +0 -0
- {supermemory_new → supermemory}/types/connection_delete_by_provider_response.py +0 -0
- {supermemory_new → supermemory}/types/connection_get_by_id_response.py +0 -0
- {supermemory_new → supermemory}/types/connection_get_by_tags_params.py +0 -0
- {supermemory_new → supermemory}/types/connection_get_by_tags_response.py +0 -0
- {supermemory_new → supermemory}/types/connection_import_params.py +0 -0
- {supermemory_new → supermemory}/types/connection_list_documents_params.py +0 -0
- {supermemory_new → supermemory}/types/connection_list_documents_response.py +0 -0
- {supermemory_new → supermemory}/types/connection_list_params.py +0 -0
- {supermemory_new → supermemory}/types/connection_list_response.py +0 -0
- {supermemory_new → supermemory}/types/memory_add_response.py +0 -0
- {supermemory_new → supermemory}/types/memory_list_params.py +0 -0
- {supermemory_new → supermemory}/types/memory_list_response.py +0 -0
- {supermemory_new → supermemory}/types/memory_update_response.py +0 -0
- {supermemory_new → supermemory}/types/search_execute_params.py +0 -0
- {supermemory_new → supermemory}/types/search_execute_response.py +0 -0
- {supermemory_new → supermemory}/types/setting_get_response.py +0 -0
- {supermemory_new → supermemory}/types/setting_update_params.py +0 -0
- {supermemory_new → supermemory}/types/setting_update_response.py +0 -0
- {supermemory-3.0.0a21.dist-info → supermemory-3.0.0a23.dist-info}/WHEEL +0 -0
- {supermemory-3.0.0a21.dist-info → supermemory-3.0.0a23.dist-info}/licenses/LICENSE +0 -0
|
@@ -89,12 +89,12 @@ _setup_logging()
|
|
|
89
89
|
# Update the __module__ attribute for exported symbols so that
|
|
90
90
|
# error messages point to this module instead of the module
|
|
91
91
|
# it was originally defined in, e.g.
|
|
92
|
-
#
|
|
92
|
+
# supermemory._exceptions.NotFoundError -> supermemory.NotFoundError
|
|
93
93
|
__locals = locals()
|
|
94
94
|
for __name in __all__:
|
|
95
95
|
if not __name.startswith("__"):
|
|
96
96
|
try:
|
|
97
|
-
__locals[__name].__module__ = "
|
|
97
|
+
__locals[__name].__module__ = "supermemory"
|
|
98
98
|
except (TypeError, AttributeError):
|
|
99
99
|
# Some of our exported symbols are builtins which we can't set attributes for.
|
|
100
100
|
pass
|
|
@@ -389,7 +389,7 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
389
389
|
|
|
390
390
|
if max_retries is None: # pyright: ignore[reportUnnecessaryComparison]
|
|
391
391
|
raise TypeError(
|
|
392
|
-
"max_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `
|
|
392
|
+
"max_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `supermemory.DEFAULT_MAX_RETRIES`"
|
|
393
393
|
)
|
|
394
394
|
|
|
395
395
|
def _enforce_trailing_slash(self, url: URL) -> URL:
|
|
@@ -529,6 +529,15 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
529
529
|
# work around https://github.com/encode/httpx/discussions/2880
|
|
530
530
|
kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")}
|
|
531
531
|
|
|
532
|
+
is_body_allowed = options.method.lower() != "get"
|
|
533
|
+
|
|
534
|
+
if is_body_allowed:
|
|
535
|
+
kwargs["json"] = json_data if is_given(json_data) else None
|
|
536
|
+
kwargs["files"] = files
|
|
537
|
+
else:
|
|
538
|
+
headers.pop("Content-Type", None)
|
|
539
|
+
kwargs.pop("data", None)
|
|
540
|
+
|
|
532
541
|
# TODO: report this error to httpx
|
|
533
542
|
return self._client.build_request( # pyright: ignore[reportUnknownMemberType]
|
|
534
543
|
headers=headers,
|
|
@@ -540,8 +549,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
540
549
|
# so that passing a `TypedDict` doesn't cause an error.
|
|
541
550
|
# https://github.com/microsoft/pyright/issues/3526#event-6715453066
|
|
542
551
|
params=self.qs.stringify(cast(Mapping[str, Any], params)) if params else None,
|
|
543
|
-
json=json_data if is_given(json_data) else None,
|
|
544
|
-
files=files,
|
|
545
552
|
**kwargs,
|
|
546
553
|
)
|
|
547
554
|
|
|
@@ -2,9 +2,10 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
import inspect
|
|
5
|
-
from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, cast
|
|
5
|
+
from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, Optional, cast
|
|
6
6
|
from datetime import date, datetime
|
|
7
7
|
from typing_extensions import (
|
|
8
|
+
List,
|
|
8
9
|
Unpack,
|
|
9
10
|
Literal,
|
|
10
11
|
ClassVar,
|
|
@@ -366,7 +367,7 @@ def _construct_field(value: object, field: FieldInfo, key: str) -> object:
|
|
|
366
367
|
if type_ is None:
|
|
367
368
|
raise RuntimeError(f"Unexpected field type is None for {key}")
|
|
368
369
|
|
|
369
|
-
return construct_type(value=value, type_=type_)
|
|
370
|
+
return construct_type(value=value, type_=type_, metadata=getattr(field, "metadata", None))
|
|
370
371
|
|
|
371
372
|
|
|
372
373
|
def is_basemodel(type_: type) -> bool:
|
|
@@ -420,7 +421,7 @@ def construct_type_unchecked(*, value: object, type_: type[_T]) -> _T:
|
|
|
420
421
|
return cast(_T, construct_type(value=value, type_=type_))
|
|
421
422
|
|
|
422
423
|
|
|
423
|
-
def construct_type(*, value: object, type_: object) -> object:
|
|
424
|
+
def construct_type(*, value: object, type_: object, metadata: Optional[List[Any]] = None) -> object:
|
|
424
425
|
"""Loose coercion to the expected type with construction of nested values.
|
|
425
426
|
|
|
426
427
|
If the given value does not match the expected type then it is returned as-is.
|
|
@@ -438,8 +439,10 @@ def construct_type(*, value: object, type_: object) -> object:
|
|
|
438
439
|
type_ = type_.__value__ # type: ignore[unreachable]
|
|
439
440
|
|
|
440
441
|
# unwrap `Annotated[T, ...]` -> `T`
|
|
441
|
-
if
|
|
442
|
-
meta: tuple[Any, ...] =
|
|
442
|
+
if metadata is not None:
|
|
443
|
+
meta: tuple[Any, ...] = tuple(metadata)
|
|
444
|
+
elif is_annotated_type(type_):
|
|
445
|
+
meta = get_args(type_)[1:]
|
|
443
446
|
type_ = extract_type_arg(type_, 0)
|
|
444
447
|
else:
|
|
445
448
|
meta = tuple()
|
|
@@ -218,7 +218,7 @@ class BaseAPIResponse(Generic[R]):
|
|
|
218
218
|
and issubclass(origin, pydantic.BaseModel)
|
|
219
219
|
):
|
|
220
220
|
raise TypeError(
|
|
221
|
-
"Pydantic models must subclass our base model type, e.g. `from
|
|
221
|
+
"Pydantic models must subclass our base model type, e.g. `from supermemory import BaseModel`"
|
|
222
222
|
)
|
|
223
223
|
|
|
224
224
|
if (
|
|
@@ -285,7 +285,7 @@ class APIResponse(BaseAPIResponse[R]):
|
|
|
285
285
|
the `to` argument, e.g.
|
|
286
286
|
|
|
287
287
|
```py
|
|
288
|
-
from
|
|
288
|
+
from supermemory import BaseModel
|
|
289
289
|
|
|
290
290
|
|
|
291
291
|
class MyModel(BaseModel):
|
|
@@ -387,7 +387,7 @@ class AsyncAPIResponse(BaseAPIResponse[R]):
|
|
|
387
387
|
the `to` argument, e.g.
|
|
388
388
|
|
|
389
389
|
```py
|
|
390
|
-
from
|
|
390
|
+
from supermemory import BaseModel
|
|
391
391
|
|
|
392
392
|
|
|
393
393
|
class MyModel(BaseModel):
|
|
@@ -558,7 +558,7 @@ class AsyncStreamedBinaryAPIResponse(AsyncAPIResponse[bytes]):
|
|
|
558
558
|
class MissingStreamClassError(TypeError):
|
|
559
559
|
def __init__(self) -> None:
|
|
560
560
|
super().__init__(
|
|
561
|
-
"The `stream` argument was set to `True` but the `stream_cls` argument was not given. See `
|
|
561
|
+
"The `stream` argument was set to `True` but the `stream_cls` argument was not given. See `supermemory._streaming` for reference",
|
|
562
562
|
)
|
|
563
563
|
|
|
564
564
|
|
|
@@ -81,7 +81,7 @@ HttpxRequestFiles = Union[Mapping[str, HttpxFileTypes], Sequence[Tuple[str, Http
|
|
|
81
81
|
# This unfortunately means that you will either have
|
|
82
82
|
# to import this type and pass it explicitly:
|
|
83
83
|
#
|
|
84
|
-
# from
|
|
84
|
+
# from supermemory import NoneType
|
|
85
85
|
# client.get('/foo', cast_to=NoneType)
|
|
86
86
|
#
|
|
87
87
|
# or build it yourself:
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import logging
|
|
3
3
|
|
|
4
|
-
logger: logging.Logger = logging.getLogger("
|
|
4
|
+
logger: logging.Logger = logging.getLogger("supermemory")
|
|
5
5
|
httpx_logger: logging.Logger = logging.getLogger("httpx")
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def _basic_config() -> None:
|
|
9
|
-
# e.g. [2023-10-05 14:12:26 -
|
|
9
|
+
# e.g. [2023-10-05 14:12:26 - supermemory._base_client:818 - DEBUG] HTTP Request: POST http://127.0.0.1:4010/foo/bar "200 OK"
|
|
10
10
|
logging.basicConfig(
|
|
11
11
|
format="[%(asctime)s - %(name)s:%(lineno)d - %(levelname)s] %(message)s",
|
|
12
12
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
@@ -7,17 +7,17 @@ from ._proxy import LazyProxy
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class ResourcesProxy(LazyProxy[Any]):
|
|
10
|
-
"""A proxy for the `
|
|
10
|
+
"""A proxy for the `supermemory.resources` module.
|
|
11
11
|
|
|
12
|
-
This is used so that we can lazily import `
|
|
13
|
-
needed *and* so that users can just import `
|
|
12
|
+
This is used so that we can lazily import `supermemory.resources` only when
|
|
13
|
+
needed *and* so that users can just import `supermemory` and reference `supermemory.resources`
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
16
|
@override
|
|
17
17
|
def __load__(self) -> Any:
|
|
18
18
|
import importlib
|
|
19
19
|
|
|
20
|
-
mod = importlib.import_module("
|
|
20
|
+
mod = importlib.import_module("supermemory.resources")
|
|
21
21
|
return mod
|
|
22
22
|
|
|
23
23
|
|
supermemory/_version.py
ADDED
|
@@ -51,8 +51,8 @@ class MemoriesResource(SyncAPIResource):
|
|
|
51
51
|
self,
|
|
52
52
|
id: str,
|
|
53
53
|
*,
|
|
54
|
-
content: str,
|
|
55
54
|
container_tags: List[str] | NotGiven = NOT_GIVEN,
|
|
55
|
+
content: str | NotGiven = NOT_GIVEN,
|
|
56
56
|
custom_id: str | NotGiven = NOT_GIVEN,
|
|
57
57
|
metadata: Dict[str, Union[str, float, bool]] | NotGiven = NOT_GIVEN,
|
|
58
58
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -66,6 +66,9 @@ class MemoriesResource(SyncAPIResource):
|
|
|
66
66
|
Update a memory with any content type (text, url, file, etc.) and metadata
|
|
67
67
|
|
|
68
68
|
Args:
|
|
69
|
+
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
70
|
+
user, a project ID, or any other identifier you wish to use to group memories.
|
|
71
|
+
|
|
69
72
|
content: The content to extract and process into a memory. This can be a URL to a
|
|
70
73
|
website, a PDF, an image, or a video.
|
|
71
74
|
|
|
@@ -75,9 +78,6 @@ class MemoriesResource(SyncAPIResource):
|
|
|
75
78
|
|
|
76
79
|
We automatically detect the content type from the url's response format.
|
|
77
80
|
|
|
78
|
-
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
79
|
-
user, a project ID, or any other identifier you wish to use to group memories.
|
|
80
|
-
|
|
81
81
|
custom_id: Optional custom ID of the memory. This could be an ID from your database that
|
|
82
82
|
will uniquely identify this memory.
|
|
83
83
|
|
|
@@ -101,8 +101,8 @@ class MemoriesResource(SyncAPIResource):
|
|
|
101
101
|
f"/v3/memories/{id}",
|
|
102
102
|
body=maybe_transform(
|
|
103
103
|
{
|
|
104
|
-
"content": content,
|
|
105
104
|
"container_tags": container_tags,
|
|
105
|
+
"content": content,
|
|
106
106
|
"custom_id": custom_id,
|
|
107
107
|
"metadata": metadata,
|
|
108
108
|
},
|
|
@@ -211,8 +211,8 @@ class MemoriesResource(SyncAPIResource):
|
|
|
211
211
|
def add(
|
|
212
212
|
self,
|
|
213
213
|
*,
|
|
214
|
-
content: str,
|
|
215
214
|
container_tags: List[str] | NotGiven = NOT_GIVEN,
|
|
215
|
+
content: str | NotGiven = NOT_GIVEN,
|
|
216
216
|
custom_id: str | NotGiven = NOT_GIVEN,
|
|
217
217
|
metadata: Dict[str, Union[str, float, bool]] | NotGiven = NOT_GIVEN,
|
|
218
218
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -226,6 +226,9 @@ class MemoriesResource(SyncAPIResource):
|
|
|
226
226
|
Add a memory with any content type (text, url, file, etc.) and metadata
|
|
227
227
|
|
|
228
228
|
Args:
|
|
229
|
+
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
230
|
+
user, a project ID, or any other identifier you wish to use to group memories.
|
|
231
|
+
|
|
229
232
|
content: The content to extract and process into a memory. This can be a URL to a
|
|
230
233
|
website, a PDF, an image, or a video.
|
|
231
234
|
|
|
@@ -235,9 +238,6 @@ class MemoriesResource(SyncAPIResource):
|
|
|
235
238
|
|
|
236
239
|
We automatically detect the content type from the url's response format.
|
|
237
240
|
|
|
238
|
-
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
239
|
-
user, a project ID, or any other identifier you wish to use to group memories.
|
|
240
|
-
|
|
241
241
|
custom_id: Optional custom ID of the memory. This could be an ID from your database that
|
|
242
242
|
will uniquely identify this memory.
|
|
243
243
|
|
|
@@ -259,8 +259,8 @@ class MemoriesResource(SyncAPIResource):
|
|
|
259
259
|
"/v3/memories",
|
|
260
260
|
body=maybe_transform(
|
|
261
261
|
{
|
|
262
|
-
"content": content,
|
|
263
262
|
"container_tags": container_tags,
|
|
263
|
+
"content": content,
|
|
264
264
|
"custom_id": custom_id,
|
|
265
265
|
"metadata": metadata,
|
|
266
266
|
},
|
|
@@ -330,8 +330,8 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
330
330
|
self,
|
|
331
331
|
id: str,
|
|
332
332
|
*,
|
|
333
|
-
content: str,
|
|
334
333
|
container_tags: List[str] | NotGiven = NOT_GIVEN,
|
|
334
|
+
content: str | NotGiven = NOT_GIVEN,
|
|
335
335
|
custom_id: str | NotGiven = NOT_GIVEN,
|
|
336
336
|
metadata: Dict[str, Union[str, float, bool]] | NotGiven = NOT_GIVEN,
|
|
337
337
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -345,6 +345,9 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
345
345
|
Update a memory with any content type (text, url, file, etc.) and metadata
|
|
346
346
|
|
|
347
347
|
Args:
|
|
348
|
+
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
349
|
+
user, a project ID, or any other identifier you wish to use to group memories.
|
|
350
|
+
|
|
348
351
|
content: The content to extract and process into a memory. This can be a URL to a
|
|
349
352
|
website, a PDF, an image, or a video.
|
|
350
353
|
|
|
@@ -354,9 +357,6 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
354
357
|
|
|
355
358
|
We automatically detect the content type from the url's response format.
|
|
356
359
|
|
|
357
|
-
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
358
|
-
user, a project ID, or any other identifier you wish to use to group memories.
|
|
359
|
-
|
|
360
360
|
custom_id: Optional custom ID of the memory. This could be an ID from your database that
|
|
361
361
|
will uniquely identify this memory.
|
|
362
362
|
|
|
@@ -380,8 +380,8 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
380
380
|
f"/v3/memories/{id}",
|
|
381
381
|
body=await async_maybe_transform(
|
|
382
382
|
{
|
|
383
|
-
"content": content,
|
|
384
383
|
"container_tags": container_tags,
|
|
384
|
+
"content": content,
|
|
385
385
|
"custom_id": custom_id,
|
|
386
386
|
"metadata": metadata,
|
|
387
387
|
},
|
|
@@ -490,8 +490,8 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
490
490
|
async def add(
|
|
491
491
|
self,
|
|
492
492
|
*,
|
|
493
|
-
content: str,
|
|
494
493
|
container_tags: List[str] | NotGiven = NOT_GIVEN,
|
|
494
|
+
content: str | NotGiven = NOT_GIVEN,
|
|
495
495
|
custom_id: str | NotGiven = NOT_GIVEN,
|
|
496
496
|
metadata: Dict[str, Union[str, float, bool]] | NotGiven = NOT_GIVEN,
|
|
497
497
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -505,6 +505,9 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
505
505
|
Add a memory with any content type (text, url, file, etc.) and metadata
|
|
506
506
|
|
|
507
507
|
Args:
|
|
508
|
+
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
509
|
+
user, a project ID, or any other identifier you wish to use to group memories.
|
|
510
|
+
|
|
508
511
|
content: The content to extract and process into a memory. This can be a URL to a
|
|
509
512
|
website, a PDF, an image, or a video.
|
|
510
513
|
|
|
@@ -514,9 +517,6 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
514
517
|
|
|
515
518
|
We automatically detect the content type from the url's response format.
|
|
516
519
|
|
|
517
|
-
container_tags: Optional tags this memory should be containerized by. This can be an ID for your
|
|
518
|
-
user, a project ID, or any other identifier you wish to use to group memories.
|
|
519
|
-
|
|
520
520
|
custom_id: Optional custom ID of the memory. This could be an ID from your database that
|
|
521
521
|
will uniquely identify this memory.
|
|
522
522
|
|
|
@@ -538,8 +538,8 @@ class AsyncMemoriesResource(AsyncAPIResource):
|
|
|
538
538
|
"/v3/memories",
|
|
539
539
|
body=await async_maybe_transform(
|
|
540
540
|
{
|
|
541
|
-
"content": content,
|
|
542
541
|
"container_tags": container_tags,
|
|
542
|
+
"content": content,
|
|
543
543
|
"custom_id": custom_id,
|
|
544
544
|
"metadata": metadata,
|
|
545
545
|
},
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from typing import Dict, List, Union
|
|
6
|
-
from typing_extensions import
|
|
6
|
+
from typing_extensions import Annotated, TypedDict
|
|
7
7
|
|
|
8
8
|
from .._utils import PropertyInfo
|
|
9
9
|
|
|
@@ -11,7 +11,14 @@ __all__ = ["MemoryAddParams"]
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class MemoryAddParams(TypedDict, total=False):
|
|
14
|
-
|
|
14
|
+
container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
|
|
15
|
+
"""Optional tags this memory should be containerized by.
|
|
16
|
+
|
|
17
|
+
This can be an ID for your user, a project ID, or any other identifier you wish
|
|
18
|
+
to use to group memories.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
content: str
|
|
15
22
|
"""The content to extract and process into a memory.
|
|
16
23
|
|
|
17
24
|
This can be a URL to a website, a PDF, an image, or a video.
|
|
@@ -23,13 +30,6 @@ class MemoryAddParams(TypedDict, total=False):
|
|
|
23
30
|
We automatically detect the content type from the url's response format.
|
|
24
31
|
"""
|
|
25
32
|
|
|
26
|
-
container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
|
|
27
|
-
"""Optional tags this memory should be containerized by.
|
|
28
|
-
|
|
29
|
-
This can be an ID for your user, a project ID, or any other identifier you wish
|
|
30
|
-
to use to group memories.
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
33
|
custom_id: Annotated[str, PropertyInfo(alias="customId")]
|
|
34
34
|
"""Optional custom ID of the memory.
|
|
35
35
|
|
|
@@ -62,6 +62,12 @@ class MemoryGetResponse(BaseModel):
|
|
|
62
62
|
summary: Optional[str] = None
|
|
63
63
|
"""Summary of the memory content"""
|
|
64
64
|
|
|
65
|
+
summary_embedding_model: Optional[str] = FieldInfo(alias="summaryEmbeddingModel", default=None)
|
|
66
|
+
|
|
67
|
+
summary_embedding_model_new: Optional[str] = FieldInfo(alias="summaryEmbeddingModelNew", default=None)
|
|
68
|
+
|
|
69
|
+
summary_embedding_new: Optional[List[float]] = FieldInfo(alias="summaryEmbeddingNew", default=None)
|
|
70
|
+
|
|
65
71
|
title: Optional[str] = None
|
|
66
72
|
"""Title of the memory"""
|
|
67
73
|
|
|
@@ -83,9 +89,6 @@ class MemoryGetResponse(BaseModel):
|
|
|
83
89
|
updated_at: datetime = FieldInfo(alias="updatedAt")
|
|
84
90
|
"""Last update timestamp"""
|
|
85
91
|
|
|
86
|
-
url: Optional[str] = None
|
|
87
|
-
"""URL of the memory"""
|
|
88
|
-
|
|
89
92
|
container_tags: Optional[List[str]] = FieldInfo(alias="containerTags", default=None)
|
|
90
93
|
"""Optional tags this memory should be containerized by.
|
|
91
94
|
|
|
@@ -95,3 +98,6 @@ class MemoryGetResponse(BaseModel):
|
|
|
95
98
|
|
|
96
99
|
raw: None = None
|
|
97
100
|
"""Raw content of the memory"""
|
|
101
|
+
|
|
102
|
+
url: Optional[str] = None
|
|
103
|
+
"""URL of the memory"""
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from typing import Dict, List, Union
|
|
6
|
-
from typing_extensions import
|
|
6
|
+
from typing_extensions import Annotated, TypedDict
|
|
7
7
|
|
|
8
8
|
from .._utils import PropertyInfo
|
|
9
9
|
|
|
@@ -11,7 +11,14 @@ __all__ = ["MemoryUpdateParams"]
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class MemoryUpdateParams(TypedDict, total=False):
|
|
14
|
-
|
|
14
|
+
container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
|
|
15
|
+
"""Optional tags this memory should be containerized by.
|
|
16
|
+
|
|
17
|
+
This can be an ID for your user, a project ID, or any other identifier you wish
|
|
18
|
+
to use to group memories.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
content: str
|
|
15
22
|
"""The content to extract and process into a memory.
|
|
16
23
|
|
|
17
24
|
This can be a URL to a website, a PDF, an image, or a video.
|
|
@@ -23,13 +30,6 @@ class MemoryUpdateParams(TypedDict, total=False):
|
|
|
23
30
|
We automatically detect the content type from the url's response format.
|
|
24
31
|
"""
|
|
25
32
|
|
|
26
|
-
container_tags: Annotated[List[str], PropertyInfo(alias="containerTags")]
|
|
27
|
-
"""Optional tags this memory should be containerized by.
|
|
28
|
-
|
|
29
|
-
This can be an ID for your user, a project ID, or any other identifier you wish
|
|
30
|
-
to use to group memories.
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
33
|
custom_id: Annotated[str, PropertyInfo(alias="customId")]
|
|
34
34
|
"""Optional custom ID of the memory.
|
|
35
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: supermemory
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0a23
|
|
4
4
|
Summary: The official Python library for the supermemory API
|
|
5
5
|
Project-URL: Homepage, https://github.com/supermemoryai/python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/supermemoryai/python-sdk
|
|
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
23
|
Classifier: Typing :: Typed
|
|
23
24
|
Requires-Python: >=3.8
|
|
@@ -29,12 +30,13 @@ Requires-Dist: sniffio
|
|
|
29
30
|
Requires-Dist: typing-extensions<5,>=4.10
|
|
30
31
|
Provides-Extra: aiohttp
|
|
31
32
|
Requires-Dist: aiohttp; extra == 'aiohttp'
|
|
32
|
-
Requires-Dist: httpx-aiohttp>=0.1.
|
|
33
|
+
Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
|
|
33
34
|
Description-Content-Type: text/markdown
|
|
34
35
|
|
|
35
36
|
# Supermemory Python API library
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
<!-- prettier-ignore -->
|
|
39
|
+
[)](https://pypi.org/project/supermemory/)
|
|
38
40
|
|
|
39
41
|
The Supermemory Python library provides convenient access to the Supermemory REST API from any Python 3.8+
|
|
40
42
|
application. The library includes type definitions for all request params and response fields,
|
|
@@ -59,7 +61,7 @@ The full API of this library can be found in [api.md](https://github.com/superme
|
|
|
59
61
|
|
|
60
62
|
```python
|
|
61
63
|
import os
|
|
62
|
-
from
|
|
64
|
+
from supermemory import Supermemory
|
|
63
65
|
|
|
64
66
|
client = Supermemory(
|
|
65
67
|
api_key=os.environ.get("SUPERMEMORY_API_KEY"), # This is the default and can be omitted
|
|
@@ -83,7 +85,7 @@ Simply import `AsyncSupermemory` instead of `Supermemory` and use `await` with e
|
|
|
83
85
|
```python
|
|
84
86
|
import os
|
|
85
87
|
import asyncio
|
|
86
|
-
from
|
|
88
|
+
from supermemory import AsyncSupermemory
|
|
87
89
|
|
|
88
90
|
client = AsyncSupermemory(
|
|
89
91
|
api_key=os.environ.get("SUPERMEMORY_API_KEY"), # This is the default and can be omitted
|
|
@@ -116,15 +118,14 @@ pip install --pre supermemory[aiohttp]
|
|
|
116
118
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
117
119
|
|
|
118
120
|
```python
|
|
119
|
-
import os
|
|
120
121
|
import asyncio
|
|
121
|
-
from
|
|
122
|
-
from
|
|
122
|
+
from supermemory import DefaultAioHttpClient
|
|
123
|
+
from supermemory import AsyncSupermemory
|
|
123
124
|
|
|
124
125
|
|
|
125
126
|
async def main() -> None:
|
|
126
127
|
async with AsyncSupermemory(
|
|
127
|
-
api_key=
|
|
128
|
+
api_key="My API Key",
|
|
128
129
|
http_client=DefaultAioHttpClient(),
|
|
129
130
|
) as client:
|
|
130
131
|
response = await client.search.execute(
|
|
@@ -147,29 +148,27 @@ Typed requests and responses provide autocomplete and documentation within your
|
|
|
147
148
|
|
|
148
149
|
## Handling errors
|
|
149
150
|
|
|
150
|
-
When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `
|
|
151
|
+
When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `supermemory.APIConnectionError` is raised.
|
|
151
152
|
|
|
152
153
|
When the API returns a non-success status code (that is, 4xx or 5xx
|
|
153
|
-
response), a subclass of `
|
|
154
|
+
response), a subclass of `supermemory.APIStatusError` is raised, containing `status_code` and `response` properties.
|
|
154
155
|
|
|
155
|
-
All errors inherit from `
|
|
156
|
+
All errors inherit from `supermemory.APIError`.
|
|
156
157
|
|
|
157
158
|
```python
|
|
158
|
-
import
|
|
159
|
-
from
|
|
159
|
+
import supermemory
|
|
160
|
+
from supermemory import Supermemory
|
|
160
161
|
|
|
161
162
|
client = Supermemory()
|
|
162
163
|
|
|
163
164
|
try:
|
|
164
|
-
client.memories.add(
|
|
165
|
-
|
|
166
|
-
)
|
|
167
|
-
except supermemory_new.APIConnectionError as e:
|
|
165
|
+
client.memories.add()
|
|
166
|
+
except supermemory.APIConnectionError as e:
|
|
168
167
|
print("The server could not be reached")
|
|
169
168
|
print(e.__cause__) # an underlying Exception, likely raised within httpx.
|
|
170
|
-
except
|
|
169
|
+
except supermemory.RateLimitError as e:
|
|
171
170
|
print("A 429 status code was received; we should back off a bit.")
|
|
172
|
-
except
|
|
171
|
+
except supermemory.APIStatusError as e:
|
|
173
172
|
print("Another non-200-range status code was received")
|
|
174
173
|
print(e.status_code)
|
|
175
174
|
print(e.response)
|
|
@@ -197,7 +196,7 @@ Connection errors (for example, due to a network connectivity problem), 408 Requ
|
|
|
197
196
|
You can use the `max_retries` option to configure or disable retry settings:
|
|
198
197
|
|
|
199
198
|
```python
|
|
200
|
-
from
|
|
199
|
+
from supermemory import Supermemory
|
|
201
200
|
|
|
202
201
|
# Configure the default for all requests:
|
|
203
202
|
client = Supermemory(
|
|
@@ -206,9 +205,7 @@ client = Supermemory(
|
|
|
206
205
|
)
|
|
207
206
|
|
|
208
207
|
# Or, configure per-request:
|
|
209
|
-
client.with_options(max_retries=5).memories.add(
|
|
210
|
-
content="This is a detailed article about machine learning concepts...",
|
|
211
|
-
)
|
|
208
|
+
client.with_options(max_retries=5).memories.add()
|
|
212
209
|
```
|
|
213
210
|
|
|
214
211
|
### Timeouts
|
|
@@ -217,7 +214,7 @@ By default requests time out after 1 minute. You can configure this with a `time
|
|
|
217
214
|
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
|
|
218
215
|
|
|
219
216
|
```python
|
|
220
|
-
from
|
|
217
|
+
from supermemory import Supermemory
|
|
221
218
|
|
|
222
219
|
# Configure the default for all requests:
|
|
223
220
|
client = Supermemory(
|
|
@@ -231,9 +228,7 @@ client = Supermemory(
|
|
|
231
228
|
)
|
|
232
229
|
|
|
233
230
|
# Override per-request:
|
|
234
|
-
client.with_options(timeout=5.0).memories.add(
|
|
235
|
-
content="This is a detailed article about machine learning concepts...",
|
|
236
|
-
)
|
|
231
|
+
client.with_options(timeout=5.0).memories.add()
|
|
237
232
|
```
|
|
238
233
|
|
|
239
234
|
On timeout, an `APITimeoutError` is thrown.
|
|
@@ -271,21 +266,19 @@ if response.my_field is None:
|
|
|
271
266
|
The "raw" Response object can be accessed by prefixing `.with_raw_response.` to any HTTP method call, e.g.,
|
|
272
267
|
|
|
273
268
|
```py
|
|
274
|
-
from
|
|
269
|
+
from supermemory import Supermemory
|
|
275
270
|
|
|
276
271
|
client = Supermemory()
|
|
277
|
-
response = client.memories.with_raw_response.add(
|
|
278
|
-
content="This is a detailed article about machine learning concepts...",
|
|
279
|
-
)
|
|
272
|
+
response = client.memories.with_raw_response.add()
|
|
280
273
|
print(response.headers.get('X-My-Header'))
|
|
281
274
|
|
|
282
275
|
memory = response.parse() # get the object that `memories.add()` would have returned
|
|
283
276
|
print(memory.id)
|
|
284
277
|
```
|
|
285
278
|
|
|
286
|
-
These methods return an [`APIResponse`](https://github.com/supermemoryai/python-sdk/tree/main/src/
|
|
279
|
+
These methods return an [`APIResponse`](https://github.com/supermemoryai/python-sdk/tree/main/src/supermemory/_response.py) object.
|
|
287
280
|
|
|
288
|
-
The async client returns an [`AsyncAPIResponse`](https://github.com/supermemoryai/python-sdk/tree/main/src/
|
|
281
|
+
The async client returns an [`AsyncAPIResponse`](https://github.com/supermemoryai/python-sdk/tree/main/src/supermemory/_response.py) with the same structure, the only difference being `await`able methods for reading the response content.
|
|
289
282
|
|
|
290
283
|
#### `.with_streaming_response`
|
|
291
284
|
|
|
@@ -294,9 +287,7 @@ The above interface eagerly reads the full response body when you make the reque
|
|
|
294
287
|
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
|
|
295
288
|
|
|
296
289
|
```python
|
|
297
|
-
with client.memories.with_streaming_response.add(
|
|
298
|
-
content="This is a detailed article about machine learning concepts...",
|
|
299
|
-
) as response:
|
|
290
|
+
with client.memories.with_streaming_response.add() as response:
|
|
300
291
|
print(response.headers.get("X-My-Header"))
|
|
301
292
|
|
|
302
293
|
for line in response.iter_lines():
|
|
@@ -349,7 +340,7 @@ You can directly override the [httpx client](https://www.python-httpx.org/api/#c
|
|
|
349
340
|
|
|
350
341
|
```python
|
|
351
342
|
import httpx
|
|
352
|
-
from
|
|
343
|
+
from supermemory import Supermemory, DefaultHttpxClient
|
|
353
344
|
|
|
354
345
|
client = Supermemory(
|
|
355
346
|
# Or use the `SUPERMEMORY_BASE_URL` env var
|
|
@@ -372,7 +363,7 @@ client.with_options(http_client=DefaultHttpxClient(...))
|
|
|
372
363
|
By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
|
|
373
364
|
|
|
374
365
|
```py
|
|
375
|
-
from
|
|
366
|
+
from supermemory import Supermemory
|
|
376
367
|
|
|
377
368
|
with Supermemory() as client:
|
|
378
369
|
# make requests here
|
|
@@ -400,8 +391,8 @@ If you've upgraded to the latest version but aren't seeing any new features you
|
|
|
400
391
|
You can determine the version that is being used at runtime with:
|
|
401
392
|
|
|
402
393
|
```py
|
|
403
|
-
import
|
|
404
|
-
print(
|
|
394
|
+
import supermemory
|
|
395
|
+
print(supermemory.__version__)
|
|
405
396
|
```
|
|
406
397
|
|
|
407
398
|
## Requirements
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
supermemory/__init__.py,sha256=PDWpv0_OWO8lBFh21lQl5k0zrlBzcGf643CKXRoQgzM,2664
|
|
2
|
+
supermemory/_base_client.py,sha256=QgICS6jlUewh2gBXzb6SyAL7QIomu4yyztK4aZKSpHQ,66927
|
|
3
|
+
supermemory/_client.py,sha256=2KcNz77blgIaQddenKFBrWXUqBG7IlP4vGuVYTix5bk,16890
|
|
4
|
+
supermemory/_compat.py,sha256=VWemUKbj6DDkQ-O4baSpHVLJafotzeXmCQGJugfVTIw,6580
|
|
5
|
+
supermemory/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
|
|
6
|
+
supermemory/_exceptions.py,sha256=5nnX7W8L_eA6LkX3SBl7csJy5d9QEcDqRVuwDq8wVh8,3230
|
|
7
|
+
supermemory/_files.py,sha256=mf4dOgL4b0ryyZlbqLhggD3GVgDf6XxdGFAgce01ugE,3549
|
|
8
|
+
supermemory/_models.py,sha256=viD5E6aDMhxslcFHDYvkHaKzE8YLcNmsPsMe8STixvs,29294
|
|
9
|
+
supermemory/_qs.py,sha256=AOkSz4rHtK4YI3ZU_kzea-zpwBUgEY8WniGmTPyEimc,4846
|
|
10
|
+
supermemory/_resource.py,sha256=_wuaB1exMy-l-qqdJJdTv15hH5qBSN2Rj9CFwjXTZJU,1130
|
|
11
|
+
supermemory/_response.py,sha256=Yh869-U8INkojKZHFsNw69z5Y2BrK2isgRJ8mifEURM,28848
|
|
12
|
+
supermemory/_streaming.py,sha256=MGbosxSTqq0_JG52hvH2Z-Mr_Y95ws5UdFw77_iYukc,10120
|
|
13
|
+
supermemory/_types.py,sha256=ohS8PFDHBFM-0ua6YsUlS55BPHft3xY6DhiIKaYrlN0,6202
|
|
14
|
+
supermemory/_version.py,sha256=l9FP-9dtpXi66ABXyv8NMhU_slS2WPQnMJACoZLhQQ8,172
|
|
15
|
+
supermemory/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
supermemory/_utils/__init__.py,sha256=PNZ_QJuzZEgyYXqkO1HVhGkj5IU9bglVUcw7H-Knjzw,2062
|
|
17
|
+
supermemory/_utils/_logs.py,sha256=iceljYaEUb4Q4q1SgbSzwSrlJA64ISbaccczzZ8Z9Vg,789
|
|
18
|
+
supermemory/_utils/_proxy.py,sha256=aglnj2yBTDyGX9Akk2crZHrl10oqRmceUy2Zp008XEs,1975
|
|
19
|
+
supermemory/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
|
|
20
|
+
supermemory/_utils/_resources_proxy.py,sha256=9MqlmhIEoyeVraNz90vnq1pS6EOxSqvYVlVK-CvLMmQ,614
|
|
21
|
+
supermemory/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
|
|
22
|
+
supermemory/_utils/_sync.py,sha256=TpGLrrhRNWTJtODNE6Fup3_k7zrWm1j2RlirzBwre-0,2862
|
|
23
|
+
supermemory/_utils/_transform.py,sha256=n7kskEWz6o__aoNvhFoGVyDoalNe6mJwp-g7BWkdj88,15617
|
|
24
|
+
supermemory/_utils/_typing.py,sha256=D0DbbNu8GnYQTSICnTSHDGsYXj8TcAKyhejb0XcnjtY,4602
|
|
25
|
+
supermemory/_utils/_utils.py,sha256=ts4CiiuNpFiGB6YMdkQRh2SZvYvsl7mAF-JWHCcLDf4,12312
|
|
26
|
+
supermemory/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
|
27
|
+
supermemory/resources/__init__.py,sha256=c1dal-ngMY7gwIf9PDPapYx6rHi670pREX5t3_d6298,2019
|
|
28
|
+
supermemory/resources/connections.py,sha256=-DabGIc4_3qFvFRmBOdHGtu4NkaUOaYz3y50CjpqMKQ,33199
|
|
29
|
+
supermemory/resources/memories.py,sha256=tN2XaV2Fr3XW1JrW_I1dEWpL_M0PJL2jnxehd-byrYk,26441
|
|
30
|
+
supermemory/resources/search.py,sha256=9JIv99mPiAlWCEZ41QxAzN4bteCwyo6UCEL3Our-flo,12546
|
|
31
|
+
supermemory/resources/settings.py,sha256=tLM7ya1CEYI_TO8DMP_KLxXHqsxOeq3R3Xs4CQnvPuU,11855
|
|
32
|
+
supermemory/types/__init__.py,sha256=ufEnLZv6LSfCqlxj6R7HDKYZvbnDQdYMpMBTfY8cj6c,2351
|
|
33
|
+
supermemory/types/connection_create_params.py,sha256=bYYKu3ns60PX6Mt34UQUpYwThB3SBZsKn5tW0c46DUM,630
|
|
34
|
+
supermemory/types/connection_create_response.py,sha256=i4sb0DSRs7wVVd8xDBOtr7vw-YbaeZ7MydlQLYvlvJs,468
|
|
35
|
+
supermemory/types/connection_delete_by_id_response.py,sha256=guD1vxqV2wiQnwnWCZSQH0z2HYXQOtvicRzouPVkHXA,243
|
|
36
|
+
supermemory/types/connection_delete_by_provider_params.py,sha256=VnVud6ADbvdYY37BqZ8T-s3wC4xuvbiztge96OuzigM,528
|
|
37
|
+
supermemory/types/connection_delete_by_provider_response.py,sha256=PgMQuSIhVFSF2LVa0FBei2bj3gyVRB7FyOi_-M-Rugc,255
|
|
38
|
+
supermemory/types/connection_get_by_id_response.py,sha256=IDJYDLxiuun1XiOdEnENe78zQIbM6YJy2IW3X7mStAA,614
|
|
39
|
+
supermemory/types/connection_get_by_tags_params.py,sha256=kPQfi7nrM3DbarVx8_Nlq20hVEqelPmfouizAZ6NHDY,504
|
|
40
|
+
supermemory/types/connection_get_by_tags_response.py,sha256=JLmGSgNS46arQgz8ohIPn8kphfG8HB5eMu7GPdJFqzI,618
|
|
41
|
+
supermemory/types/connection_import_params.py,sha256=HbMAE6vjmhpJk4shqa9d78hxh_q3J6hdST8GUKGEopM,488
|
|
42
|
+
supermemory/types/connection_list_documents_params.py,sha256=pXMe7sDpqSwBVjPsY2qyTep6rlnfnzE150WdY0-CnOU,500
|
|
43
|
+
supermemory/types/connection_list_documents_response.py,sha256=0IdHufx0yErjfmoXYeY0KJ2QID9C-_58joyGEuu8gd4,682
|
|
44
|
+
supermemory/types/connection_list_params.py,sha256=E0thiUUlyGHeLmb-iAbat1vl8BOqaqCOPDjtYolKkng,482
|
|
45
|
+
supermemory/types/connection_list_response.py,sha256=ZwrRv6zICkn4-M-92ZgDZ2NiVHAEAJZKLZEcu_h_gO4,759
|
|
46
|
+
supermemory/types/memory_add_params.py,sha256=RmaUzYT-FNMfE3263U44lA-OlPS99P27qhiXPgKmQgI,1508
|
|
47
|
+
supermemory/types/memory_add_response.py,sha256=5lim8sVXM7WzG8tUuKORHEe2lJc6yVWvyjylzNsLGjw,219
|
|
48
|
+
supermemory/types/memory_get_response.py,sha256=qWe-mdEBA-d-zklNnsbULSlGax3KXBMHlyLTPpNglFg,3164
|
|
49
|
+
supermemory/types/memory_list_params.py,sha256=nE4fnYdubdjbGy5-7BxmSms6owZZIbv8PegZxRRzwjA,914
|
|
50
|
+
supermemory/types/memory_list_response.py,sha256=Lq2ChggQ1YCFQLi2M9u61hxRwGf2ib3p9_X8mywJF78,2620
|
|
51
|
+
supermemory/types/memory_update_params.py,sha256=kyNU53my_W0wVpxgjPMY8IPDi3ccjhqYKkI1OiL6MKQ,1514
|
|
52
|
+
supermemory/types/memory_update_response.py,sha256=fvfO9lGM8xv2EUOQfOSxqig6fx6-ykq7syW69er_2ng,225
|
|
53
|
+
supermemory/types/search_execute_params.py,sha256=8JRtcQ7G1TmG9JW-f1XwNmvT1llM6FsPx0kkQN1Ellw,3130
|
|
54
|
+
supermemory/types/search_execute_response.py,sha256=iyKh6SHeInl8BYIlvPVWXhfHBjrO6AgWt-1E76Dk8xw,1295
|
|
55
|
+
supermemory/types/setting_get_response.py,sha256=WvgAb9zGMsMnAhLiYk6h5NBptnq0D06TnuoI4EJg5Ds,1648
|
|
56
|
+
supermemory/types/setting_update_params.py,sha256=KsreaS35v25aRKBY5vHna3hZ31U3b1Q5ruQLoM0gcyE,1710
|
|
57
|
+
supermemory/types/setting_update_response.py,sha256=F__RcFFWiiSw11IV8PsWn6POEb1crDwO8QwHEQToVuQ,1806
|
|
58
|
+
supermemory-3.0.0a23.dist-info/METADATA,sha256=vJPjw_7LAg2r0PckCXJBj-sJ1JqtDMHb7Lp-ytMFHys,13809
|
|
59
|
+
supermemory-3.0.0a23.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
60
|
+
supermemory-3.0.0a23.dist-info/licenses/LICENSE,sha256=M2NcpYEBpakciOULpWzo-xO2Lincf74gGwfaU00Sct0,11341
|
|
61
|
+
supermemory-3.0.0a23.dist-info/RECORD,,
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
supermemory_new/__init__.py,sha256=vJ_zHRctUVIuetfD7Izx4xJtWX2I2x7KWJCTNEUsGhE,2676
|
|
2
|
-
supermemory_new/_base_client.py,sha256=ac4Ewh_mPPBZRqodxI0Vi0XKADdpJnOD8XTvMi0zUMg,66724
|
|
3
|
-
supermemory_new/_client.py,sha256=2KcNz77blgIaQddenKFBrWXUqBG7IlP4vGuVYTix5bk,16890
|
|
4
|
-
supermemory_new/_compat.py,sha256=VWemUKbj6DDkQ-O4baSpHVLJafotzeXmCQGJugfVTIw,6580
|
|
5
|
-
supermemory_new/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
|
|
6
|
-
supermemory_new/_exceptions.py,sha256=5nnX7W8L_eA6LkX3SBl7csJy5d9QEcDqRVuwDq8wVh8,3230
|
|
7
|
-
supermemory_new/_files.py,sha256=mf4dOgL4b0ryyZlbqLhggD3GVgDf6XxdGFAgce01ugE,3549
|
|
8
|
-
supermemory_new/_models.py,sha256=G1vczEodX0vUySeVKbF-mbzlaObNL1oVAYH4c65agRk,29131
|
|
9
|
-
supermemory_new/_qs.py,sha256=AOkSz4rHtK4YI3ZU_kzea-zpwBUgEY8WniGmTPyEimc,4846
|
|
10
|
-
supermemory_new/_resource.py,sha256=_wuaB1exMy-l-qqdJJdTv15hH5qBSN2Rj9CFwjXTZJU,1130
|
|
11
|
-
supermemory_new/_response.py,sha256=eeakb78kSNha9ybvYHYWEaIQnY4vqWoUjyUUrHJG8gM,28864
|
|
12
|
-
supermemory_new/_streaming.py,sha256=MGbosxSTqq0_JG52hvH2Z-Mr_Y95ws5UdFw77_iYukc,10120
|
|
13
|
-
supermemory_new/_types.py,sha256=fNeozFqUS0Y6kr4ZCiV-Lxl0s9ltl-l6IkETfdQx3NA,6206
|
|
14
|
-
supermemory_new/_version.py,sha256=r00qCdgYnQbqCCKkxXstMb_ms-kXpzBllFUlYyEV-bc,176
|
|
15
|
-
supermemory_new/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
supermemory_new/_utils/__init__.py,sha256=PNZ_QJuzZEgyYXqkO1HVhGkj5IU9bglVUcw7H-Knjzw,2062
|
|
17
|
-
supermemory_new/_utils/_logs.py,sha256=lzHhWp9VDelSwSGNWIkqO8CB4mBOYVjcCSZ7VFIIE3s,797
|
|
18
|
-
supermemory_new/_utils/_proxy.py,sha256=aglnj2yBTDyGX9Akk2crZHrl10oqRmceUy2Zp008XEs,1975
|
|
19
|
-
supermemory_new/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
|
|
20
|
-
supermemory_new/_utils/_resources_proxy.py,sha256=kkXrtsLnl0X9xKNKuOovectHX8J0x8aU30kPlCtVWDE,634
|
|
21
|
-
supermemory_new/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
|
|
22
|
-
supermemory_new/_utils/_sync.py,sha256=TpGLrrhRNWTJtODNE6Fup3_k7zrWm1j2RlirzBwre-0,2862
|
|
23
|
-
supermemory_new/_utils/_transform.py,sha256=n7kskEWz6o__aoNvhFoGVyDoalNe6mJwp-g7BWkdj88,15617
|
|
24
|
-
supermemory_new/_utils/_typing.py,sha256=D0DbbNu8GnYQTSICnTSHDGsYXj8TcAKyhejb0XcnjtY,4602
|
|
25
|
-
supermemory_new/_utils/_utils.py,sha256=ts4CiiuNpFiGB6YMdkQRh2SZvYvsl7mAF-JWHCcLDf4,12312
|
|
26
|
-
supermemory_new/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
|
27
|
-
supermemory_new/resources/__init__.py,sha256=c1dal-ngMY7gwIf9PDPapYx6rHi670pREX5t3_d6298,2019
|
|
28
|
-
supermemory_new/resources/connections.py,sha256=-DabGIc4_3qFvFRmBOdHGtu4NkaUOaYz3y50CjpqMKQ,33199
|
|
29
|
-
supermemory_new/resources/memories.py,sha256=CfPV7qua5Rn-Yhf-UbaNpoSctQK1o86IJqoDzSTRcUo,26349
|
|
30
|
-
supermemory_new/resources/search.py,sha256=9JIv99mPiAlWCEZ41QxAzN4bteCwyo6UCEL3Our-flo,12546
|
|
31
|
-
supermemory_new/resources/settings.py,sha256=tLM7ya1CEYI_TO8DMP_KLxXHqsxOeq3R3Xs4CQnvPuU,11855
|
|
32
|
-
supermemory_new/types/__init__.py,sha256=ufEnLZv6LSfCqlxj6R7HDKYZvbnDQdYMpMBTfY8cj6c,2351
|
|
33
|
-
supermemory_new/types/connection_create_params.py,sha256=bYYKu3ns60PX6Mt34UQUpYwThB3SBZsKn5tW0c46DUM,630
|
|
34
|
-
supermemory_new/types/connection_create_response.py,sha256=i4sb0DSRs7wVVd8xDBOtr7vw-YbaeZ7MydlQLYvlvJs,468
|
|
35
|
-
supermemory_new/types/connection_delete_by_id_response.py,sha256=guD1vxqV2wiQnwnWCZSQH0z2HYXQOtvicRzouPVkHXA,243
|
|
36
|
-
supermemory_new/types/connection_delete_by_provider_params.py,sha256=VnVud6ADbvdYY37BqZ8T-s3wC4xuvbiztge96OuzigM,528
|
|
37
|
-
supermemory_new/types/connection_delete_by_provider_response.py,sha256=PgMQuSIhVFSF2LVa0FBei2bj3gyVRB7FyOi_-M-Rugc,255
|
|
38
|
-
supermemory_new/types/connection_get_by_id_response.py,sha256=IDJYDLxiuun1XiOdEnENe78zQIbM6YJy2IW3X7mStAA,614
|
|
39
|
-
supermemory_new/types/connection_get_by_tags_params.py,sha256=kPQfi7nrM3DbarVx8_Nlq20hVEqelPmfouizAZ6NHDY,504
|
|
40
|
-
supermemory_new/types/connection_get_by_tags_response.py,sha256=JLmGSgNS46arQgz8ohIPn8kphfG8HB5eMu7GPdJFqzI,618
|
|
41
|
-
supermemory_new/types/connection_import_params.py,sha256=HbMAE6vjmhpJk4shqa9d78hxh_q3J6hdST8GUKGEopM,488
|
|
42
|
-
supermemory_new/types/connection_list_documents_params.py,sha256=pXMe7sDpqSwBVjPsY2qyTep6rlnfnzE150WdY0-CnOU,500
|
|
43
|
-
supermemory_new/types/connection_list_documents_response.py,sha256=0IdHufx0yErjfmoXYeY0KJ2QID9C-_58joyGEuu8gd4,682
|
|
44
|
-
supermemory_new/types/connection_list_params.py,sha256=E0thiUUlyGHeLmb-iAbat1vl8BOqaqCOPDjtYolKkng,482
|
|
45
|
-
supermemory_new/types/connection_list_response.py,sha256=ZwrRv6zICkn4-M-92ZgDZ2NiVHAEAJZKLZEcu_h_gO4,759
|
|
46
|
-
supermemory_new/types/memory_add_params.py,sha256=QG_aD0YXTJ8aSzwlKkv18nkrzl3asUakfFfR65mk9ss,1528
|
|
47
|
-
supermemory_new/types/memory_add_response.py,sha256=5lim8sVXM7WzG8tUuKORHEe2lJc6yVWvyjylzNsLGjw,219
|
|
48
|
-
supermemory_new/types/memory_get_response.py,sha256=sSCvX54IIoaVuifygi0IxiwHMKNNIGgg8eJJ-xu37BI,2850
|
|
49
|
-
supermemory_new/types/memory_list_params.py,sha256=nE4fnYdubdjbGy5-7BxmSms6owZZIbv8PegZxRRzwjA,914
|
|
50
|
-
supermemory_new/types/memory_list_response.py,sha256=Lq2ChggQ1YCFQLi2M9u61hxRwGf2ib3p9_X8mywJF78,2620
|
|
51
|
-
supermemory_new/types/memory_update_params.py,sha256=swEIF-CfcxWGzsiT8O_AbtzkyujMiafZpbi2GEXPuuw,1534
|
|
52
|
-
supermemory_new/types/memory_update_response.py,sha256=fvfO9lGM8xv2EUOQfOSxqig6fx6-ykq7syW69er_2ng,225
|
|
53
|
-
supermemory_new/types/search_execute_params.py,sha256=8JRtcQ7G1TmG9JW-f1XwNmvT1llM6FsPx0kkQN1Ellw,3130
|
|
54
|
-
supermemory_new/types/search_execute_response.py,sha256=iyKh6SHeInl8BYIlvPVWXhfHBjrO6AgWt-1E76Dk8xw,1295
|
|
55
|
-
supermemory_new/types/setting_get_response.py,sha256=WvgAb9zGMsMnAhLiYk6h5NBptnq0D06TnuoI4EJg5Ds,1648
|
|
56
|
-
supermemory_new/types/setting_update_params.py,sha256=KsreaS35v25aRKBY5vHna3hZ31U3b1Q5ruQLoM0gcyE,1710
|
|
57
|
-
supermemory_new/types/setting_update_response.py,sha256=F__RcFFWiiSw11IV8PsWn6POEb1crDwO8QwHEQToVuQ,1806
|
|
58
|
-
supermemory-3.0.0a21.dist-info/METADATA,sha256=eaHbiskX_I8ENctSMgJYzoQh9Ic0q9aD7nni7PBWgWY,14348
|
|
59
|
-
supermemory-3.0.0a21.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
60
|
-
supermemory-3.0.0a21.dist-info/licenses/LICENSE,sha256=M2NcpYEBpakciOULpWzo-xO2Lincf74gGwfaU00Sct0,11341
|
|
61
|
-
supermemory-3.0.0a21.dist-info/RECORD,,
|
supermemory_new/_version.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|