Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "3.58.0"
".": "3.59.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 26
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc/supermemory-new-5ad0e09495301abdcb7a5a63738ce5841248518504e122003219230ef35ed439.yml
openapi_spec_hash: 6462e423d826118caba0292cd5956178
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc/supermemory-new-4bec4aac7a4fd11299c105dd60bc086c0aaf51d5cd0f63075efefa56bc19a67f.yml
openapi_spec_hash: f87b9769f91d448f4eb797c37ef4d061
config_hash: cde97ef3188581c5f4924c633ec33ddb
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 3.59.0 (2026-08-14)

Full Changelog: [v3.58.0...v3.59.0](https://github.com/supermemoryai/python-sdk/compare/v3.58.0...v3.59.0)

### Features

* **api:** api update ([556b996](https://github.com/supermemoryai/python-sdk/commit/556b996208d3408931197190237cc571eb8b1ded))

## 3.58.0 (2026-08-14)

Full Changelog: [v3.57.0...v3.58.0](https://github.com/supermemoryai/python-sdk/compare/v3.57.0...v3.58.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "supermemory"
version = "3.58.0"
version = "3.59.0"
description = "The official Python library for the supermemory API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
16 changes: 16 additions & 0 deletions src/supermemory/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ def add(
container_tag: str | Omit = omit,
container_tags: SequenceNotStr[str] | Omit = omit,
custom_id: str | Omit = omit,
document_date: str | Omit = omit,
dreaming: Literal["instant", "dynamic"] | Omit = omit,
entity_context: str | Omit = omit,
filepath: str | Omit = omit,
Expand All @@ -280,6 +281,12 @@ def add(
custom_id: Optional custom ID of the document. Max 100 characters, alphanumeric with
hyphens, underscores, and dots only.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates against this instead of the ingestion time, and documents in a
batch are processed oldest-first so newer facts correctly supersede older ones.
Set this whenever you backfill historical content.

dreaming: Processing mode. "dynamic" (default) groups related documents together so
memories form from coherent, logical units rather than one isolated entry at a
time. "instant" processes each document on its own right away, and bills one
Expand Down Expand Up @@ -315,6 +322,7 @@ def add(
"container_tag": container_tag,
"container_tags": container_tags,
"custom_id": custom_id,
"document_date": document_date,
"dreaming": dreaming,
"entity_context": entity_context,
"filepath": filepath,
Expand Down Expand Up @@ -611,6 +619,7 @@ async def add(
container_tag: str | Omit = omit,
container_tags: SequenceNotStr[str] | Omit = omit,
custom_id: str | Omit = omit,
document_date: str | Omit = omit,
dreaming: Literal["instant", "dynamic"] | Omit = omit,
entity_context: str | Omit = omit,
filepath: str | Omit = omit,
Expand All @@ -637,6 +646,12 @@ async def add(
custom_id: Optional custom ID of the document. Max 100 characters, alphanumeric with
hyphens, underscores, and dots only.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates against this instead of the ingestion time, and documents in a
batch are processed oldest-first so newer facts correctly supersede older ones.
Set this whenever you backfill historical content.

dreaming: Processing mode. "dynamic" (default) groups related documents together so
memories form from coherent, logical units rather than one isolated entry at a
time. "instant" processes each document on its own right away, and bills one
Expand Down Expand Up @@ -672,6 +687,7 @@ async def add(
"container_tag": container_tag,
"container_tags": container_tags,
"custom_id": custom_id,
"document_date": document_date,
"dreaming": dreaming,
"entity_context": entity_context,
"filepath": filepath,
Expand Down
2 changes: 1 addition & 1 deletion src/supermemory/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "supermemory"
__version__ = "3.58.0" # x-release-please-version
__version__ = "3.59.0" # x-release-please-version
52 changes: 52 additions & 0 deletions src/supermemory/resources/documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ def update(
container_tags: SequenceNotStr[str] | Omit = omit,
content: str | Omit = omit,
custom_id: str | Omit = omit,
document_date: str | Omit = omit,
filepath: str | Omit = omit,
filter_by_metadata: Dict[str, Union[str, float, bool, SequenceNotStr[str]]] | Omit = omit,
metadata: Dict[str, Union[str, float, bool, SequenceNotStr[str]]] | Omit = omit,
Expand Down Expand Up @@ -102,6 +103,13 @@ def update(
custom_id: Optional custom ID of the document. This could be an ID from your database that
will uniquely identify this document.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.

filepath: Optional file path for the document (e.g., '/documents/reports/file.pdf'). Used
by supermemoryfs to map documents to filesystem paths.

Expand Down Expand Up @@ -137,6 +145,7 @@ def update(
"container_tags": container_tags,
"content": content,
"custom_id": custom_id,
"document_date": document_date,
"filepath": filepath,
"filter_by_metadata": filter_by_metadata,
"metadata": metadata,
Expand Down Expand Up @@ -262,6 +271,7 @@ def add(
container_tag: str | Omit = omit,
container_tags: SequenceNotStr[str] | Omit = omit,
custom_id: str | Omit = omit,
document_date: str | Omit = omit,
dreaming: Literal["instant", "dynamic"] | Omit = omit,
entity_context: str | Omit = omit,
filepath: str | Omit = omit,
Expand All @@ -288,6 +298,12 @@ def add(
custom_id: Optional custom ID of the document. Max 100 characters, alphanumeric with
hyphens, underscores, and dots only.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates against this instead of the ingestion time, and documents in a
batch are processed oldest-first so newer facts correctly supersede older ones.
Set this whenever you backfill historical content.

dreaming: Processing mode. "dynamic" (default) groups related documents together so
memories form from coherent, logical units rather than one isolated entry at a
time. "instant" processes each document on its own right away, and bills one
Expand Down Expand Up @@ -323,6 +339,7 @@ def add(
"container_tag": container_tag,
"container_tags": container_tags,
"custom_id": custom_id,
"document_date": document_date,
"dreaming": dreaming,
"entity_context": entity_context,
"filepath": filepath,
Expand All @@ -345,6 +362,7 @@ def batch_add(
container_tag: str | Omit = omit,
container_tags: SequenceNotStr[str] | Omit = omit,
content: None | Omit = omit,
document_date: str | Omit = omit,
dreaming: Literal["instant", "dynamic"] | Omit = omit,
entity_context: str | Omit = omit,
filepath: str | Omit = omit,
Expand Down Expand Up @@ -372,6 +390,13 @@ def batch_add(
containerized by. This can be an ID for your user, a project ID, or any other
identifier you wish to use to group documents.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.

dreaming: Processing mode. "dynamic" (default) groups related documents together so
memories form from coherent, logical units rather than one isolated entry at a
time. "instant" processes each document on its own right away, and bills one
Expand Down Expand Up @@ -413,6 +438,7 @@ def batch_add(
"container_tag": container_tag,
"container_tags": container_tags,
"content": content,
"document_date": document_date,
"dreaming": dreaming,
"entity_context": entity_context,
"filepath": filepath,
Expand Down Expand Up @@ -670,6 +696,7 @@ async def update(
container_tags: SequenceNotStr[str] | Omit = omit,
content: str | Omit = omit,
custom_id: str | Omit = omit,
document_date: str | Omit = omit,
filepath: str | Omit = omit,
filter_by_metadata: Dict[str, Union[str, float, bool, SequenceNotStr[str]]] | Omit = omit,
metadata: Dict[str, Union[str, float, bool, SequenceNotStr[str]]] | Omit = omit,
Expand Down Expand Up @@ -705,6 +732,13 @@ async def update(
custom_id: Optional custom ID of the document. This could be an ID from your database that
will uniquely identify this document.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.

filepath: Optional file path for the document (e.g., '/documents/reports/file.pdf'). Used
by supermemoryfs to map documents to filesystem paths.

Expand Down Expand Up @@ -740,6 +774,7 @@ async def update(
"container_tags": container_tags,
"content": content,
"custom_id": custom_id,
"document_date": document_date,
"filepath": filepath,
"filter_by_metadata": filter_by_metadata,
"metadata": metadata,
Expand Down Expand Up @@ -865,6 +900,7 @@ async def add(
container_tag: str | Omit = omit,
container_tags: SequenceNotStr[str] | Omit = omit,
custom_id: str | Omit = omit,
document_date: str | Omit = omit,
dreaming: Literal["instant", "dynamic"] | Omit = omit,
entity_context: str | Omit = omit,
filepath: str | Omit = omit,
Expand All @@ -891,6 +927,12 @@ async def add(
custom_id: Optional custom ID of the document. Max 100 characters, alphanumeric with
hyphens, underscores, and dots only.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates against this instead of the ingestion time, and documents in a
batch are processed oldest-first so newer facts correctly supersede older ones.
Set this whenever you backfill historical content.

dreaming: Processing mode. "dynamic" (default) groups related documents together so
memories form from coherent, logical units rather than one isolated entry at a
time. "instant" processes each document on its own right away, and bills one
Expand Down Expand Up @@ -926,6 +968,7 @@ async def add(
"container_tag": container_tag,
"container_tags": container_tags,
"custom_id": custom_id,
"document_date": document_date,
"dreaming": dreaming,
"entity_context": entity_context,
"filepath": filepath,
Expand All @@ -948,6 +991,7 @@ async def batch_add(
container_tag: str | Omit = omit,
container_tags: SequenceNotStr[str] | Omit = omit,
content: None | Omit = omit,
document_date: str | Omit = omit,
dreaming: Literal["instant", "dynamic"] | Omit = omit,
entity_context: str | Omit = omit,
filepath: str | Omit = omit,
Expand Down Expand Up @@ -975,6 +1019,13 @@ async def batch_add(
containerized by. This can be an ID for your user, a project ID, or any other
identifier you wish to use to group documents.

document_date: When this document's content is from, as opposed to when it was uploaded.
Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.

dreaming: Processing mode. "dynamic" (default) groups related documents together so
memories form from coherent, logical units rather than one isolated entry at a
time. "instant" processes each document on its own right away, and bills one
Expand Down Expand Up @@ -1016,6 +1067,7 @@ async def batch_add(
"container_tag": container_tag,
"container_tags": container_tags,
"content": content,
"document_date": document_date,
"dreaming": dreaming,
"entity_context": entity_context,
"filepath": filepath,
Expand Down
9 changes: 9 additions & 0 deletions src/supermemory/types/client_add_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ class ClientAddParams(TypedDict, total=False):
Max 100 characters, alphanumeric with hyphens, underscores, and dots only.
"""

document_date: Annotated[str, PropertyInfo(alias="documentDate")]
"""When this document's content is from, as opposed to when it was uploaded.

Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates against this instead of the ingestion time, and documents in a
batch are processed oldest-first so newer facts correctly supersede older ones.
Set this whenever you backfill historical content.
"""

dreaming: Literal["instant", "dynamic"]
"""Processing mode.

Expand Down
9 changes: 9 additions & 0 deletions src/supermemory/types/document_add_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ class DocumentAddParams(TypedDict, total=False):
Max 100 characters, alphanumeric with hyphens, underscores, and dots only.
"""

document_date: Annotated[str, PropertyInfo(alias="documentDate")]
"""When this document's content is from, as opposed to when it was uploaded.

Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates against this instead of the ingestion time, and documents in a
batch are processed oldest-first so newer facts correctly supersede older ones.
Set this whenever you backfill historical content.
"""

dreaming: Literal["instant", "dynamic"]
"""Processing mode.

Expand Down
20 changes: 20 additions & 0 deletions src/supermemory/types/document_batch_add_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ class DocumentBatchAddParams(TypedDict, total=False):

content: None

document_date: Annotated[str, PropertyInfo(alias="documentDate")]
"""When this document's content is from, as opposed to when it was uploaded.

Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.
"""

dreaming: Literal["instant", "dynamic"]
"""Processing mode.

Expand Down Expand Up @@ -111,6 +121,16 @@ class DocumentsUnionMember0(TypedDict, total=False):
document.
"""

document_date: Annotated[str, PropertyInfo(alias="documentDate")]
"""When this document's content is from, as opposed to when it was uploaded.

Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.
"""

dreaming: Literal["instant", "dynamic"]
"""Processing mode.

Expand Down
10 changes: 10 additions & 0 deletions src/supermemory/types/document_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ class DocumentUpdateParams(TypedDict, total=False):
document.
"""

document_date: Annotated[str, PropertyInfo(alias="documentDate")]
"""When this document's content is from, as opposed to when it was uploaded.

Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves
relative dates ('yesterday', 'last quarter') against this instead of the
ingestion time, and documents in a batch are processed oldest-first so newer
facts correctly supersede older ones. Set this whenever you backfill historical
content.
"""

filepath: str
"""Optional file path for the document (e.g., '/documents/reports/file.pdf').

Expand Down
2 changes: 2 additions & 0 deletions tests/api_resources/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ def test_method_add_with_all_params(self, client: Supermemory) -> None:
container_tag="containerTag",
container_tags=["string"],
custom_id="customId",
document_date="documentDate",
dreaming="instant",
entity_context="entityContext",
filepath="filepath",
Expand Down Expand Up @@ -148,6 +149,7 @@ async def test_method_add_with_all_params(self, async_client: AsyncSupermemory)
container_tag="containerTag",
container_tags=["string"],
custom_id="customId",
document_date="documentDate",
dreaming="instant",
entity_context="entityContext",
filepath="filepath",
Expand Down
Loading