docs: collect mongo-ops lib (mkdocstrings) + wiki into separate site subpaths, fix mcp server name, expose port 8007

- mongo-ops now serves /mongo-ops/wiki/ and /mongo-ops/lib/ independently
- add mongo-ops MCP bundle under mcp/mongo-ops
- fix copy-paste mcp server (jwtlib -> mongo_ops) in config.yml
- .drone.yml/Dockerfile: publish port 8007 for mongo-ops MCP
This commit is contained in:
2026-09-14 22:33:34 +05:30
parent 1bfbbebfa3
commit 49a00351bb
158 changed files with 49187 additions and 2 deletions

View File

@@ -0,0 +1,190 @@
{
"module": "mongo_ops.cache.backend",
"content": {
"path": "mongo_ops.cache.backend",
"docstring": "Cache backend abstraction.",
"objects": {
"ABC": {
"name": "ABC",
"kind": "alias",
"path": "mongo_ops.cache.backend.ABC",
"signature": "<bound method Alias.signature of Alias('ABC', 'abc.ABC')>",
"docstring": null
},
"abstractmethod": {
"name": "abstractmethod",
"kind": "alias",
"path": "mongo_ops.cache.backend.abstractmethod",
"signature": "<bound method Alias.signature of Alias('abstractmethod', 'abc.abstractmethod')>",
"docstring": null
},
"dataclass": {
"name": "dataclass",
"kind": "alias",
"path": "mongo_ops.cache.backend.dataclass",
"signature": "<bound method Alias.signature of Alias('dataclass', 'dataclasses.dataclass')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.cache.backend.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"ObjectId": {
"name": "ObjectId",
"kind": "alias",
"path": "mongo_ops.cache.backend.ObjectId",
"signature": "<bound method Alias.signature of Alias('ObjectId', 'bson.ObjectId')>",
"docstring": null
},
"CacheStats": {
"name": "CacheStats",
"kind": "class",
"path": "mongo_ops.cache.backend.CacheStats",
"signature": "<bound method Class.signature of Class('CacheStats', 9, 16)>",
"docstring": null,
"members": {
"hits": {
"name": "hits",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CacheStats.hits",
"signature": null,
"docstring": null
},
"misses": {
"name": "misses",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CacheStats.misses",
"signature": null,
"docstring": null
},
"sets": {
"name": "sets",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CacheStats.sets",
"signature": null,
"docstring": null
},
"deletes": {
"name": "deletes",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CacheStats.deletes",
"signature": null,
"docstring": null
},
"current_size": {
"name": "current_size",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CacheStats.current_size",
"signature": null,
"docstring": null
},
"max_size": {
"name": "max_size",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CacheStats.max_size",
"signature": null,
"docstring": null
}
}
},
"CircularReferenceError": {
"name": "CircularReferenceError",
"kind": "class",
"path": "mongo_ops.cache.backend.CircularReferenceError",
"signature": "<bound method Class.signature of Class('CircularReferenceError', 19, 24)>",
"docstring": null,
"members": {
"collection": {
"name": "collection",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CircularReferenceError.collection",
"signature": null,
"docstring": null
},
"doc_id": {
"name": "doc_id",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CircularReferenceError.doc_id",
"signature": null,
"docstring": null
},
"path": {
"name": "path",
"kind": "attribute",
"path": "mongo_ops.cache.backend.CircularReferenceError.path",
"signature": null,
"docstring": null
}
}
},
"CacheBackend": {
"name": "CacheBackend",
"kind": "class",
"path": "mongo_ops.cache.backend.CacheBackend",
"signature": "<bound method Class.signature of Class('CacheBackend', 27, 58)>",
"docstring": null,
"members": {
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.get",
"signature": "<bound method Function.signature of Function('get', 28, 30)>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.set",
"signature": "<bound method Function.signature of Function('set', 32, 34)>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.delete",
"signature": "<bound method Function.signature of Function('delete', 36, 38)>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.exists",
"signature": "<bound method Function.signature of Function('exists', 40, 42)>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.clear_pattern",
"signature": "<bound method Function.signature of Function('clear_pattern', 44, 46)>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.get_stats",
"signature": "<bound method Function.signature of Function('get_stats', 48, 50)>",
"docstring": null
},
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.initialize",
"signature": "<bound method Function.signature of Function('initialize', 52, 54)>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.cache.backend.CacheBackend.shutdown",
"signature": "<bound method Function.signature of Function('shutdown', 56, 58)>",
"docstring": null
}
}
}
}
}
}

View File

@@ -0,0 +1,95 @@
{
"module": "mongo_ops.cache.config",
"content": {
"path": "mongo_ops.cache.config",
"docstring": "Cache configuration.",
"objects": {
"dataclass": {
"name": "dataclass",
"kind": "alias",
"path": "mongo_ops.cache.config.dataclass",
"signature": "<bound method Alias.signature of Alias('dataclass', 'dataclasses.dataclass')>",
"docstring": null
},
"Literal": {
"name": "Literal",
"kind": "alias",
"path": "mongo_ops.cache.config.Literal",
"signature": "<bound method Alias.signature of Alias('Literal', 'typing.Literal')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.cache.config.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"Redis": {
"name": "Redis",
"kind": "alias",
"path": "mongo_ops.cache.config.Redis",
"signature": "<bound method Alias.signature of Alias('Redis', 'redis.asyncio.Redis')>",
"docstring": null
},
"CacheConfig": {
"name": "CacheConfig",
"kind": "class",
"path": "mongo_ops.cache.config.CacheConfig",
"signature": "<bound method Class.signature of Class('CacheConfig', 11, 25)>",
"docstring": null,
"members": {
"enabled": {
"name": "enabled",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.enabled",
"signature": null,
"docstring": null
},
"backend": {
"name": "backend",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.backend",
"signature": null,
"docstring": null
},
"redis_client": {
"name": "redis_client",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.redis_client",
"signature": null,
"docstring": null
},
"default_ttl": {
"name": "default_ttl",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.default_ttl",
"signature": null,
"docstring": null
},
"max_entries": {
"name": "max_entries",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.max_entries",
"signature": null,
"docstring": null
},
"key_prefix": {
"name": "key_prefix",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.key_prefix",
"signature": null,
"docstring": null
},
"cleanup_interval": {
"name": "cleanup_interval",
"kind": "attribute",
"path": "mongo_ops.cache.config.CacheConfig.cleanup_interval",
"signature": null,
"docstring": null
}
}
}
}
}
}

View File

@@ -0,0 +1,260 @@
{
"module": "mongo_ops.cache.in_memory",
"content": {
"path": "mongo_ops.cache.in_memory",
"docstring": null,
"objects": {
"asyncio": {
"name": "asyncio",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.asyncio",
"signature": "<bound method Alias.signature of Alias('asyncio', 'asyncio')>",
"docstring": null
},
"heapq": {
"name": "heapq",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.heapq",
"signature": "<bound method Alias.signature of Alias('heapq', 'heapq')>",
"docstring": null
},
"json": {
"name": "json",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.json",
"signature": "<bound method Alias.signature of Alias('json', 'json')>",
"docstring": null
},
"OrderedDict": {
"name": "OrderedDict",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.OrderedDict",
"signature": "<bound method Alias.signature of Alias('OrderedDict', 'collections.OrderedDict')>",
"docstring": null
},
"datetime": {
"name": "datetime",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.datetime",
"signature": "<bound method Alias.signature of Alias('datetime', 'datetime.datetime')>",
"docstring": null
},
"timedelta": {
"name": "timedelta",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.timedelta",
"signature": "<bound method Alias.signature of Alias('timedelta', 'datetime.timedelta')>",
"docstring": null
},
"timezone": {
"name": "timezone",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.timezone",
"signature": "<bound method Alias.signature of Alias('timezone', 'datetime.timezone')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.cache.in_memory.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"CacheBackend": {
"name": "CacheBackend",
"kind": "class",
"path": "mongo_ops.cache.in_memory.CacheBackend",
"signature": "<bound method Alias.signature of Alias('CacheBackend', 'mongo_ops.cache.backend.CacheBackend')>",
"docstring": null,
"members": {
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.get",
"signature": "<bound method Alias.signature of Alias('get', 'mongo_ops.cache.backend.CacheBackend.get')>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.set",
"signature": "<bound method Alias.signature of Alias('set', 'mongo_ops.cache.backend.CacheBackend.set')>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.delete",
"signature": "<bound method Alias.signature of Alias('delete', 'mongo_ops.cache.backend.CacheBackend.delete')>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.exists",
"signature": "<bound method Alias.signature of Alias('exists', 'mongo_ops.cache.backend.CacheBackend.exists')>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.clear_pattern",
"signature": "<bound method Alias.signature of Alias('clear_pattern', 'mongo_ops.cache.backend.CacheBackend.clear_pattern')>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.get_stats",
"signature": "<bound method Alias.signature of Alias('get_stats', 'mongo_ops.cache.backend.CacheBackend.get_stats')>",
"docstring": null
},
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.initialize",
"signature": "<bound method Alias.signature of Alias('initialize', 'mongo_ops.cache.backend.CacheBackend.initialize')>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.cache.in_memory.CacheBackend.shutdown",
"signature": "<bound method Alias.signature of Alias('shutdown', 'mongo_ops.cache.backend.CacheBackend.shutdown')>",
"docstring": null
}
}
},
"CacheStats": {
"name": "CacheStats",
"kind": "class",
"path": "mongo_ops.cache.in_memory.CacheStats",
"signature": "<bound method Alias.signature of Alias('CacheStats', 'mongo_ops.cache.backend.CacheStats')>",
"docstring": null,
"members": {
"hits": {
"name": "hits",
"kind": "attribute",
"path": "mongo_ops.cache.in_memory.CacheStats.hits",
"signature": "<bound method Alias.signature of Alias('hits', 'mongo_ops.cache.backend.CacheStats.hits')>",
"docstring": null
},
"misses": {
"name": "misses",
"kind": "attribute",
"path": "mongo_ops.cache.in_memory.CacheStats.misses",
"signature": "<bound method Alias.signature of Alias('misses', 'mongo_ops.cache.backend.CacheStats.misses')>",
"docstring": null
},
"sets": {
"name": "sets",
"kind": "attribute",
"path": "mongo_ops.cache.in_memory.CacheStats.sets",
"signature": "<bound method Alias.signature of Alias('sets', 'mongo_ops.cache.backend.CacheStats.sets')>",
"docstring": null
},
"deletes": {
"name": "deletes",
"kind": "attribute",
"path": "mongo_ops.cache.in_memory.CacheStats.deletes",
"signature": "<bound method Alias.signature of Alias('deletes', 'mongo_ops.cache.backend.CacheStats.deletes')>",
"docstring": null
},
"current_size": {
"name": "current_size",
"kind": "attribute",
"path": "mongo_ops.cache.in_memory.CacheStats.current_size",
"signature": "<bound method Alias.signature of Alias('current_size', 'mongo_ops.cache.backend.CacheStats.current_size')>",
"docstring": null
},
"max_size": {
"name": "max_size",
"kind": "attribute",
"path": "mongo_ops.cache.in_memory.CacheStats.max_size",
"signature": "<bound method Alias.signature of Alias('max_size', 'mongo_ops.cache.backend.CacheStats.max_size')>",
"docstring": null
}
}
},
"InMemoryCacheBackend": {
"name": "InMemoryCacheBackend",
"kind": "class",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend",
"signature": "<bound method Class.signature of Class('InMemoryCacheBackend', 22, 121)>",
"docstring": null,
"members": {
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.initialize",
"signature": "<bound method Function.signature of Function('initialize', 38, 39)>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.shutdown",
"signature": "<bound method Function.signature of Function('shutdown', 41, 48)>",
"docstring": null
},
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.get",
"signature": "<bound method Function.signature of Function('get', 50, 57)>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.set",
"signature": "<bound method Function.signature of Function('set', 59, 68)>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.delete",
"signature": "<bound method Function.signature of Function('delete', 70, 75)>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.exists",
"signature": "<bound method Function.signature of Function('exists', 77, 79)>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.clear_pattern",
"signature": "<bound method Function.signature of Function('clear_pattern', 81, 86)>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.cache.in_memory.InMemoryCacheBackend.get_stats",
"signature": "<bound method Function.signature of Function('get_stats', 88, 97)>",
"docstring": null
}
}
},
"encode_value": {
"name": "encode_value",
"kind": "function",
"path": "mongo_ops.cache.in_memory.encode_value",
"signature": "<bound method Function.signature of Function('encode_value', 127, 128)>",
"docstring": null
},
"decode_value": {
"name": "decode_value",
"kind": "function",
"path": "mongo_ops.cache.in_memory.decode_value",
"signature": "<bound method Function.signature of Function('decode_value', 131, 132)>",
"docstring": null
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,232 @@
{
"module": "mongo_ops.cache.redis_backend",
"content": {
"path": "mongo_ops.cache.redis_backend",
"docstring": null,
"objects": {
"json": {
"name": "json",
"kind": "alias",
"path": "mongo_ops.cache.redis_backend.json",
"signature": "<bound method Alias.signature of Alias('json', 'json')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.cache.redis_backend.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"CacheBackend": {
"name": "CacheBackend",
"kind": "class",
"path": "mongo_ops.cache.redis_backend.CacheBackend",
"signature": "<bound method Alias.signature of Alias('CacheBackend', 'mongo_ops.cache.backend.CacheBackend')>",
"docstring": null,
"members": {
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.get",
"signature": "<bound method Alias.signature of Alias('get', 'mongo_ops.cache.backend.CacheBackend.get')>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.set",
"signature": "<bound method Alias.signature of Alias('set', 'mongo_ops.cache.backend.CacheBackend.set')>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.delete",
"signature": "<bound method Alias.signature of Alias('delete', 'mongo_ops.cache.backend.CacheBackend.delete')>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.exists",
"signature": "<bound method Alias.signature of Alias('exists', 'mongo_ops.cache.backend.CacheBackend.exists')>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.clear_pattern",
"signature": "<bound method Alias.signature of Alias('clear_pattern', 'mongo_ops.cache.backend.CacheBackend.clear_pattern')>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.get_stats",
"signature": "<bound method Alias.signature of Alias('get_stats', 'mongo_ops.cache.backend.CacheBackend.get_stats')>",
"docstring": null
},
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.initialize",
"signature": "<bound method Alias.signature of Alias('initialize', 'mongo_ops.cache.backend.CacheBackend.initialize')>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.CacheBackend.shutdown",
"signature": "<bound method Alias.signature of Alias('shutdown', 'mongo_ops.cache.backend.CacheBackend.shutdown')>",
"docstring": null
}
}
},
"CacheStats": {
"name": "CacheStats",
"kind": "class",
"path": "mongo_ops.cache.redis_backend.CacheStats",
"signature": "<bound method Alias.signature of Alias('CacheStats', 'mongo_ops.cache.backend.CacheStats')>",
"docstring": null,
"members": {
"hits": {
"name": "hits",
"kind": "attribute",
"path": "mongo_ops.cache.redis_backend.CacheStats.hits",
"signature": "<bound method Alias.signature of Alias('hits', 'mongo_ops.cache.backend.CacheStats.hits')>",
"docstring": null
},
"misses": {
"name": "misses",
"kind": "attribute",
"path": "mongo_ops.cache.redis_backend.CacheStats.misses",
"signature": "<bound method Alias.signature of Alias('misses', 'mongo_ops.cache.backend.CacheStats.misses')>",
"docstring": null
},
"sets": {
"name": "sets",
"kind": "attribute",
"path": "mongo_ops.cache.redis_backend.CacheStats.sets",
"signature": "<bound method Alias.signature of Alias('sets', 'mongo_ops.cache.backend.CacheStats.sets')>",
"docstring": null
},
"deletes": {
"name": "deletes",
"kind": "attribute",
"path": "mongo_ops.cache.redis_backend.CacheStats.deletes",
"signature": "<bound method Alias.signature of Alias('deletes', 'mongo_ops.cache.backend.CacheStats.deletes')>",
"docstring": null
},
"current_size": {
"name": "current_size",
"kind": "attribute",
"path": "mongo_ops.cache.redis_backend.CacheStats.current_size",
"signature": "<bound method Alias.signature of Alias('current_size', 'mongo_ops.cache.backend.CacheStats.current_size')>",
"docstring": null
},
"max_size": {
"name": "max_size",
"kind": "attribute",
"path": "mongo_ops.cache.redis_backend.CacheStats.max_size",
"signature": "<bound method Alias.signature of Alias('max_size', 'mongo_ops.cache.backend.CacheStats.max_size')>",
"docstring": null
}
}
},
"Redis": {
"name": "Redis",
"kind": "alias",
"path": "mongo_ops.cache.redis_backend.Redis",
"signature": "<bound method Alias.signature of Alias('Redis', 'redis.asyncio.Redis')>",
"docstring": null
},
"RedisCacheBackend": {
"name": "RedisCacheBackend",
"kind": "class",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend",
"signature": "<bound method Class.signature of Class('RedisCacheBackend', 12, 93)>",
"docstring": null,
"members": {
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.initialize",
"signature": "<bound method Function.signature of Function('initialize', 28, 29)>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.shutdown",
"signature": "<bound method Function.signature of Function('shutdown', 31, 34)>",
"docstring": null
},
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.get",
"signature": "<bound method Function.signature of Function('get', 39, 46)>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.set",
"signature": "<bound method Function.signature of Function('set', 48, 52)>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.delete",
"signature": "<bound method Function.signature of Function('delete', 54, 59)>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.exists",
"signature": "<bound method Function.signature of Function('exists', 61, 63)>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.clear_pattern",
"signature": "<bound method Function.signature of Function('clear_pattern', 65, 79)>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.get_stats",
"signature": "<bound method Function.signature of Function('get_stats', 81, 90)>",
"docstring": null
},
"publish_invalidate": {
"name": "publish_invalidate",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.RedisCacheBackend.publish_invalidate",
"signature": "<bound method Function.signature of Function('publish_invalidate', 92, 93)>",
"docstring": null
}
}
},
"encode_value": {
"name": "encode_value",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.encode_value",
"signature": "<bound method Function.signature of Function('encode_value', 99, 100)>",
"docstring": null
},
"decode_value": {
"name": "decode_value",
"kind": "function",
"path": "mongo_ops.cache.redis_backend.decode_value",
"signature": "<bound method Function.signature of Function('decode_value', 103, 104)>",
"docstring": null
}
}
}
}

View File

@@ -0,0 +1,329 @@
{
"module": "mongo_ops.cache.repository",
"content": {
"path": "mongo_ops.cache.repository",
"docstring": null,
"objects": {
"Generic": {
"name": "Generic",
"kind": "alias",
"path": "mongo_ops.cache.repository.Generic",
"signature": "<bound method Alias.signature of Alias('Generic', 'typing.Generic')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.cache.repository.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.cache.repository.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"TypeVar": {
"name": "TypeVar",
"kind": "alias",
"path": "mongo_ops.cache.repository.TypeVar",
"signature": "<bound method Alias.signature of Alias('TypeVar', 'typing.TypeVar')>",
"docstring": null
},
"Union": {
"name": "Union",
"kind": "alias",
"path": "mongo_ops.cache.repository.Union",
"signature": "<bound method Alias.signature of Alias('Union', 'typing.Union')>",
"docstring": null
},
"ObjectId": {
"name": "ObjectId",
"kind": "alias",
"path": "mongo_ops.cache.repository.ObjectId",
"signature": "<bound method Alias.signature of Alias('ObjectId', 'bson.ObjectId')>",
"docstring": null
},
"BaseDocument": {
"name": "BaseDocument",
"kind": "class",
"path": "mongo_ops.cache.repository.BaseDocument",
"signature": "<bound method Alias.signature of Alias('BaseDocument', 'mongo_ops.models.BaseDocument')>",
"docstring": "Base document class with common MongoDB fields.\n\nInherit from this class to create Pydantic models that represent \nMongoDB documents. It includes automatic handling of the `_id` field \nand timestamps.\n\nAttributes:\n id: The MongoDB document ID (aliased to `_id`).\n created_at: Timestamp when the document was created.\n updated_at: Timestamp when the document was last updated.",
"members": {
"id": {
"name": "id",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.id",
"signature": "<bound method Alias.signature of Alias('id', 'mongo_ops.models.BaseDocument.id')>",
"docstring": null
},
"created_at": {
"name": "created_at",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.created_at",
"signature": "<bound method Alias.signature of Alias('created_at', 'mongo_ops.models.BaseDocument.created_at')>",
"docstring": null
},
"updated_at": {
"name": "updated_at",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.updated_at",
"signature": "<bound method Alias.signature of Alias('updated_at', 'mongo_ops.models.BaseDocument.updated_at')>",
"docstring": null
},
"Config": {
"name": "Config",
"kind": "class",
"path": "mongo_ops.cache.repository.BaseDocument.Config",
"signature": "<bound method Alias.signature of Alias('Config', 'mongo_ops.models.BaseDocument.Config')>",
"docstring": null,
"members": {
"populate_by_name": {
"name": "populate_by_name",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.Config.populate_by_name",
"signature": "<bound method Alias.signature of Alias('populate_by_name', 'mongo_ops.models.BaseDocument.Config.populate_by_name')>",
"docstring": null
},
"arbitrary_types_allowed": {
"name": "arbitrary_types_allowed",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.Config.arbitrary_types_allowed",
"signature": "<bound method Alias.signature of Alias('arbitrary_types_allowed', 'mongo_ops.models.BaseDocument.Config.arbitrary_types_allowed')>",
"docstring": null
},
"json_encoders": {
"name": "json_encoders",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.Config.json_encoders",
"signature": "<bound method Alias.signature of Alias('json_encoders', 'mongo_ops.models.BaseDocument.Config.json_encoders')>",
"docstring": null
},
"json_schema_extra": {
"name": "json_schema_extra",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseDocument.Config.json_schema_extra",
"signature": "<bound method Alias.signature of Alias('json_schema_extra', 'mongo_ops.models.BaseDocument.Config.json_schema_extra')>",
"docstring": null
}
}
}
}
},
"BaseRepository": {
"name": "BaseRepository",
"kind": "class",
"path": "mongo_ops.cache.repository.BaseRepository",
"signature": "<bound method Alias.signature of Alias('BaseRepository', 'mongo_ops.repository.BaseRepository')>",
"docstring": "Base repository class combining CRUD operations and collection management.\n\nThis class simplifies repository creation by automatically obtaining the \ndatabase connection and collection instance.\n\nAttributes:\n collection_name: The name of the collection managed by this repository.",
"members": {
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.cache.repository.BaseRepository.collection_name",
"signature": "<bound method Alias.signature of Alias('collection_name', 'mongo_ops.repository.BaseRepository.collection_name')>",
"docstring": null
}
}
},
"CacheBackend": {
"name": "CacheBackend",
"kind": "class",
"path": "mongo_ops.cache.repository.CacheBackend",
"signature": "<bound method Alias.signature of Alias('CacheBackend', 'mongo_ops.cache.backend.CacheBackend')>",
"docstring": null,
"members": {
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.get",
"signature": "<bound method Alias.signature of Alias('get', 'mongo_ops.cache.backend.CacheBackend.get')>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.set",
"signature": "<bound method Alias.signature of Alias('set', 'mongo_ops.cache.backend.CacheBackend.set')>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.delete",
"signature": "<bound method Alias.signature of Alias('delete', 'mongo_ops.cache.backend.CacheBackend.delete')>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.exists",
"signature": "<bound method Alias.signature of Alias('exists', 'mongo_ops.cache.backend.CacheBackend.exists')>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.clear_pattern",
"signature": "<bound method Alias.signature of Alias('clear_pattern', 'mongo_ops.cache.backend.CacheBackend.clear_pattern')>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.get_stats",
"signature": "<bound method Alias.signature of Alias('get_stats', 'mongo_ops.cache.backend.CacheBackend.get_stats')>",
"docstring": null
},
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.initialize",
"signature": "<bound method Alias.signature of Alias('initialize', 'mongo_ops.cache.backend.CacheBackend.initialize')>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.cache.repository.CacheBackend.shutdown",
"signature": "<bound method Alias.signature of Alias('shutdown', 'mongo_ops.cache.backend.CacheBackend.shutdown')>",
"docstring": null
}
}
},
"CacheConfig": {
"name": "CacheConfig",
"kind": "class",
"path": "mongo_ops.cache.repository.CacheConfig",
"signature": "<bound method Alias.signature of Alias('CacheConfig', 'mongo_ops.cache.config.CacheConfig')>",
"docstring": null,
"members": {
"enabled": {
"name": "enabled",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.enabled",
"signature": "<bound method Alias.signature of Alias('enabled', 'mongo_ops.cache.config.CacheConfig.enabled')>",
"docstring": null
},
"backend": {
"name": "backend",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.backend",
"signature": "<bound method Alias.signature of Alias('backend', 'mongo_ops.cache.config.CacheConfig.backend')>",
"docstring": null
},
"redis_client": {
"name": "redis_client",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.redis_client",
"signature": "<bound method Alias.signature of Alias('redis_client', 'mongo_ops.cache.config.CacheConfig.redis_client')>",
"docstring": null
},
"default_ttl": {
"name": "default_ttl",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.default_ttl",
"signature": "<bound method Alias.signature of Alias('default_ttl', 'mongo_ops.cache.config.CacheConfig.default_ttl')>",
"docstring": null
},
"max_entries": {
"name": "max_entries",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.max_entries",
"signature": "<bound method Alias.signature of Alias('max_entries', 'mongo_ops.cache.config.CacheConfig.max_entries')>",
"docstring": null
},
"key_prefix": {
"name": "key_prefix",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.key_prefix",
"signature": "<bound method Alias.signature of Alias('key_prefix', 'mongo_ops.cache.config.CacheConfig.key_prefix')>",
"docstring": null
},
"cleanup_interval": {
"name": "cleanup_interval",
"kind": "attribute",
"path": "mongo_ops.cache.repository.CacheConfig.cleanup_interval",
"signature": "<bound method Alias.signature of Alias('cleanup_interval', 'mongo_ops.cache.config.CacheConfig.cleanup_interval')>",
"docstring": null
}
}
},
"decode_value": {
"name": "decode_value",
"kind": "function",
"path": "mongo_ops.cache.repository.decode_value",
"signature": "<bound method Alias.signature of Alias('decode_value', 'mongo_ops.cache.in_memory.decode_value')>",
"docstring": null
},
"encode_value": {
"name": "encode_value",
"kind": "function",
"path": "mongo_ops.cache.repository.encode_value",
"signature": "<bound method Alias.signature of Alias('encode_value', 'mongo_ops.cache.in_memory.encode_value')>",
"docstring": null
},
"T": {
"name": "T",
"kind": "attribute",
"path": "mongo_ops.cache.repository.T",
"signature": null,
"docstring": null
},
"CachedBaseRepository": {
"name": "CachedBaseRepository",
"kind": "class",
"path": "mongo_ops.cache.repository.CachedBaseRepository",
"signature": "<bound method Class.signature of Class('CachedBaseRepository', 14, 92)>",
"docstring": null,
"members": {
"get_by_id": {
"name": "get_by_id",
"kind": "function",
"path": "mongo_ops.cache.repository.CachedBaseRepository.get_by_id",
"signature": "<bound method Function.signature of Function('get_by_id', 33, 48)>",
"docstring": null
},
"create": {
"name": "create",
"kind": "function",
"path": "mongo_ops.cache.repository.CachedBaseRepository.create",
"signature": "<bound method Function.signature of Function('create', 50, 56)>",
"docstring": null
},
"update": {
"name": "update",
"kind": "function",
"path": "mongo_ops.cache.repository.CachedBaseRepository.update",
"signature": "<bound method Function.signature of Function('update', 58, 67)>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.cache.repository.CachedBaseRepository.delete",
"signature": "<bound method Function.signature of Function('delete', 69, 74)>",
"docstring": null
},
"warm_cache": {
"name": "warm_cache",
"kind": "function",
"path": "mongo_ops.cache.repository.CachedBaseRepository.warm_cache",
"signature": "<bound method Function.signature of Function('warm_cache', 76, 87)>",
"docstring": null
},
"invalidate_cache": {
"name": "invalidate_cache",
"kind": "function",
"path": "mongo_ops.cache.repository.CachedBaseRepository.invalidate_cache",
"signature": "<bound method Function.signature of Function('invalidate_cache', 89, 92)>",
"docstring": null
}
}
}
}
}
}

View File

@@ -0,0 +1,81 @@
{
"module": "mongo_ops.connection",
"content": {
"path": "mongo_ops.connection",
"docstring": "MongoDB connection management.",
"objects": {
"asynccontextmanager": {
"name": "asynccontextmanager",
"kind": "alias",
"path": "mongo_ops.connection.asynccontextmanager",
"signature": "<bound method Alias.signature of Alias('asynccontextmanager', 'contextlib.asynccontextmanager')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.connection.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"AsyncIOMotorClient": {
"name": "AsyncIOMotorClient",
"kind": "alias",
"path": "mongo_ops.connection.AsyncIOMotorClient",
"signature": "<bound method Alias.signature of Alias('AsyncIOMotorClient', 'motor.motor_asyncio.AsyncIOMotorClient')>",
"docstring": null
},
"AsyncIOMotorDatabase": {
"name": "AsyncIOMotorDatabase",
"kind": "alias",
"path": "mongo_ops.connection.AsyncIOMotorDatabase",
"signature": "<bound method Alias.signature of Alias('AsyncIOMotorDatabase', 'motor.motor_asyncio.AsyncIOMotorDatabase')>",
"docstring": null
},
"MongoConnectionManager": {
"name": "MongoConnectionManager",
"kind": "class",
"path": "mongo_ops.connection.MongoConnectionManager",
"signature": "<bound method Class.signature of Class('MongoConnectionManager', 8, 114)>",
"docstring": "Manages MongoDB connections with async lifecycle.\n\nThis class provides a singleton-like manager for the MongoDB client and \ndatabase instances, ensuring they are properly initialized and closed \nacross the application lifecycle.",
"members": {
"connect": {
"name": "connect",
"kind": "function",
"path": "mongo_ops.connection.MongoConnectionManager.connect",
"signature": "<bound method Function.signature of Function('connect', 22, 45)>",
"docstring": "Connect to MongoDB and initialize the shared client.\n\nArgs:\n uri: MongoDB connection URI (e.g., \"mongodb://localhost:27017\").\n db_name: Name of the database to use.\n **kwargs: Additional Motor client options (e.g., maxPoolSize).\n\nReturns:\n AsyncIOMotorDatabase: The initialized database instance."
},
"disconnect": {
"name": "disconnect",
"kind": "function",
"path": "mongo_ops.connection.MongoConnectionManager.disconnect",
"signature": "<bound method Function.signature of Function('disconnect', 47, 55)>",
"docstring": "Close the active MongoDB connection and cleanup resources."
},
"get_database": {
"name": "get_database",
"kind": "function",
"path": "mongo_ops.connection.MongoConnectionManager.get_database",
"signature": "<bound method Function.signature of Function('get_database', 57, 70)>",
"docstring": "Retrieve the current database instance.\n\nReturns:\n AsyncIOMotorDatabase: The active database instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"get_client": {
"name": "get_client",
"kind": "function",
"path": "mongo_ops.connection.MongoConnectionManager.get_client",
"signature": "<bound method Function.signature of Function('get_client', 72, 85)>",
"docstring": "Retrieve the current client instance.\n\nReturns:\n AsyncIOMotorClient: The active Motor client instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"lifespan": {
"name": "lifespan",
"kind": "function",
"path": "mongo_ops.connection.MongoConnectionManager.lifespan",
"signature": "<bound method Function.signature of Function('lifespan', 87, 114)>",
"docstring": "Async context manager for managing connection lifecycle.\n\nDesigned for use with FastAPI or other frameworks supporting \nlifespan management.\n\nArgs:\n uri: MongoDB connection URI.\n db_name: Name of the database.\n **kwargs: Additional Motor client options.\n\nYields:\n AsyncIOMotorDatabase: The active database instance.\n\nUsage:\n @asynccontextmanager\n async def lifespan(app: FastAPI):\n async with MongoConnectionManager.lifespan(uri, db_name):\n yield"
}
}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,148 @@
{
"module": "mongo_ops.models",
"content": {
"path": "mongo_ops.models",
"docstring": "Base document models for MongoDB.",
"objects": {
"datetime": {
"name": "datetime",
"kind": "alias",
"path": "mongo_ops.models.datetime",
"signature": "<bound method Alias.signature of Alias('datetime', 'datetime.datetime')>",
"docstring": null
},
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.models.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.models.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"ObjectId": {
"name": "ObjectId",
"kind": "alias",
"path": "mongo_ops.models.ObjectId",
"signature": "<bound method Alias.signature of Alias('ObjectId', 'bson.ObjectId')>",
"docstring": null
},
"BaseModel": {
"name": "BaseModel",
"kind": "alias",
"path": "mongo_ops.models.BaseModel",
"signature": "<bound method Alias.signature of Alias('BaseModel', 'pydantic.BaseModel')>",
"docstring": null
},
"Field": {
"name": "Field",
"kind": "alias",
"path": "mongo_ops.models.Field",
"signature": "<bound method Alias.signature of Alias('Field', 'pydantic.Field')>",
"docstring": null
},
"GetCoreSchemaHandler": {
"name": "GetCoreSchemaHandler",
"kind": "alias",
"path": "mongo_ops.models.GetCoreSchemaHandler",
"signature": "<bound method Alias.signature of Alias('GetCoreSchemaHandler', 'pydantic.GetCoreSchemaHandler')>",
"docstring": null
},
"core_schema": {
"name": "core_schema",
"kind": "alias",
"path": "mongo_ops.models.core_schema",
"signature": "<bound method Alias.signature of Alias('core_schema', 'pydantic_core.core_schema')>",
"docstring": null
},
"PyObjectId": {
"name": "PyObjectId",
"kind": "class",
"path": "mongo_ops.models.PyObjectId",
"signature": "<bound method Class.signature of Class('PyObjectId', 10, 65)>",
"docstring": "Custom ObjectId type compatible with Pydantic v2.\n\nThis class extends the standard BSON ObjectId to provide validation and \nserialization support within Pydantic models.",
"members": {
"validate": {
"name": "validate",
"kind": "function",
"path": "mongo_ops.models.PyObjectId.validate",
"signature": "<bound method Function.signature of Function('validate', 35, 53)>",
"docstring": "Validate the input value and convert it to an ObjectId if possible.\n\nArgs:\n v: The value to validate (can be str or ObjectId).\n\nReturns:\n ObjectId: The validated ObjectId instance.\n\nRaises:\n ValueError: If the value is not a valid ObjectId."
}
}
},
"BaseDocument": {
"name": "BaseDocument",
"kind": "class",
"path": "mongo_ops.models.BaseDocument",
"signature": "<bound method Class.signature of Class('BaseDocument', 68, 95)>",
"docstring": "Base document class with common MongoDB fields.\n\nInherit from this class to create Pydantic models that represent \nMongoDB documents. It includes automatic handling of the `_id` field \nand timestamps.\n\nAttributes:\n id: The MongoDB document ID (aliased to `_id`).\n created_at: Timestamp when the document was created.\n updated_at: Timestamp when the document was last updated.",
"members": {
"id": {
"name": "id",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.id",
"signature": null,
"docstring": null
},
"created_at": {
"name": "created_at",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.created_at",
"signature": null,
"docstring": null
},
"updated_at": {
"name": "updated_at",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.updated_at",
"signature": null,
"docstring": null
},
"Config": {
"name": "Config",
"kind": "class",
"path": "mongo_ops.models.BaseDocument.Config",
"signature": "<bound method Class.signature of Class('Config', 86, 95)>",
"docstring": null,
"members": {
"populate_by_name": {
"name": "populate_by_name",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.Config.populate_by_name",
"signature": null,
"docstring": null
},
"arbitrary_types_allowed": {
"name": "arbitrary_types_allowed",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.Config.arbitrary_types_allowed",
"signature": null,
"docstring": null
},
"json_encoders": {
"name": "json_encoders",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.Config.json_encoders",
"signature": null,
"docstring": null
},
"json_schema_extra": {
"name": "json_schema_extra",
"kind": "attribute",
"path": "mongo_ops.models.BaseDocument.Config.json_schema_extra",
"signature": null,
"docstring": null
}
}
}
}
}
}
}
}

View File

@@ -0,0 +1,250 @@
{
"module": "mongo_ops.populate.engine",
"content": {
"path": "mongo_ops.populate.engine",
"docstring": null,
"objects": {
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.populate.engine.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Dict": {
"name": "Dict",
"kind": "alias",
"path": "mongo_ops.populate.engine.Dict",
"signature": "<bound method Alias.signature of Alias('Dict', 'typing.Dict')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.populate.engine.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.populate.engine.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"Set": {
"name": "Set",
"kind": "alias",
"path": "mongo_ops.populate.engine.Set",
"signature": "<bound method Alias.signature of Alias('Set', 'typing.Set')>",
"docstring": null
},
"Tuple": {
"name": "Tuple",
"kind": "alias",
"path": "mongo_ops.populate.engine.Tuple",
"signature": "<bound method Alias.signature of Alias('Tuple', 'typing.Tuple')>",
"docstring": null
},
"TypeVar": {
"name": "TypeVar",
"kind": "alias",
"path": "mongo_ops.populate.engine.TypeVar",
"signature": "<bound method Alias.signature of Alias('TypeVar', 'typing.TypeVar')>",
"docstring": null
},
"ObjectId": {
"name": "ObjectId",
"kind": "alias",
"path": "mongo_ops.populate.engine.ObjectId",
"signature": "<bound method Alias.signature of Alias('ObjectId', 'bson.ObjectId')>",
"docstring": null
},
"CircularReferenceError": {
"name": "CircularReferenceError",
"kind": "class",
"path": "mongo_ops.populate.engine.CircularReferenceError",
"signature": "<bound method Alias.signature of Alias('CircularReferenceError', 'mongo_ops.cache.backend.CircularReferenceError')>",
"docstring": null,
"members": {
"collection": {
"name": "collection",
"kind": "attribute",
"path": "mongo_ops.populate.engine.CircularReferenceError.collection",
"signature": "<bound method Alias.signature of Alias('collection', 'mongo_ops.cache.backend.CircularReferenceError.collection')>",
"docstring": null
},
"doc_id": {
"name": "doc_id",
"kind": "attribute",
"path": "mongo_ops.populate.engine.CircularReferenceError.doc_id",
"signature": "<bound method Alias.signature of Alias('doc_id', 'mongo_ops.cache.backend.CircularReferenceError.doc_id')>",
"docstring": null
},
"path": {
"name": "path",
"kind": "attribute",
"path": "mongo_ops.populate.engine.CircularReferenceError.path",
"signature": "<bound method Alias.signature of Alias('path', 'mongo_ops.cache.backend.CircularReferenceError.path')>",
"docstring": null
}
}
},
"BaseDocument": {
"name": "BaseDocument",
"kind": "class",
"path": "mongo_ops.populate.engine.BaseDocument",
"signature": "<bound method Alias.signature of Alias('BaseDocument', 'mongo_ops.models.BaseDocument')>",
"docstring": "Base document class with common MongoDB fields.\n\nInherit from this class to create Pydantic models that represent \nMongoDB documents. It includes automatic handling of the `_id` field \nand timestamps.\n\nAttributes:\n id: The MongoDB document ID (aliased to `_id`).\n created_at: Timestamp when the document was created.\n updated_at: Timestamp when the document was last updated.",
"members": {
"id": {
"name": "id",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.id",
"signature": "<bound method Alias.signature of Alias('id', 'mongo_ops.models.BaseDocument.id')>",
"docstring": null
},
"created_at": {
"name": "created_at",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.created_at",
"signature": "<bound method Alias.signature of Alias('created_at', 'mongo_ops.models.BaseDocument.created_at')>",
"docstring": null
},
"updated_at": {
"name": "updated_at",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.updated_at",
"signature": "<bound method Alias.signature of Alias('updated_at', 'mongo_ops.models.BaseDocument.updated_at')>",
"docstring": null
},
"Config": {
"name": "Config",
"kind": "class",
"path": "mongo_ops.populate.engine.BaseDocument.Config",
"signature": "<bound method Alias.signature of Alias('Config', 'mongo_ops.models.BaseDocument.Config')>",
"docstring": null,
"members": {
"populate_by_name": {
"name": "populate_by_name",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.populate_by_name",
"signature": "<bound method Alias.signature of Alias('populate_by_name', 'mongo_ops.models.BaseDocument.Config.populate_by_name')>",
"docstring": null
},
"arbitrary_types_allowed": {
"name": "arbitrary_types_allowed",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.arbitrary_types_allowed",
"signature": "<bound method Alias.signature of Alias('arbitrary_types_allowed', 'mongo_ops.models.BaseDocument.Config.arbitrary_types_allowed')>",
"docstring": null
},
"json_encoders": {
"name": "json_encoders",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.json_encoders",
"signature": "<bound method Alias.signature of Alias('json_encoders', 'mongo_ops.models.BaseDocument.Config.json_encoders')>",
"docstring": null
},
"json_schema_extra": {
"name": "json_schema_extra",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.json_schema_extra",
"signature": "<bound method Alias.signature of Alias('json_schema_extra', 'mongo_ops.models.BaseDocument.Config.json_schema_extra')>",
"docstring": null
}
}
}
}
},
"PopulateRule": {
"name": "PopulateRule",
"kind": "class",
"path": "mongo_ops.populate.engine.PopulateRule",
"signature": "<bound method Alias.signature of Alias('PopulateRule', 'mongo_ops.populate.rules.PopulateRule')>",
"docstring": null,
"members": {
"field_name": {
"name": "field_name",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.field_name",
"signature": "<bound method Alias.signature of Alias('field_name', 'mongo_ops.populate.rules.PopulateRule.field_name')>",
"docstring": null
},
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.collection_name",
"signature": "<bound method Alias.signature of Alias('collection_name', 'mongo_ops.populate.rules.PopulateRule.collection_name')>",
"docstring": null
},
"nested_rules": {
"name": "nested_rules",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.nested_rules",
"signature": "<bound method Alias.signature of Alias('nested_rules', 'mongo_ops.populate.rules.PopulateRule.nested_rules')>",
"docstring": null
},
"max_depth": {
"name": "max_depth",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.max_depth",
"signature": "<bound method Alias.signature of Alias('max_depth', 'mongo_ops.populate.rules.PopulateRule.max_depth')>",
"docstring": null
},
"filter": {
"name": "filter",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.filter",
"signature": "<bound method Alias.signature of Alias('filter', 'mongo_ops.populate.rules.PopulateRule.filter')>",
"docstring": null
},
"projection": {
"name": "projection",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.projection",
"signature": "<bound method Alias.signature of Alias('projection', 'mongo_ops.populate.rules.PopulateRule.projection')>",
"docstring": null
}
}
},
"T": {
"name": "T",
"kind": "attribute",
"path": "mongo_ops.populate.engine.T",
"signature": null,
"docstring": null
},
"PopulationEngine": {
"name": "PopulationEngine",
"kind": "class",
"path": "mongo_ops.populate.engine.PopulationEngine",
"signature": "<bound method Class.signature of Class('PopulationEngine', 12, 165)>",
"docstring": null,
"members": {
"register_repo": {
"name": "register_repo",
"kind": "function",
"path": "mongo_ops.populate.engine.PopulationEngine.register_repo",
"signature": "<bound method Function.signature of Function('register_repo', 21, 22)>",
"docstring": null
},
"populate": {
"name": "populate",
"kind": "function",
"path": "mongo_ops.populate.engine.PopulationEngine.populate",
"signature": "<bound method Function.signature of Function('populate', 24, 77)>",
"docstring": null
},
"depopulate": {
"name": "depopulate",
"kind": "function",
"path": "mongo_ops.populate.engine.PopulationEngine.depopulate",
"signature": "<bound method Function.signature of Function('depopulate', 136, 165)>",
"docstring": null
}
}
}
}
}
}

View File

@@ -0,0 +1,435 @@
{
"module": "mongo_ops.populate",
"content": {
"path": "mongo_ops.populate",
"docstring": null,
"objects": {
"PopulationEngine": {
"name": "PopulationEngine",
"kind": "class",
"path": "mongo_ops.populate.PopulationEngine",
"signature": "<bound method Alias.signature of Alias('PopulationEngine', 'mongo_ops.populate.engine.PopulationEngine')>",
"docstring": null,
"members": {
"register_repo": {
"name": "register_repo",
"kind": "function",
"path": "mongo_ops.populate.PopulationEngine.register_repo",
"signature": "<bound method Alias.signature of Alias('register_repo', 'mongo_ops.populate.engine.PopulationEngine.register_repo')>",
"docstring": null
},
"populate": {
"name": "populate",
"kind": "function",
"path": "mongo_ops.populate.PopulationEngine.populate",
"signature": "<bound method Alias.signature of Alias('populate', 'mongo_ops.populate.engine.PopulationEngine.populate')>",
"docstring": null
},
"depopulate": {
"name": "depopulate",
"kind": "function",
"path": "mongo_ops.populate.PopulationEngine.depopulate",
"signature": "<bound method Alias.signature of Alias('depopulate', 'mongo_ops.populate.engine.PopulationEngine.depopulate')>",
"docstring": null
}
}
},
"PopulateRule": {
"name": "PopulateRule",
"kind": "class",
"path": "mongo_ops.populate.PopulateRule",
"signature": "<bound method Alias.signature of Alias('PopulateRule', 'mongo_ops.populate.rules.PopulateRule')>",
"docstring": null,
"members": {
"field_name": {
"name": "field_name",
"kind": "attribute",
"path": "mongo_ops.populate.PopulateRule.field_name",
"signature": "<bound method Alias.signature of Alias('field_name', 'mongo_ops.populate.rules.PopulateRule.field_name')>",
"docstring": null
},
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.populate.PopulateRule.collection_name",
"signature": "<bound method Alias.signature of Alias('collection_name', 'mongo_ops.populate.rules.PopulateRule.collection_name')>",
"docstring": null
},
"nested_rules": {
"name": "nested_rules",
"kind": "attribute",
"path": "mongo_ops.populate.PopulateRule.nested_rules",
"signature": "<bound method Alias.signature of Alias('nested_rules', 'mongo_ops.populate.rules.PopulateRule.nested_rules')>",
"docstring": null
},
"max_depth": {
"name": "max_depth",
"kind": "attribute",
"path": "mongo_ops.populate.PopulateRule.max_depth",
"signature": "<bound method Alias.signature of Alias('max_depth', 'mongo_ops.populate.rules.PopulateRule.max_depth')>",
"docstring": null
},
"filter": {
"name": "filter",
"kind": "attribute",
"path": "mongo_ops.populate.PopulateRule.filter",
"signature": "<bound method Alias.signature of Alias('filter', 'mongo_ops.populate.rules.PopulateRule.filter')>",
"docstring": null
},
"projection": {
"name": "projection",
"kind": "attribute",
"path": "mongo_ops.populate.PopulateRule.projection",
"signature": "<bound method Alias.signature of Alias('projection', 'mongo_ops.populate.rules.PopulateRule.projection')>",
"docstring": null
}
}
},
"engine": {
"name": "engine",
"kind": "module",
"path": "mongo_ops.populate.engine",
"signature": null,
"docstring": null,
"members": {
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.populate.engine.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Dict": {
"name": "Dict",
"kind": "alias",
"path": "mongo_ops.populate.engine.Dict",
"signature": "<bound method Alias.signature of Alias('Dict', 'typing.Dict')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.populate.engine.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.populate.engine.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"Set": {
"name": "Set",
"kind": "alias",
"path": "mongo_ops.populate.engine.Set",
"signature": "<bound method Alias.signature of Alias('Set', 'typing.Set')>",
"docstring": null
},
"Tuple": {
"name": "Tuple",
"kind": "alias",
"path": "mongo_ops.populate.engine.Tuple",
"signature": "<bound method Alias.signature of Alias('Tuple', 'typing.Tuple')>",
"docstring": null
},
"TypeVar": {
"name": "TypeVar",
"kind": "alias",
"path": "mongo_ops.populate.engine.TypeVar",
"signature": "<bound method Alias.signature of Alias('TypeVar', 'typing.TypeVar')>",
"docstring": null
},
"ObjectId": {
"name": "ObjectId",
"kind": "alias",
"path": "mongo_ops.populate.engine.ObjectId",
"signature": "<bound method Alias.signature of Alias('ObjectId', 'bson.ObjectId')>",
"docstring": null
},
"CircularReferenceError": {
"name": "CircularReferenceError",
"kind": "class",
"path": "mongo_ops.populate.engine.CircularReferenceError",
"signature": "<bound method Alias.signature of Alias('CircularReferenceError', 'mongo_ops.cache.backend.CircularReferenceError')>",
"docstring": null,
"members": {
"collection": {
"name": "collection",
"kind": "attribute",
"path": "mongo_ops.populate.engine.CircularReferenceError.collection",
"signature": "<bound method Alias.signature of Alias('collection', 'mongo_ops.cache.backend.CircularReferenceError.collection')>",
"docstring": null
},
"doc_id": {
"name": "doc_id",
"kind": "attribute",
"path": "mongo_ops.populate.engine.CircularReferenceError.doc_id",
"signature": "<bound method Alias.signature of Alias('doc_id', 'mongo_ops.cache.backend.CircularReferenceError.doc_id')>",
"docstring": null
},
"path": {
"name": "path",
"kind": "attribute",
"path": "mongo_ops.populate.engine.CircularReferenceError.path",
"signature": "<bound method Alias.signature of Alias('path', 'mongo_ops.cache.backend.CircularReferenceError.path')>",
"docstring": null
}
}
},
"BaseDocument": {
"name": "BaseDocument",
"kind": "class",
"path": "mongo_ops.populate.engine.BaseDocument",
"signature": "<bound method Alias.signature of Alias('BaseDocument', 'mongo_ops.models.BaseDocument')>",
"docstring": "Base document class with common MongoDB fields.\n\nInherit from this class to create Pydantic models that represent \nMongoDB documents. It includes automatic handling of the `_id` field \nand timestamps.\n\nAttributes:\n id: The MongoDB document ID (aliased to `_id`).\n created_at: Timestamp when the document was created.\n updated_at: Timestamp when the document was last updated.",
"members": {
"id": {
"name": "id",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.id",
"signature": "<bound method Alias.signature of Alias('id', 'mongo_ops.models.BaseDocument.id')>",
"docstring": null
},
"created_at": {
"name": "created_at",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.created_at",
"signature": "<bound method Alias.signature of Alias('created_at', 'mongo_ops.models.BaseDocument.created_at')>",
"docstring": null
},
"updated_at": {
"name": "updated_at",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.updated_at",
"signature": "<bound method Alias.signature of Alias('updated_at', 'mongo_ops.models.BaseDocument.updated_at')>",
"docstring": null
},
"Config": {
"name": "Config",
"kind": "class",
"path": "mongo_ops.populate.engine.BaseDocument.Config",
"signature": "<bound method Alias.signature of Alias('Config', 'mongo_ops.models.BaseDocument.Config')>",
"docstring": null,
"members": {
"populate_by_name": {
"name": "populate_by_name",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.populate_by_name",
"signature": "<bound method Alias.signature of Alias('populate_by_name', 'mongo_ops.models.BaseDocument.Config.populate_by_name')>",
"docstring": null
},
"arbitrary_types_allowed": {
"name": "arbitrary_types_allowed",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.arbitrary_types_allowed",
"signature": "<bound method Alias.signature of Alias('arbitrary_types_allowed', 'mongo_ops.models.BaseDocument.Config.arbitrary_types_allowed')>",
"docstring": null
},
"json_encoders": {
"name": "json_encoders",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.json_encoders",
"signature": "<bound method Alias.signature of Alias('json_encoders', 'mongo_ops.models.BaseDocument.Config.json_encoders')>",
"docstring": null
},
"json_schema_extra": {
"name": "json_schema_extra",
"kind": "attribute",
"path": "mongo_ops.populate.engine.BaseDocument.Config.json_schema_extra",
"signature": "<bound method Alias.signature of Alias('json_schema_extra', 'mongo_ops.models.BaseDocument.Config.json_schema_extra')>",
"docstring": null
}
}
}
}
},
"PopulateRule": {
"name": "PopulateRule",
"kind": "class",
"path": "mongo_ops.populate.engine.PopulateRule",
"signature": "<bound method Alias.signature of Alias('PopulateRule', 'mongo_ops.populate.rules.PopulateRule')>",
"docstring": null,
"members": {
"field_name": {
"name": "field_name",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.field_name",
"signature": "<bound method Alias.signature of Alias('field_name', 'mongo_ops.populate.rules.PopulateRule.field_name')>",
"docstring": null
},
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.collection_name",
"signature": "<bound method Alias.signature of Alias('collection_name', 'mongo_ops.populate.rules.PopulateRule.collection_name')>",
"docstring": null
},
"nested_rules": {
"name": "nested_rules",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.nested_rules",
"signature": "<bound method Alias.signature of Alias('nested_rules', 'mongo_ops.populate.rules.PopulateRule.nested_rules')>",
"docstring": null
},
"max_depth": {
"name": "max_depth",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.max_depth",
"signature": "<bound method Alias.signature of Alias('max_depth', 'mongo_ops.populate.rules.PopulateRule.max_depth')>",
"docstring": null
},
"filter": {
"name": "filter",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.filter",
"signature": "<bound method Alias.signature of Alias('filter', 'mongo_ops.populate.rules.PopulateRule.filter')>",
"docstring": null
},
"projection": {
"name": "projection",
"kind": "attribute",
"path": "mongo_ops.populate.engine.PopulateRule.projection",
"signature": "<bound method Alias.signature of Alias('projection', 'mongo_ops.populate.rules.PopulateRule.projection')>",
"docstring": null
}
}
},
"T": {
"name": "T",
"kind": "attribute",
"path": "mongo_ops.populate.engine.T",
"signature": null,
"docstring": null
},
"PopulationEngine": {
"name": "PopulationEngine",
"kind": "class",
"path": "mongo_ops.populate.engine.PopulationEngine",
"signature": "<bound method Class.signature of Class('PopulationEngine', 12, 165)>",
"docstring": null,
"members": {
"register_repo": {
"name": "register_repo",
"kind": "function",
"path": "mongo_ops.populate.engine.PopulationEngine.register_repo",
"signature": "<bound method Function.signature of Function('register_repo', 21, 22)>",
"docstring": null
},
"populate": {
"name": "populate",
"kind": "function",
"path": "mongo_ops.populate.engine.PopulationEngine.populate",
"signature": "<bound method Function.signature of Function('populate', 24, 77)>",
"docstring": null
},
"depopulate": {
"name": "depopulate",
"kind": "function",
"path": "mongo_ops.populate.engine.PopulationEngine.depopulate",
"signature": "<bound method Function.signature of Function('depopulate', 136, 165)>",
"docstring": null
}
}
}
}
},
"rules": {
"name": "rules",
"kind": "module",
"path": "mongo_ops.populate.rules",
"signature": null,
"docstring": null,
"members": {
"dataclass": {
"name": "dataclass",
"kind": "alias",
"path": "mongo_ops.populate.rules.dataclass",
"signature": "<bound method Alias.signature of Alias('dataclass', 'dataclasses.dataclass')>",
"docstring": null
},
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.populate.rules.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Dict": {
"name": "Dict",
"kind": "alias",
"path": "mongo_ops.populate.rules.Dict",
"signature": "<bound method Alias.signature of Alias('Dict', 'typing.Dict')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.populate.rules.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.populate.rules.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"PopulateRule": {
"name": "PopulateRule",
"kind": "class",
"path": "mongo_ops.populate.rules.PopulateRule",
"signature": "<bound method Class.signature of Class('PopulateRule', 5, 12)>",
"docstring": null,
"members": {
"field_name": {
"name": "field_name",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.field_name",
"signature": null,
"docstring": null
},
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.collection_name",
"signature": null,
"docstring": null
},
"nested_rules": {
"name": "nested_rules",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.nested_rules",
"signature": null,
"docstring": null
},
"max_depth": {
"name": "max_depth",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.max_depth",
"signature": null,
"docstring": null
},
"filter": {
"name": "filter",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.filter",
"signature": null,
"docstring": null
},
"projection": {
"name": "projection",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.projection",
"signature": null,
"docstring": null
}
}
}
}
}
}
}
}

View File

@@ -0,0 +1,95 @@
{
"module": "mongo_ops.populate.rules",
"content": {
"path": "mongo_ops.populate.rules",
"docstring": null,
"objects": {
"dataclass": {
"name": "dataclass",
"kind": "alias",
"path": "mongo_ops.populate.rules.dataclass",
"signature": "<bound method Alias.signature of Alias('dataclass', 'dataclasses.dataclass')>",
"docstring": null
},
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.populate.rules.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Dict": {
"name": "Dict",
"kind": "alias",
"path": "mongo_ops.populate.rules.Dict",
"signature": "<bound method Alias.signature of Alias('Dict', 'typing.Dict')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.populate.rules.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.populate.rules.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"PopulateRule": {
"name": "PopulateRule",
"kind": "class",
"path": "mongo_ops.populate.rules.PopulateRule",
"signature": "<bound method Class.signature of Class('PopulateRule', 5, 12)>",
"docstring": null,
"members": {
"field_name": {
"name": "field_name",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.field_name",
"signature": null,
"docstring": null
},
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.collection_name",
"signature": null,
"docstring": null
},
"nested_rules": {
"name": "nested_rules",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.nested_rules",
"signature": null,
"docstring": null
},
"max_depth": {
"name": "max_depth",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.max_depth",
"signature": null,
"docstring": null
},
"filter": {
"name": "filter",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.filter",
"signature": null,
"docstring": null
},
"projection": {
"name": "projection",
"kind": "attribute",
"path": "mongo_ops.populate.rules.PopulateRule.projection",
"signature": null,
"docstring": null
}
}
}
}
}
}

View File

@@ -0,0 +1,285 @@
{
"module": "mongo_ops.registry",
"content": {
"path": "mongo_ops.registry",
"docstring": "Model registration for multi-service initialization.",
"objects": {
"Dict": {
"name": "Dict",
"kind": "alias",
"path": "mongo_ops.registry.Dict",
"signature": "<bound method Alias.signature of Alias('Dict', 'typing.Dict')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.registry.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.registry.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"Type": {
"name": "Type",
"kind": "alias",
"path": "mongo_ops.registry.Type",
"signature": "<bound method Alias.signature of Alias('Type', 'typing.Type')>",
"docstring": null
},
"AsyncIOMotorDatabase": {
"name": "AsyncIOMotorDatabase",
"kind": "alias",
"path": "mongo_ops.registry.AsyncIOMotorDatabase",
"signature": "<bound method Alias.signature of Alias('AsyncIOMotorDatabase', 'motor.motor_asyncio.AsyncIOMotorDatabase')>",
"docstring": null
},
"CacheBackend": {
"name": "CacheBackend",
"kind": "class",
"path": "mongo_ops.registry.CacheBackend",
"signature": "<bound method Alias.signature of Alias('CacheBackend', 'mongo_ops.cache.backend.CacheBackend')>",
"docstring": null,
"members": {
"get": {
"name": "get",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.get",
"signature": "<bound method Alias.signature of Alias('get', 'mongo_ops.cache.backend.CacheBackend.get')>",
"docstring": null
},
"set": {
"name": "set",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.set",
"signature": "<bound method Alias.signature of Alias('set', 'mongo_ops.cache.backend.CacheBackend.set')>",
"docstring": null
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.delete",
"signature": "<bound method Alias.signature of Alias('delete', 'mongo_ops.cache.backend.CacheBackend.delete')>",
"docstring": null
},
"exists": {
"name": "exists",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.exists",
"signature": "<bound method Alias.signature of Alias('exists', 'mongo_ops.cache.backend.CacheBackend.exists')>",
"docstring": null
},
"clear_pattern": {
"name": "clear_pattern",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.clear_pattern",
"signature": "<bound method Alias.signature of Alias('clear_pattern', 'mongo_ops.cache.backend.CacheBackend.clear_pattern')>",
"docstring": null
},
"get_stats": {
"name": "get_stats",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.get_stats",
"signature": "<bound method Alias.signature of Alias('get_stats', 'mongo_ops.cache.backend.CacheBackend.get_stats')>",
"docstring": null
},
"initialize": {
"name": "initialize",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.initialize",
"signature": "<bound method Alias.signature of Alias('initialize', 'mongo_ops.cache.backend.CacheBackend.initialize')>",
"docstring": null
},
"shutdown": {
"name": "shutdown",
"kind": "function",
"path": "mongo_ops.registry.CacheBackend.shutdown",
"signature": "<bound method Alias.signature of Alias('shutdown', 'mongo_ops.cache.backend.CacheBackend.shutdown')>",
"docstring": null
}
}
},
"MongoConnectionManager": {
"name": "MongoConnectionManager",
"kind": "class",
"path": "mongo_ops.registry.MongoConnectionManager",
"signature": "<bound method Alias.signature of Alias('MongoConnectionManager', 'mongo_ops.connection.MongoConnectionManager')>",
"docstring": "Manages MongoDB connections with async lifecycle.\n\nThis class provides a singleton-like manager for the MongoDB client and \ndatabase instances, ensuring they are properly initialized and closed \nacross the application lifecycle.",
"members": {
"connect": {
"name": "connect",
"kind": "function",
"path": "mongo_ops.registry.MongoConnectionManager.connect",
"signature": "<bound method Alias.signature of Alias('connect', 'mongo_ops.connection.MongoConnectionManager.connect')>",
"docstring": "Connect to MongoDB and initialize the shared client.\n\nArgs:\n uri: MongoDB connection URI (e.g., \"mongodb://localhost:27017\").\n db_name: Name of the database to use.\n **kwargs: Additional Motor client options (e.g., maxPoolSize).\n\nReturns:\n AsyncIOMotorDatabase: The initialized database instance."
},
"disconnect": {
"name": "disconnect",
"kind": "function",
"path": "mongo_ops.registry.MongoConnectionManager.disconnect",
"signature": "<bound method Alias.signature of Alias('disconnect', 'mongo_ops.connection.MongoConnectionManager.disconnect')>",
"docstring": "Close the active MongoDB connection and cleanup resources."
},
"get_database": {
"name": "get_database",
"kind": "function",
"path": "mongo_ops.registry.MongoConnectionManager.get_database",
"signature": "<bound method Alias.signature of Alias('get_database', 'mongo_ops.connection.MongoConnectionManager.get_database')>",
"docstring": "Retrieve the current database instance.\n\nReturns:\n AsyncIOMotorDatabase: The active database instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"get_client": {
"name": "get_client",
"kind": "function",
"path": "mongo_ops.registry.MongoConnectionManager.get_client",
"signature": "<bound method Alias.signature of Alias('get_client', 'mongo_ops.connection.MongoConnectionManager.get_client')>",
"docstring": "Retrieve the current client instance.\n\nReturns:\n AsyncIOMotorClient: The active Motor client instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"lifespan": {
"name": "lifespan",
"kind": "function",
"path": "mongo_ops.registry.MongoConnectionManager.lifespan",
"signature": "<bound method Alias.signature of Alias('lifespan', 'mongo_ops.connection.MongoConnectionManager.lifespan')>",
"docstring": "Async context manager for managing connection lifecycle.\n\nDesigned for use with FastAPI or other frameworks supporting \nlifespan management.\n\nArgs:\n uri: MongoDB connection URI.\n db_name: Name of the database.\n **kwargs: Additional Motor client options.\n\nYields:\n AsyncIOMotorDatabase: The active database instance.\n\nUsage:\n @asynccontextmanager\n async def lifespan(app: FastAPI):\n async with MongoConnectionManager.lifespan(uri, db_name):\n yield"
}
}
},
"BaseDocument": {
"name": "BaseDocument",
"kind": "class",
"path": "mongo_ops.registry.BaseDocument",
"signature": "<bound method Alias.signature of Alias('BaseDocument', 'mongo_ops.models.BaseDocument')>",
"docstring": "Base document class with common MongoDB fields.\n\nInherit from this class to create Pydantic models that represent \nMongoDB documents. It includes automatic handling of the `_id` field \nand timestamps.\n\nAttributes:\n id: The MongoDB document ID (aliased to `_id`).\n created_at: Timestamp when the document was created.\n updated_at: Timestamp when the document was last updated.",
"members": {
"id": {
"name": "id",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.id",
"signature": "<bound method Alias.signature of Alias('id', 'mongo_ops.models.BaseDocument.id')>",
"docstring": null
},
"created_at": {
"name": "created_at",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.created_at",
"signature": "<bound method Alias.signature of Alias('created_at', 'mongo_ops.models.BaseDocument.created_at')>",
"docstring": null
},
"updated_at": {
"name": "updated_at",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.updated_at",
"signature": "<bound method Alias.signature of Alias('updated_at', 'mongo_ops.models.BaseDocument.updated_at')>",
"docstring": null
},
"Config": {
"name": "Config",
"kind": "class",
"path": "mongo_ops.registry.BaseDocument.Config",
"signature": "<bound method Alias.signature of Alias('Config', 'mongo_ops.models.BaseDocument.Config')>",
"docstring": null,
"members": {
"populate_by_name": {
"name": "populate_by_name",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.Config.populate_by_name",
"signature": "<bound method Alias.signature of Alias('populate_by_name', 'mongo_ops.models.BaseDocument.Config.populate_by_name')>",
"docstring": null
},
"arbitrary_types_allowed": {
"name": "arbitrary_types_allowed",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.Config.arbitrary_types_allowed",
"signature": "<bound method Alias.signature of Alias('arbitrary_types_allowed', 'mongo_ops.models.BaseDocument.Config.arbitrary_types_allowed')>",
"docstring": null
},
"json_encoders": {
"name": "json_encoders",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.Config.json_encoders",
"signature": "<bound method Alias.signature of Alias('json_encoders', 'mongo_ops.models.BaseDocument.Config.json_encoders')>",
"docstring": null
},
"json_schema_extra": {
"name": "json_schema_extra",
"kind": "attribute",
"path": "mongo_ops.registry.BaseDocument.Config.json_schema_extra",
"signature": "<bound method Alias.signature of Alias('json_schema_extra', 'mongo_ops.models.BaseDocument.Config.json_schema_extra')>",
"docstring": null
}
}
}
}
},
"ModelRegistry": {
"name": "ModelRegistry",
"kind": "class",
"path": "mongo_ops.registry.ModelRegistry",
"signature": "<bound method Class.signature of Class('ModelRegistry', 11, 149)>",
"docstring": "Registry for managing multiple models and their collections.\n\nThis registry allows central management of collections and their \nassociated indexes, making it easier to perform mass initialization \nat application startup.",
"members": {
"register": {
"name": "register",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.register",
"signature": "<bound method Function.signature of Function('register', 24, 48)>",
"docstring": "Register a model with its collection and indexes.\n\nArgs:\n collection_name: Name of the MongoDB collection.\n model: Document model class (subclass of BaseDocument).\n indexes: List of index specifications (e.g., [(\"email\", 1)]).\n\nUsage:\n ModelRegistry.register(\n \"users\",\n UserDocument,\n indexes=[(\"email\", 1), (\"created_at\", -1)]\n )"
},
"initialize_all": {
"name": "initialize_all",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.initialize_all",
"signature": "<bound method Function.signature of Function('initialize_all', 50, 67)>",
"docstring": "Initialize all registered collections and create indexes.\n\nThis method should be called during application startup to ensure \nall necessary indexes exist in the database.\n\nArgs:\n db: Database instance. If not provided, uses the global database \n from MongoConnectionManager."
},
"get_model": {
"name": "get_model",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.get_model",
"signature": "<bound method Function.signature of Function('get_model', 69, 85)>",
"docstring": "Retrieve a registered model by its collection name.\n\nArgs:\n collection_name: The name of the collection.\n\nReturns:\n Type[BaseDocument]: The registered model class.\n\nRaises:\n KeyError: If the model for the given collection is not registered."
},
"list_collections": {
"name": "list_collections",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.list_collections",
"signature": "<bound method Function.signature of Function('list_collections', 87, 95)>",
"docstring": "List all registered collection names.\n\nReturns:\n List[str]: A list of collection names."
},
"get_cache_backend": {
"name": "get_cache_backend",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.get_cache_backend",
"signature": "<bound method Function.signature of Function('get_cache_backend', 97, 105)>",
"docstring": "Get the registered cache backend instance.\n\nReturns:\n Optional[CacheBackend]: The cache backend, if registered."
},
"set_cache_backend": {
"name": "set_cache_backend",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.set_cache_backend",
"signature": "<bound method Function.signature of Function('set_cache_backend', 107, 119)>",
"docstring": "Register a cache backend for all cache-enabled repositories.\n\nShould be called after MongoDB connection is established,\nbefore cache-backed repositories are used.\n\nArgs:\n backend: A CacheBackend instance (InMemoryCacheBackend\n or RedisCacheBackend)."
},
"initialize_cache": {
"name": "initialize_cache",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.initialize_cache",
"signature": "<bound method Function.signature of Function('initialize_cache', 121, 137)>",
"docstring": "Initialize the registered cache backend.\n\nMust be called after set_cache_backend() and before any\ncache-backed repository operations. Typically called right\nafter MongoDB connection is established.\n\nRaises:\n RuntimeError: If no cache backend has been registered."
},
"shutdown_cache": {
"name": "shutdown_cache",
"kind": "function",
"path": "mongo_ops.registry.ModelRegistry.shutdown_cache",
"signature": "<bound method Function.signature of Function('shutdown_cache', 139, 149)>",
"docstring": "Shutdown the registered cache backend gracefully.\n\nShould be called during application shutdown to clean up\nbackground tasks (e.g., in-memory TTL cleanup)."
}
}
}
}
}
}

View File

@@ -0,0 +1,431 @@
{
"module": "mongo_ops.repository",
"content": {
"path": "mongo_ops.repository",
"docstring": "Repository patterns and CRUD mixins for MongoDB.",
"objects": {
"datetime": {
"name": "datetime",
"kind": "alias",
"path": "mongo_ops.repository.datetime",
"signature": "<bound method Alias.signature of Alias('datetime', 'datetime.datetime')>",
"docstring": null
},
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.repository.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Dict": {
"name": "Dict",
"kind": "alias",
"path": "mongo_ops.repository.Dict",
"signature": "<bound method Alias.signature of Alias('Dict', 'typing.Dict')>",
"docstring": null
},
"Generic": {
"name": "Generic",
"kind": "alias",
"path": "mongo_ops.repository.Generic",
"signature": "<bound method Alias.signature of Alias('Generic', 'typing.Generic')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.repository.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"Optional": {
"name": "Optional",
"kind": "alias",
"path": "mongo_ops.repository.Optional",
"signature": "<bound method Alias.signature of Alias('Optional', 'typing.Optional')>",
"docstring": null
},
"TypeVar": {
"name": "TypeVar",
"kind": "alias",
"path": "mongo_ops.repository.TypeVar",
"signature": "<bound method Alias.signature of Alias('TypeVar', 'typing.TypeVar')>",
"docstring": null
},
"Union": {
"name": "Union",
"kind": "alias",
"path": "mongo_ops.repository.Union",
"signature": "<bound method Alias.signature of Alias('Union', 'typing.Union')>",
"docstring": null
},
"ObjectId": {
"name": "ObjectId",
"kind": "alias",
"path": "mongo_ops.repository.ObjectId",
"signature": "<bound method Alias.signature of Alias('ObjectId', 'bson.ObjectId')>",
"docstring": null
},
"AsyncIOMotorCollection": {
"name": "AsyncIOMotorCollection",
"kind": "alias",
"path": "mongo_ops.repository.AsyncIOMotorCollection",
"signature": "<bound method Alias.signature of Alias('AsyncIOMotorCollection', 'motor.motor_asyncio.AsyncIOMotorCollection')>",
"docstring": null
},
"MongoConnectionManager": {
"name": "MongoConnectionManager",
"kind": "class",
"path": "mongo_ops.repository.MongoConnectionManager",
"signature": "<bound method Alias.signature of Alias('MongoConnectionManager', 'mongo_ops.connection.MongoConnectionManager')>",
"docstring": "Manages MongoDB connections with async lifecycle.\n\nThis class provides a singleton-like manager for the MongoDB client and \ndatabase instances, ensuring they are properly initialized and closed \nacross the application lifecycle.",
"members": {
"connect": {
"name": "connect",
"kind": "function",
"path": "mongo_ops.repository.MongoConnectionManager.connect",
"signature": "<bound method Alias.signature of Alias('connect', 'mongo_ops.connection.MongoConnectionManager.connect')>",
"docstring": "Connect to MongoDB and initialize the shared client.\n\nArgs:\n uri: MongoDB connection URI (e.g., \"mongodb://localhost:27017\").\n db_name: Name of the database to use.\n **kwargs: Additional Motor client options (e.g., maxPoolSize).\n\nReturns:\n AsyncIOMotorDatabase: The initialized database instance."
},
"disconnect": {
"name": "disconnect",
"kind": "function",
"path": "mongo_ops.repository.MongoConnectionManager.disconnect",
"signature": "<bound method Alias.signature of Alias('disconnect', 'mongo_ops.connection.MongoConnectionManager.disconnect')>",
"docstring": "Close the active MongoDB connection and cleanup resources."
},
"get_database": {
"name": "get_database",
"kind": "function",
"path": "mongo_ops.repository.MongoConnectionManager.get_database",
"signature": "<bound method Alias.signature of Alias('get_database', 'mongo_ops.connection.MongoConnectionManager.get_database')>",
"docstring": "Retrieve the current database instance.\n\nReturns:\n AsyncIOMotorDatabase: The active database instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"get_client": {
"name": "get_client",
"kind": "function",
"path": "mongo_ops.repository.MongoConnectionManager.get_client",
"signature": "<bound method Alias.signature of Alias('get_client', 'mongo_ops.connection.MongoConnectionManager.get_client')>",
"docstring": "Retrieve the current client instance.\n\nReturns:\n AsyncIOMotorClient: The active Motor client instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"lifespan": {
"name": "lifespan",
"kind": "function",
"path": "mongo_ops.repository.MongoConnectionManager.lifespan",
"signature": "<bound method Alias.signature of Alias('lifespan', 'mongo_ops.connection.MongoConnectionManager.lifespan')>",
"docstring": "Async context manager for managing connection lifecycle.\n\nDesigned for use with FastAPI or other frameworks supporting \nlifespan management.\n\nArgs:\n uri: MongoDB connection URI.\n db_name: Name of the database.\n **kwargs: Additional Motor client options.\n\nYields:\n AsyncIOMotorDatabase: The active database instance.\n\nUsage:\n @asynccontextmanager\n async def lifespan(app: FastAPI):\n async with MongoConnectionManager.lifespan(uri, db_name):\n yield"
}
}
},
"BaseDocument": {
"name": "BaseDocument",
"kind": "class",
"path": "mongo_ops.repository.BaseDocument",
"signature": "<bound method Alias.signature of Alias('BaseDocument', 'mongo_ops.models.BaseDocument')>",
"docstring": "Base document class with common MongoDB fields.\n\nInherit from this class to create Pydantic models that represent \nMongoDB documents. It includes automatic handling of the `_id` field \nand timestamps.\n\nAttributes:\n id: The MongoDB document ID (aliased to `_id`).\n created_at: Timestamp when the document was created.\n updated_at: Timestamp when the document was last updated.",
"members": {
"id": {
"name": "id",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.id",
"signature": "<bound method Alias.signature of Alias('id', 'mongo_ops.models.BaseDocument.id')>",
"docstring": null
},
"created_at": {
"name": "created_at",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.created_at",
"signature": "<bound method Alias.signature of Alias('created_at', 'mongo_ops.models.BaseDocument.created_at')>",
"docstring": null
},
"updated_at": {
"name": "updated_at",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.updated_at",
"signature": "<bound method Alias.signature of Alias('updated_at', 'mongo_ops.models.BaseDocument.updated_at')>",
"docstring": null
},
"Config": {
"name": "Config",
"kind": "class",
"path": "mongo_ops.repository.BaseDocument.Config",
"signature": "<bound method Alias.signature of Alias('Config', 'mongo_ops.models.BaseDocument.Config')>",
"docstring": null,
"members": {
"populate_by_name": {
"name": "populate_by_name",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.Config.populate_by_name",
"signature": "<bound method Alias.signature of Alias('populate_by_name', 'mongo_ops.models.BaseDocument.Config.populate_by_name')>",
"docstring": null
},
"arbitrary_types_allowed": {
"name": "arbitrary_types_allowed",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.Config.arbitrary_types_allowed",
"signature": "<bound method Alias.signature of Alias('arbitrary_types_allowed', 'mongo_ops.models.BaseDocument.Config.arbitrary_types_allowed')>",
"docstring": null
},
"json_encoders": {
"name": "json_encoders",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.Config.json_encoders",
"signature": "<bound method Alias.signature of Alias('json_encoders', 'mongo_ops.models.BaseDocument.Config.json_encoders')>",
"docstring": null
},
"json_schema_extra": {
"name": "json_schema_extra",
"kind": "attribute",
"path": "mongo_ops.repository.BaseDocument.Config.json_schema_extra",
"signature": "<bound method Alias.signature of Alias('json_schema_extra', 'mongo_ops.models.BaseDocument.Config.json_schema_extra')>",
"docstring": null
}
}
}
}
},
"PopulationEngine": {
"name": "PopulationEngine",
"kind": "class",
"path": "mongo_ops.repository.PopulationEngine",
"signature": "<bound method Alias.signature of Alias('PopulationEngine', 'mongo_ops.populate.engine.PopulationEngine')>",
"docstring": null,
"members": {
"register_repo": {
"name": "register_repo",
"kind": "function",
"path": "mongo_ops.repository.PopulationEngine.register_repo",
"signature": "<bound method Alias.signature of Alias('register_repo', 'mongo_ops.populate.engine.PopulationEngine.register_repo')>",
"docstring": null
},
"populate": {
"name": "populate",
"kind": "function",
"path": "mongo_ops.repository.PopulationEngine.populate",
"signature": "<bound method Alias.signature of Alias('populate', 'mongo_ops.populate.engine.PopulationEngine.populate')>",
"docstring": null
},
"depopulate": {
"name": "depopulate",
"kind": "function",
"path": "mongo_ops.repository.PopulationEngine.depopulate",
"signature": "<bound method Alias.signature of Alias('depopulate', 'mongo_ops.populate.engine.PopulationEngine.depopulate')>",
"docstring": null
}
}
},
"PopulateRule": {
"name": "PopulateRule",
"kind": "class",
"path": "mongo_ops.repository.PopulateRule",
"signature": "<bound method Alias.signature of Alias('PopulateRule', 'mongo_ops.populate.rules.PopulateRule')>",
"docstring": null,
"members": {
"field_name": {
"name": "field_name",
"kind": "attribute",
"path": "mongo_ops.repository.PopulateRule.field_name",
"signature": "<bound method Alias.signature of Alias('field_name', 'mongo_ops.populate.rules.PopulateRule.field_name')>",
"docstring": null
},
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.repository.PopulateRule.collection_name",
"signature": "<bound method Alias.signature of Alias('collection_name', 'mongo_ops.populate.rules.PopulateRule.collection_name')>",
"docstring": null
},
"nested_rules": {
"name": "nested_rules",
"kind": "attribute",
"path": "mongo_ops.repository.PopulateRule.nested_rules",
"signature": "<bound method Alias.signature of Alias('nested_rules', 'mongo_ops.populate.rules.PopulateRule.nested_rules')>",
"docstring": null
},
"max_depth": {
"name": "max_depth",
"kind": "attribute",
"path": "mongo_ops.repository.PopulateRule.max_depth",
"signature": "<bound method Alias.signature of Alias('max_depth', 'mongo_ops.populate.rules.PopulateRule.max_depth')>",
"docstring": null
},
"filter": {
"name": "filter",
"kind": "attribute",
"path": "mongo_ops.repository.PopulateRule.filter",
"signature": "<bound method Alias.signature of Alias('filter', 'mongo_ops.populate.rules.PopulateRule.filter')>",
"docstring": null
},
"projection": {
"name": "projection",
"kind": "attribute",
"path": "mongo_ops.repository.PopulateRule.projection",
"signature": "<bound method Alias.signature of Alias('projection', 'mongo_ops.populate.rules.PopulateRule.projection')>",
"docstring": null
}
}
},
"T": {
"name": "T",
"kind": "attribute",
"path": "mongo_ops.repository.T",
"signature": null,
"docstring": null
},
"CRUDMixin": {
"name": "CRUDMixin",
"kind": "class",
"path": "mongo_ops.repository.CRUDMixin",
"signature": "<bound method Class.signature of Class('CRUDMixin', 16, 196)>",
"docstring": "Generic CRUD operations mixin for MongoDB collections.\n\nThis mixin provides standard Create, Read, Update, and Delete operations \nthat work with Pydantic models.\n\nAttributes:\n collection: The Motor collection instance.\n model: The Pydantic model class representing the document.",
"members": {
"collection": {
"name": "collection",
"kind": "attribute",
"path": "mongo_ops.repository.CRUDMixin.collection",
"signature": null,
"docstring": null
},
"model": {
"name": "model",
"kind": "attribute",
"path": "mongo_ops.repository.CRUDMixin.model",
"signature": null,
"docstring": null
},
"data_to_model": {
"name": "data_to_model",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.data_to_model",
"signature": "<bound method Function.signature of Function('data_to_model', 39, 40)>",
"docstring": null
},
"create": {
"name": "create",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.create",
"signature": "<bound method Function.signature of Function('create', 42, 58)>",
"docstring": "Create a new document in the collection.\n\nArgs:\n data: The Pydantic model instance to insert.\n\nReturns:\n T: The created Pydantic model instance, including the assigned ID."
},
"get_by_id": {
"name": "get_by_id",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.get_by_id",
"signature": "<bound method Function.signature of Function('get_by_id', 60, 74)>",
"docstring": "Retrieve a document by its ID.\n\nArgs:\n id: The document ID (string or ObjectId).\n\nReturns:\n Optional[T]: The Pydantic model instance if found, else None."
},
"get_many": {
"name": "get_many",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.get_many",
"signature": "<bound method Function.signature of Function('get_many', 76, 115)>",
"docstring": "Retrieve multiple documents with filtering, pagination, and sorting.\n\nArgs:\n filter: MongoDB filter dictionary (e.g., {\"is_active\": True}).\n skip: Number of documents to skip for pagination.\n limit: Maximum number of documents to return (default 100).\n sort: List of sort specifications [(field, direction), ...].\n E.g., [(\"created_at\", -1)] for descending.\n\nReturns:\n List[T]: A list of Pydantic model instances.\n\nUsage:\n ```python\n users = await repo.get_many(\n filter={\"role\": \"admin\"},\n limit=10,\n sort=[(\"username\", 1)]\n )\n ```"
},
"update": {
"name": "update",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.update",
"signature": "<bound method Function.signature of Function('update', 117, 142)>",
"docstring": "Update a document by its ID using the $set operator.\n\nArgs:\n id: The document ID (string or ObjectId).\n data: A dictionary of fields and values to update.\n\nReturns:\n Optional[T]: The updated Pydantic model instance if found, else None.\n\nUsage:\n ```python\n updated_user = await repo.update(user_id, {\"email\": \"new@example.com\"})\n ```"
},
"patch": {
"name": "patch",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.patch",
"signature": "<bound method Function.signature of Function('patch', 144, 167)>",
"docstring": "Partially update a document using $set (REST PATCH semantics).\n\nUnlike update(), patch() takes a partial dict and applies only those\nfields. PopulatingRepository overrides this to prevent patching FK fields.\n\nArgs:\n id: The document ID (string or ObjectId).\n data: A partial dictionary of fields and values to update.\n\nReturns:\n Optional[T]: The updated Pydantic model instance if found, else None."
},
"delete": {
"name": "delete",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.delete",
"signature": "<bound method Function.signature of Function('delete', 169, 183)>",
"docstring": "Delete a document by its ID.\n\nArgs:\n id: The document ID (string or ObjectId).\n\nReturns:\n bool: True if a document was deleted, False otherwise."
},
"count": {
"name": "count",
"kind": "function",
"path": "mongo_ops.repository.CRUDMixin.count",
"signature": "<bound method Function.signature of Function('count', 185, 196)>",
"docstring": "Count documents matching a filter.\n\nArgs:\n filter: MongoDB filter dictionary.\n\nReturns:\n int: The number of matching documents."
}
}
},
"BaseRepository": {
"name": "BaseRepository",
"kind": "class",
"path": "mongo_ops.repository.BaseRepository",
"signature": "<bound method Class.signature of Class('BaseRepository', 199, 221)>",
"docstring": "Base repository class combining CRUD operations and collection management.\n\nThis class simplifies repository creation by automatically obtaining the \ndatabase connection and collection instance.\n\nAttributes:\n collection_name: The name of the collection managed by this repository.",
"members": {
"collection_name": {
"name": "collection_name",
"kind": "attribute",
"path": "mongo_ops.repository.BaseRepository.collection_name",
"signature": null,
"docstring": null
}
}
},
"PopulatingRepository": {
"name": "PopulatingRepository",
"kind": "class",
"path": "mongo_ops.repository.PopulatingRepository",
"signature": "<bound method Class.signature of Class('PopulatingRepository', 224, 342)>",
"docstring": null,
"members": {
"population_engine": {
"name": "population_engine",
"kind": "attribute",
"path": "mongo_ops.repository.PopulatingRepository.population_engine",
"signature": null,
"docstring": null
},
"set_population_engine": {
"name": "set_population_engine",
"kind": "function",
"path": "mongo_ops.repository.PopulatingRepository.set_population_engine",
"signature": "<bound method Function.signature of Function('set_population_engine', 236, 237)>",
"docstring": null
},
"set_populate_rules": {
"name": "set_populate_rules",
"kind": "function",
"path": "mongo_ops.repository.PopulatingRepository.set_populate_rules",
"signature": "<bound method Function.signature of Function('set_populate_rules', 239, 240)>",
"docstring": null
},
"data_to_model": {
"name": "data_to_model",
"kind": "function",
"path": "mongo_ops.repository.PopulatingRepository.data_to_model",
"signature": "<bound method Function.signature of Function('data_to_model', 242, 244)>",
"docstring": null
},
"create": {
"name": "create",
"kind": "function",
"path": "mongo_ops.repository.PopulatingRepository.create",
"signature": "<bound method Function.signature of Function('create', 322, 328)>",
"docstring": null
},
"update": {
"name": "update",
"kind": "function",
"path": "mongo_ops.repository.PopulatingRepository.update",
"signature": "<bound method Function.signature of Function('update', 330, 332)>",
"docstring": null
},
"patch": {
"name": "patch",
"kind": "function",
"path": "mongo_ops.repository.PopulatingRepository.patch",
"signature": "<bound method Function.signature of Function('patch', 334, 342)>",
"docstring": null
}
}
}
}
}
}

View File

@@ -0,0 +1,118 @@
{
"module": "mongo_ops.transactions",
"content": {
"path": "mongo_ops.transactions",
"docstring": "Transaction management helpers for MongoDB.",
"objects": {
"Awaitable": {
"name": "Awaitable",
"kind": "alias",
"path": "mongo_ops.transactions.Awaitable",
"signature": "<bound method Alias.signature of Alias('Awaitable', 'collections.abc.Awaitable')>",
"docstring": null
},
"asynccontextmanager": {
"name": "asynccontextmanager",
"kind": "alias",
"path": "mongo_ops.transactions.asynccontextmanager",
"signature": "<bound method Alias.signature of Alias('asynccontextmanager', 'contextlib.asynccontextmanager')>",
"docstring": null
},
"Any": {
"name": "Any",
"kind": "alias",
"path": "mongo_ops.transactions.Any",
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
"docstring": null
},
"Callable": {
"name": "Callable",
"kind": "alias",
"path": "mongo_ops.transactions.Callable",
"signature": "<bound method Alias.signature of Alias('Callable', 'typing.Callable')>",
"docstring": null
},
"List": {
"name": "List",
"kind": "alias",
"path": "mongo_ops.transactions.List",
"signature": "<bound method Alias.signature of Alias('List', 'typing.List')>",
"docstring": null
},
"AsyncIOMotorClientSession": {
"name": "AsyncIOMotorClientSession",
"kind": "alias",
"path": "mongo_ops.transactions.AsyncIOMotorClientSession",
"signature": "<bound method Alias.signature of Alias('AsyncIOMotorClientSession', 'motor.motor_asyncio.AsyncIOMotorClientSession')>",
"docstring": null
},
"MongoConnectionManager": {
"name": "MongoConnectionManager",
"kind": "class",
"path": "mongo_ops.transactions.MongoConnectionManager",
"signature": "<bound method Alias.signature of Alias('MongoConnectionManager', 'mongo_ops.connection.MongoConnectionManager')>",
"docstring": "Manages MongoDB connections with async lifecycle.\n\nThis class provides a singleton-like manager for the MongoDB client and \ndatabase instances, ensuring they are properly initialized and closed \nacross the application lifecycle.",
"members": {
"connect": {
"name": "connect",
"kind": "function",
"path": "mongo_ops.transactions.MongoConnectionManager.connect",
"signature": "<bound method Alias.signature of Alias('connect', 'mongo_ops.connection.MongoConnectionManager.connect')>",
"docstring": "Connect to MongoDB and initialize the shared client.\n\nArgs:\n uri: MongoDB connection URI (e.g., \"mongodb://localhost:27017\").\n db_name: Name of the database to use.\n **kwargs: Additional Motor client options (e.g., maxPoolSize).\n\nReturns:\n AsyncIOMotorDatabase: The initialized database instance."
},
"disconnect": {
"name": "disconnect",
"kind": "function",
"path": "mongo_ops.transactions.MongoConnectionManager.disconnect",
"signature": "<bound method Alias.signature of Alias('disconnect', 'mongo_ops.connection.MongoConnectionManager.disconnect')>",
"docstring": "Close the active MongoDB connection and cleanup resources."
},
"get_database": {
"name": "get_database",
"kind": "function",
"path": "mongo_ops.transactions.MongoConnectionManager.get_database",
"signature": "<bound method Alias.signature of Alias('get_database', 'mongo_ops.connection.MongoConnectionManager.get_database')>",
"docstring": "Retrieve the current database instance.\n\nReturns:\n AsyncIOMotorDatabase: The active database instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"get_client": {
"name": "get_client",
"kind": "function",
"path": "mongo_ops.transactions.MongoConnectionManager.get_client",
"signature": "<bound method Alias.signature of Alias('get_client', 'mongo_ops.connection.MongoConnectionManager.get_client')>",
"docstring": "Retrieve the current client instance.\n\nReturns:\n AsyncIOMotorClient: The active Motor client instance.\n\nRaises:\n RuntimeError: If connect() has not been called yet."
},
"lifespan": {
"name": "lifespan",
"kind": "function",
"path": "mongo_ops.transactions.MongoConnectionManager.lifespan",
"signature": "<bound method Alias.signature of Alias('lifespan', 'mongo_ops.connection.MongoConnectionManager.lifespan')>",
"docstring": "Async context manager for managing connection lifecycle.\n\nDesigned for use with FastAPI or other frameworks supporting \nlifespan management.\n\nArgs:\n uri: MongoDB connection URI.\n db_name: Name of the database.\n **kwargs: Additional Motor client options.\n\nYields:\n AsyncIOMotorDatabase: The active database instance.\n\nUsage:\n @asynccontextmanager\n async def lifespan(app: FastAPI):\n async with MongoConnectionManager.lifespan(uri, db_name):\n yield"
}
}
},
"TransactionManager": {
"name": "TransactionManager",
"kind": "class",
"path": "mongo_ops.transactions.TransactionManager",
"signature": "<bound method Class.signature of Class('TransactionManager', 11, 69)>",
"docstring": "Simplified multi-document transaction handling.\n\nThis class provides helpers for executing operations within a MongoDB \ntransaction, ensuring ACID compliance for multi-document updates.",
"members": {
"start_session": {
"name": "start_session",
"kind": "function",
"path": "mongo_ops.transactions.TransactionManager.start_session",
"signature": "<bound method Function.signature of Function('start_session', 19, 39)>",
"docstring": "Start a transaction session as an async context manager.\n\nArgs:\n **kwargs: Transaction options (e.g., read_concern, write_concern).\n\nYields:\n AsyncIOMotorClientSession: The active session with a started transaction.\n\nUsage:\n async with TransactionManager.start_session() as session:\n await collection.insert_one(doc, session=session)\n await other_collection.update_one(filter, update, session=session)"
},
"execute_transaction": {
"name": "execute_transaction",
"kind": "function",
"path": "mongo_ops.transactions.TransactionManager.execute_transaction",
"signature": "<bound method Function.signature of Function('execute_transaction', 41, 69)>",
"docstring": "Execute multiple operations within a single transaction.\n\nArgs:\n operations: A list of async callables that accept a session \n parameter and return a result.\n **kwargs: Transaction options.\n\nReturns:\n List[Any]: A list containing the results of each operation.\n\nUsage:\n results = await TransactionManager.execute_transaction([\n lambda s: repo1.create(data1, session=s),\n lambda s: repo2.update(id, data2, session=s),\n ])"
}
}
}
}
}
}