mindtrace-database 0.13.0__tar.gz → 0.14.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.
- {mindtrace_database-0.13.0/mindtrace_database.egg-info → mindtrace_database-0.14.0}/PKG-INFO +3 -3
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/mongo_odm.py +9 -8
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/unified_odm.py +12 -10
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0/mindtrace_database.egg-info}/PKG-INFO +3 -3
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/requires.txt +2 -2
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/pyproject.toml +3 -3
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/LICENSE +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/README.md +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/__init__.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/mindtrace_odm.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/redis_odm.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/registry_odm.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/core/exceptions.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/sample/user.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/__init__.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/__init__.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/_models.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/_mongo.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/mongo_crud.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/mongo_insert.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/mongo_read.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/mongo_update.py +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/SOURCES.txt +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/dependency_links.txt +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/entry_points.txt +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/top_level.txt +0 -0
- {mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/setup.cfg +0 -0
{mindtrace_database-0.13.0/mindtrace_database.egg-info → mindtrace_database-0.14.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mindtrace-database
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
4
4
|
Summary: Database functionality for Mindtrace
|
|
5
5
|
Author: Mindtrace Team
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -11,13 +11,13 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: beanie<2,>=1.29.0
|
|
14
|
-
Requires-Dist: mindtrace-core>=0.
|
|
14
|
+
Requires-Dist: mindtrace-core>=0.14.0
|
|
15
15
|
Requires-Dist: pydantic>=2.11.1
|
|
16
16
|
Requires-Dist: redis>=4.0.0
|
|
17
17
|
Requires-Dist: redis-om>=0.3.5
|
|
18
18
|
Requires-Dist: motor>=3.3.0
|
|
19
19
|
Requires-Dist: pymongo>=4.14.0
|
|
20
|
-
Requires-Dist: mindtrace-registry>=0.
|
|
20
|
+
Requires-Dist: mindtrace-registry>=0.14.0
|
|
21
21
|
Dynamic: license-file
|
|
22
22
|
|
|
23
23
|
[](https://pypi.org/project/mindtrace-database/)
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/mongo_odm.py
RENAMED
|
@@ -438,15 +438,16 @@ class MongoMindtraceODM[T: MindtraceDocument](MindtraceODM):
|
|
|
438
438
|
if "_id" in data:
|
|
439
439
|
data.pop("_id")
|
|
440
440
|
|
|
441
|
+
# Caller ids were already stripped above; a model validator may mint a
|
|
442
|
+
# deterministic id here and it must survive to the write.
|
|
441
443
|
doc = self.model_cls(**data)
|
|
442
|
-
doc.id = None
|
|
443
444
|
|
|
444
445
|
try:
|
|
445
446
|
if self._motor_routing:
|
|
446
447
|
raw = self._motor_model_dump(doc)
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
448
|
+
for key in ("_id", "id"):
|
|
449
|
+
if raw.get(key) is None:
|
|
450
|
+
raw.pop(key, None)
|
|
450
451
|
result = await self._motor_collection().insert_one(raw)
|
|
451
452
|
inserted = await self._motor_collection().find_one({"_id": result.inserted_id})
|
|
452
453
|
if inserted is None:
|
|
@@ -481,12 +482,12 @@ class MongoMindtraceODM[T: MindtraceDocument](MindtraceODM):
|
|
|
481
482
|
data = obj.model_dump(mode="python", by_alias=True, serialize_as_any=True)
|
|
482
483
|
data.pop("id", None)
|
|
483
484
|
data.pop("_id", None)
|
|
485
|
+
# Same as insert(): caller ids stripped above; minted ids survive.
|
|
484
486
|
doc = self.model_cls(**data)
|
|
485
|
-
doc.id = None
|
|
486
487
|
raw = self._motor_model_dump(doc)
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
488
|
+
for key in ("_id", "id"):
|
|
489
|
+
if raw.get(key) is None:
|
|
490
|
+
raw.pop(key, None)
|
|
490
491
|
raw_docs.append(raw)
|
|
491
492
|
|
|
492
493
|
try:
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/unified_odm.py
RENAMED
|
@@ -2,7 +2,7 @@ import asyncio
|
|
|
2
2
|
from enum import Enum
|
|
3
3
|
from typing import Dict, List, Optional, Type, TypeVar, Union
|
|
4
4
|
|
|
5
|
-
from pydantic import BaseModel, Field
|
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
6
6
|
from redis_om.model.model import model_registry
|
|
7
7
|
|
|
8
8
|
from mindtrace.database.backends.mindtrace_odm import InitMode, MindtraceODM
|
|
@@ -39,15 +39,11 @@ class UnifiedMindtraceDocument(BaseModel):
|
|
|
39
39
|
# Optional ID field that can be used by both backends
|
|
40
40
|
id: Optional[str] = Field(default=None, description="Document ID")
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
# Use enum values for serialization
|
|
48
|
-
use_enum_values = True
|
|
49
|
-
# Validate assignment
|
|
50
|
-
validate_assignment = True
|
|
42
|
+
model_config = ConfigDict(
|
|
43
|
+
arbitrary_types_allowed=True,
|
|
44
|
+
use_enum_values=True,
|
|
45
|
+
validate_assignment=True,
|
|
46
|
+
)
|
|
51
47
|
|
|
52
48
|
class Meta:
|
|
53
49
|
"""
|
|
@@ -209,10 +205,16 @@ class UnifiedMindtraceDocument(BaseModel):
|
|
|
209
205
|
else:
|
|
210
206
|
annotations[field_name] = processed_type
|
|
211
207
|
|
|
208
|
+
# The generated class owns its id field
|
|
209
|
+
from beanie import PydanticObjectId
|
|
210
|
+
|
|
211
|
+
annotations["id"] = Optional[PydanticObjectId]
|
|
212
|
+
|
|
212
213
|
# Create the class attributes dictionary
|
|
213
214
|
class_dict = {
|
|
214
215
|
"__annotations__": annotations,
|
|
215
216
|
"__module__": cls.__module__,
|
|
217
|
+
"id": None,
|
|
216
218
|
}
|
|
217
219
|
|
|
218
220
|
# Add default values to class attributes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0/mindtrace_database.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mindtrace-database
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
4
4
|
Summary: Database functionality for Mindtrace
|
|
5
5
|
Author: Mindtrace Team
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -11,13 +11,13 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: beanie<2,>=1.29.0
|
|
14
|
-
Requires-Dist: mindtrace-core>=0.
|
|
14
|
+
Requires-Dist: mindtrace-core>=0.14.0
|
|
15
15
|
Requires-Dist: pydantic>=2.11.1
|
|
16
16
|
Requires-Dist: redis>=4.0.0
|
|
17
17
|
Requires-Dist: redis-om>=0.3.5
|
|
18
18
|
Requires-Dist: motor>=3.3.0
|
|
19
19
|
Requires-Dist: pymongo>=4.14.0
|
|
20
|
-
Requires-Dist: mindtrace-registry>=0.
|
|
20
|
+
Requires-Dist: mindtrace-registry>=0.14.0
|
|
21
21
|
Dynamic: license-file
|
|
22
22
|
|
|
23
23
|
[](https://pypi.org/project/mindtrace-database/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mindtrace-database"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.14.0"
|
|
4
4
|
description = "Database functionality for Mindtrace"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -13,13 +13,13 @@ classifiers = [
|
|
|
13
13
|
]
|
|
14
14
|
dependencies = [
|
|
15
15
|
"beanie>=1.29.0, <2",
|
|
16
|
-
"mindtrace-core>=0.
|
|
16
|
+
"mindtrace-core>=0.14.0",
|
|
17
17
|
"pydantic>=2.11.1",
|
|
18
18
|
"redis>=4.0.0",
|
|
19
19
|
"redis-om>=0.3.5",
|
|
20
20
|
"motor>=3.3.0",
|
|
21
21
|
"pymongo>=4.14.0",
|
|
22
|
-
"mindtrace-registry>=0.
|
|
22
|
+
"mindtrace-registry>=0.14.0",
|
|
23
23
|
]
|
|
24
24
|
|
|
25
25
|
[project.entry-points."mindtrace.benchmark_suites"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/mindtrace_odm.py
RENAMED
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/redis_odm.py
RENAMED
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/backends/registry_odm.py
RENAMED
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/core/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/_models.py
RENAMED
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace/database/testing/suites/_mongo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{mindtrace_database-0.13.0 → mindtrace_database-0.14.0}/mindtrace_database.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|