isage-middleware 0.1.3__py3-none-any.whl → 0.1.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. {isage_middleware-0.1.3.dist-info → isage_middleware-0.1.3.1.dist-info}/METADATA +2 -2
  2. {isage_middleware-0.1.3.dist-info → isage_middleware-0.1.3.1.dist-info}/RECORD +222 -225
  3. sage/middleware/__init__.py +2 -2
  4. sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  5. sage/middleware/__pycache__/__init__.cpython-311.pyc +0 -0
  6. sage/middleware/__pycache__/_version.cpython-311.opt-2.pyc +0 -0
  7. sage/middleware/__pycache__/_version.cpython-311.pyc +0 -0
  8. sage/middleware/_version.py +20 -17
  9. sage/middleware/api/__init__.py +2 -2
  10. sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  11. sage/middleware/api/__pycache__/__init__.cpython-311.pyc +0 -0
  12. sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc +0 -0
  13. sage/middleware/api/__pycache__/graph_api.cpython-311.pyc +0 -0
  14. sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc +0 -0
  15. sage/middleware/api/__pycache__/kv_api.cpython-311.pyc +0 -0
  16. sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc +0 -0
  17. sage/middleware/api/__pycache__/memory_api.cpython-311.pyc +0 -0
  18. sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc +0 -0
  19. sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc +0 -0
  20. sage/middleware/components/enterprise/__init__.py +2 -2
  21. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  22. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
  23. sage/middleware/components/neuromem/__init__.py +2 -2
  24. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  25. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.pyc +0 -0
  26. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.opt-2.pyc +0 -0
  27. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.pyc +0 -0
  28. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  29. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.pyc +0 -0
  30. sage/middleware/components/neuromem/memory_collection/__init__.py +2 -2
  31. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  32. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.pyc +0 -0
  33. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
  34. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
  35. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  36. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  37. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
  38. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
  39. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
  40. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
  41. sage/middleware/components/neuromem/micro_service/__init__.py +2 -2
  42. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  43. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  44. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.opt-2.pyc +0 -0
  45. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.pyc +0 -0
  46. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.opt-2.pyc +0 -0
  47. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.pyc +0 -0
  48. sage/middleware/components/neuromem/search_engine/__init__.py +2 -2
  49. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  50. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  51. sage/middleware/components/neuromem/search_engine/graph_index/__init__.py +2 -2
  52. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  53. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.pyc +0 -0
  54. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  55. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  56. sage/middleware/components/neuromem/search_engine/hybird_index/__init__.py +2 -2
  57. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  58. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.pyc +0 -0
  59. sage/middleware/components/neuromem/search_engine/kv_index/__init__.py +2 -2
  60. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  61. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.pyc +0 -0
  62. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  63. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  64. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  65. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  66. sage/middleware/components/neuromem/search_engine/vdb_index/__init__.py +2 -2
  67. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  68. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.pyc +0 -0
  69. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  70. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  71. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  72. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.pyc +0 -0
  73. sage/middleware/components/neuromem/storage_engine/__init__.py +2 -2
  74. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  75. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  76. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.opt-2.pyc +0 -0
  77. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.pyc +0 -0
  78. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.opt-2.pyc +0 -0
  79. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.pyc +0 -0
  80. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.opt-2.pyc +0 -0
  81. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.pyc +0 -0
  82. sage/middleware/components/neuromem/storage_engine/kv_backend/__init__.py +2 -2
  83. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  84. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.pyc +0 -0
  85. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.opt-2.pyc +0 -0
  86. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.pyc +0 -0
  87. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.opt-2.pyc +0 -0
  88. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.pyc +0 -0
  89. sage/middleware/components/neuromem/tests/__init__.py +2 -2
  90. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  91. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.pyc +0 -0
  92. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.opt-2.pyc +0 -0
  93. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.pyc +0 -0
  94. sage/middleware/components/neuromem/tests/core_test/__init__.py +2 -2
  95. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  96. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.pyc +0 -0
  97. sage/middleware/components/neuromem/tests/core_test/collection_test/__init__.py +2 -2
  98. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  99. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.pyc +0 -0
  100. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.opt-2.pyc +0 -0
  101. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.pyc +0 -0
  102. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.opt-2.pyc +0 -0
  103. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.pyc +0 -0
  104. sage/middleware/components/neuromem/utils/__init__.py +2 -2
  105. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  106. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  107. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  108. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  109. sage/middleware/components/sage_db/__init__.py +2 -2
  110. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  111. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
  112. sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  113. sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.pyc +0 -0
  114. sage/middleware/components/sage_db/python/__init__.py +2 -2
  115. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  116. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
  117. sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  118. sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.pyc +0 -0
  119. sage/middleware/components/sage_db/sage_db.py +3 -211
  120. sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc +0 -0
  121. sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.pyc +0 -0
  122. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc +0 -0
  123. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc +0 -0
  124. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc +0 -0
  125. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc +0 -0
  126. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc +0 -0
  127. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc +0 -0
  128. sage/middleware/services/__init__.py +2 -2
  129. sage/middleware/services/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  130. sage/middleware/services/__pycache__/__init__.cpython-311.pyc +0 -0
  131. sage/middleware/services/graph/__init__.py +2 -2
  132. sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  133. sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc +0 -0
  134. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc +0 -0
  135. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc +0 -0
  136. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc +0 -0
  137. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc +0 -0
  138. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc +0 -0
  139. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc +0 -0
  140. sage/middleware/services/graph/search_engine/__init__.py +2 -2
  141. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  142. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  143. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  144. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  145. sage/middleware/services/kv/__init__.py +2 -2
  146. sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  147. sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc +0 -0
  148. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc +0 -0
  149. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc +0 -0
  150. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.opt-2.pyc +0 -0
  151. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.pyc +0 -0
  152. sage/middleware/services/kv/search_engine/__init__.py +2 -2
  153. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  154. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  155. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  156. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  157. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  158. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  159. sage/middleware/services/memory/__init__.py +2 -2
  160. sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  161. sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc +0 -0
  162. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  163. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc +0 -0
  164. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.opt-2.pyc +0 -0
  165. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.pyc +0 -0
  166. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  167. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  168. sage/middleware/services/memory/utils/__init__.py +2 -2
  169. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  170. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  171. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  172. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  173. sage/middleware/services/vdb/__init__.py +2 -2
  174. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  175. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc +0 -0
  176. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc +0 -0
  177. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc +0 -0
  178. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.opt-2.pyc +0 -0
  179. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.pyc +0 -0
  180. sage/middleware/services/vdb/search_engine/__init__.py +2 -2
  181. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  182. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  183. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  184. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  185. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  186. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc +0 -0
  187. sage/middleware/utils/__init__.py +2 -2
  188. sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  189. sage/middleware/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  190. sage/middleware/utils/embedding/__init__.py +2 -2
  191. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  192. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc +0 -0
  193. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc +0 -0
  194. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc +0 -0
  195. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc +0 -0
  196. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc +0 -0
  197. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc +0 -0
  198. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc +0 -0
  199. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc +0 -0
  200. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc +0 -0
  201. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc +0 -0
  202. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc +0 -0
  203. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc +0 -0
  204. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc +0 -0
  205. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc +0 -0
  206. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc +0 -0
  207. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc +0 -0
  208. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc +0 -0
  209. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc +0 -0
  210. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc +0 -0
  211. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc +0 -0
  212. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc +0 -0
  213. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc +0 -0
  214. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc +0 -0
  215. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc +0 -0
  216. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc +0 -0
  217. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc +0 -0
  218. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc +0 -0
  219. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc +0 -0
  220. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc +0 -0
  221. sage/__init__.py +0 -56
  222. sage/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  223. sage/__pycache__/__init__.cpython-311.pyc +0 -0
  224. {isage_middleware-0.1.3.dist-info → isage_middleware-0.1.3.1.dist-info}/WHEEL +0 -0
  225. {isage_middleware-0.1.3.dist-info → isage_middleware-0.1.3.1.dist-info}/top_level.txt +0 -0
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -1,218 +1,10 @@
1
1
  """
2
- SAGE DB - 高性能向量数据库
2
+ SAGE DB - High-performance vector database with FAISS backend
3
3
 
4
- 直接导出 C++ 扩展中的类和函数
4
+ This module provides a Python interface to the SAGE DB vector database,
5
+ which supports efficient similarity search with metadata filtering.
5
6
  """
6
7
 
7
- # 直接从 C++ 扩展导入所有必要的类
8
- try:
9
- from ._sage_db import (
10
- SageDB,
11
- DatabaseConfig,
12
- IndexType,
13
- DistanceMetric,
14
- QueryResult,
15
- SearchParams,
16
- SageDBException,
17
- create_database,
18
- index_type_to_string,
19
- string_to_index_type,
20
- distance_metric_to_string,
21
- string_to_distance_metric
22
- )
23
- print("✓ SAGE DB C++ extension loaded successfully")
24
- except ImportError as e:
25
- raise ImportError(f"Failed to import SAGE DB C++ extension: {e}")
26
-
27
- # 导出所有API
28
- __all__ = [
29
- 'SageDB',
30
- 'DatabaseConfig',
31
- 'IndexType',
32
- 'DistanceMetric',
33
- 'QueryResult',
34
- 'SearchParams',
35
- 'SageDBException',
36
- 'create_database',
37
- 'index_type_to_string',
38
- 'string_to_index_type',
39
- 'distance_metric_to_string',
40
- 'string_to_distance_metric'
41
- ]
42
-
43
- import numpy as np
44
- from typing import List, Dict, Any, Optional, Callable, Tuple, Union
45
-
46
- # 尝试导入C++扩展
47
- try:
48
- from . import _sage_db
49
- _cpp_available = True
50
- except ImportError:
51
- try:
52
- import _sage_db
53
- _cpp_available = True
54
- except ImportError:
55
- _cpp_available = False
56
- raise ImportError("SAGE DB C++ extension not available")
57
-
58
- # 重新导出C++类和枚举
59
- IndexType = _sage_db.IndexType
60
- DistanceMetric = _sage_db.DistanceMetric
61
- QueryResult = _sage_db.QueryResult
62
- SearchParams = _sage_db.SearchParams
63
- DatabaseConfig = _sage_db.DatabaseConfig
64
- SageDBException = _sage_db.SageDBException
65
-
66
- class SageDB:
67
- """
68
- High-performance vector database with FAISS backend.
69
-
70
- Supports efficient similarity search, metadata filtering, and hybrid search.
71
- """
72
-
73
- def __init__(self, dimension: int,
74
- index_type: IndexType = IndexType.AUTO,
75
- metric: DistanceMetric = DistanceMetric.L2):
76
- """
77
- Initialize a new SageDB instance.
78
-
79
- Args:
80
- dimension: Vector dimension
81
- index_type: Index type for similarity search
82
- metric: Distance metric
83
- """
84
- self._db = _sage_db.create_database(dimension, index_type, metric)
85
-
86
- @classmethod
87
- def from_config(cls, config: DatabaseConfig):
88
- """Create SageDB from configuration object."""
89
- instance = cls.__new__(cls)
90
- instance._db = _sage_db.create_database(config)
91
- return instance
92
-
93
- def add(self, vector: Union[List[float], np.ndarray],
94
- metadata: Optional[Dict[str, str]] = None) -> int:
95
- """Add a single vector with optional metadata."""
96
- if isinstance(vector, np.ndarray):
97
- vector = vector.tolist()
98
- return self._db.add(vector, metadata or {})
99
-
100
- def add_batch(self, vectors: Union[List[List[float]], np.ndarray],
101
- metadata: Optional[List[Dict[str, str]]] = None) -> List[int]:
102
- """Add multiple vectors with optional metadata."""
103
- if isinstance(vectors, np.ndarray):
104
- if len(vectors.shape) != 2:
105
- raise ValueError("Vectors array must be 2-dimensional")
106
- return _sage_db.add_numpy(self._db, vectors, metadata or [])
107
- else:
108
- return self._db.add_batch(vectors, metadata or [])
109
-
110
- def search(self, query: Union[List[float], np.ndarray],
111
- k: int = 10, include_metadata: bool = True) -> List[QueryResult]:
112
- """Search for similar vectors."""
113
- if isinstance(query, np.ndarray):
114
- return _sage_db.search_numpy(self._db, query, SearchParams(k))
115
- return self._db.search(query, k, include_metadata)
116
-
117
- def search_with_params(self, query: Union[List[float], np.ndarray],
118
- params: SearchParams) -> List[QueryResult]:
119
- """Search with custom parameters."""
120
- if isinstance(query, np.ndarray):
121
- return _sage_db.search_numpy(self._db, query, params)
122
- return self._db.search(query, params)
123
-
124
- def filtered_search(self, query: Union[List[float], np.ndarray],
125
- params: SearchParams,
126
- filter_fn: Callable[[Dict[str, str]], bool]) -> List[QueryResult]:
127
- """Search with metadata filtering."""
128
- if isinstance(query, np.ndarray):
129
- query = query.tolist()
130
- return self._db.filtered_search(query, params, filter_fn)
131
-
132
- def remove(self, vector_id: int) -> bool:
133
- """Remove a vector by ID."""
134
- return self._db.remove(vector_id)
135
-
136
- def update(self, vector_id: int, vector: Union[List[float], np.ndarray],
137
- metadata: Optional[Dict[str, str]] = None) -> bool:
138
- """Update a vector and its metadata."""
139
- if isinstance(vector, np.ndarray):
140
- vector = vector.tolist()
141
- return self._db.update(vector_id, vector, metadata or {})
142
-
143
- def build_index(self):
144
- """Build the search index."""
145
- self._db.build_index()
146
-
147
- def train_index(self, training_data: Optional[List[List[float]]] = None):
148
- """Train the index with training data."""
149
- self._db.train_index(training_data or [])
150
-
151
- def is_trained(self) -> bool:
152
- """Check if the index is trained."""
153
- return self._db.is_trained()
154
-
155
- def set_metadata(self, vector_id: int, metadata: Dict[str, str]) -> bool:
156
- """Set metadata for a vector."""
157
- return self._db.set_metadata(vector_id, metadata)
158
-
159
- def get_metadata(self, vector_id: int) -> Optional[Dict[str, str]]:
160
- """Get metadata for a vector."""
161
- result = self._db.get_metadata(vector_id)
162
- return result if result is not None else None
163
-
164
- def find_by_metadata(self, key: str, value: str) -> List[int]:
165
- """Find vectors by metadata key-value pair."""
166
- return self._db.find_by_metadata(key, value)
167
-
168
- def save(self, filepath: str):
169
- """Save database to file."""
170
- self._db.save(filepath)
171
-
172
- def load(self, filepath: str):
173
- """Load database from file."""
174
- self._db.load(filepath)
175
-
176
- def size(self) -> int:
177
- """Get number of vectors in database."""
178
- return self._db.size()
179
-
180
- def dimension(self) -> int:
181
- """Get vector dimension."""
182
- return self._db.dimension()
183
-
184
- def index_type(self) -> IndexType:
185
- """Get index type."""
186
- return self._db.index_type()
187
-
188
- def config(self) -> DatabaseConfig:
189
- """Get database configuration."""
190
- return self._db.config()
191
-
192
- # 高级功能访问
193
- def query_engine(self):
194
- """Get query engine for advanced search operations."""
195
- return self._db.query_engine()
196
-
197
- def vector_store(self):
198
- """Get vector store for low-level operations."""
199
- return self._db.vector_store()
200
-
201
- def metadata_store(self):
202
- """Get metadata store for metadata operations."""
203
- return self._db.metadata_store()
204
-
205
- # 导出的API
206
- __all__ = [
207
- 'SageDB',
208
- 'IndexType',
209
- 'DistanceMetric',
210
- 'QueryResult',
211
- 'SearchParams',
212
- 'DatabaseConfig',
213
- 'SageDBException'
214
- ]
215
-
216
8
  import numpy as np
217
9
  from typing import List, Dict, Any, Optional, Callable, Tuple, Union
218
10
  try:
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }
@@ -35,7 +35,7 @@ def _load_version():
35
35
  with open(version_file, 'r', encoding='utf-8') as f:
36
36
  exec(f.read(), version_globals)
37
37
  return {
38
- 'version': version_globals.get('__version__', '0.1.4'),
38
+ 'version': version_globals.get('__version__', '0.1.3'),
39
39
  'author': version_globals.get('__author__', 'SAGE Team'),
40
40
  'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
41
  }
@@ -44,7 +44,7 @@ def _load_version():
44
44
 
45
45
  # 最后的默认值
46
46
  return {
47
- 'version': '0.1.4',
47
+ 'version': '0.1.3',
48
48
  'author': 'SAGE Team',
49
49
  'email': 'shuhao_zhang@hust.edu.cn'
50
50
  }