isage-middleware 0.1.3.1__py3-none-any.whl → 0.1.5.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.

Potentially problematic release.


This version of isage-middleware might be problematic. Click here for more details.

Files changed (666) hide show
  1. isage_middleware-0.1.5.1.dist-info/METADATA +241 -0
  2. isage_middleware-0.1.5.1.dist-info/RECORD +530 -0
  3. sage/__init__.py +4 -0
  4. sage/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  5. sage/__pycache__/__init__.cpython-311.pyc +0 -0
  6. sage/middleware/__init__.py +8 -52
  7. sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  8. sage/middleware/__pycache__/__init__.cpython-311.pyc +0 -0
  9. sage/middleware/__pycache__/_version.cpython-311.opt-2.pyc +0 -0
  10. sage/middleware/__pycache__/_version.cpython-311.pyc +0 -0
  11. sage/middleware/_version.py +4 -36
  12. sage/middleware/components/__pycache__/extensions_compat.cpython-311.opt-2.pyc +0 -0
  13. sage/middleware/components/__pycache__/extensions_compat.cpython-311.pyc +0 -0
  14. sage/middleware/components/cmake/pybind11_dependency.cmake +34 -0
  15. sage/middleware/components/cmake/sage_shared_dependencies.cmake +64 -0
  16. sage/middleware/components/extensions_compat.py +102 -0
  17. sage/middleware/components/neuromem/__init__.py +12 -51
  18. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  19. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.pyc +0 -0
  20. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.opt-2.pyc +0 -0
  21. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.pyc +0 -0
  22. sage/middleware/components/neuromem/memory_collection/__init__.py +8 -52
  23. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  24. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.pyc +0 -0
  25. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
  26. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
  27. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  28. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  29. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
  30. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
  31. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
  32. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
  33. sage/middleware/components/neuromem/memory_collection/base_collection.py +57 -26
  34. sage/middleware/components/neuromem/memory_collection/graph_collection.py +5 -4
  35. sage/middleware/components/neuromem/memory_collection/kv_collection.py +187 -159
  36. sage/middleware/components/neuromem/memory_collection/vdb_collection.py +699 -700
  37. sage/middleware/components/neuromem/memory_manager.py +144 -121
  38. sage/middleware/components/neuromem/micro_service/__init__.py +8 -52
  39. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  40. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  41. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.opt-2.pyc +0 -0
  42. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.pyc +0 -0
  43. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.opt-2.pyc +0 -0
  44. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.pyc +0 -0
  45. sage/middleware/components/neuromem/micro_service/neuromem_vdb.py +100 -53
  46. sage/middleware/components/neuromem/micro_service/neuromem_vdb_service.py +52 -32
  47. sage/middleware/components/neuromem/search_engine/__init__.py +8 -52
  48. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  49. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  50. sage/middleware/components/neuromem/search_engine/graph_index/__init__.py +8 -52
  51. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  52. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.pyc +0 -0
  53. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  54. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  55. sage/middleware/components/neuromem/search_engine/graph_index/base_graph_index.py +1 -0
  56. sage/middleware/components/neuromem/search_engine/hybrid_index/__init__.py +12 -0
  57. sage/middleware/components/neuromem/search_engine/hybrid_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  58. sage/middleware/components/neuromem/search_engine/hybrid_index/__pycache__/__init__.cpython-311.pyc +0 -0
  59. sage/middleware/components/neuromem/search_engine/kv_index/__init__.py +133 -54
  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/kv_index/base_kv_index.py +3 -2
  67. sage/middleware/components/neuromem/search_engine/kv_index/bm25s_index.py +34 -35
  68. sage/middleware/components/neuromem/search_engine/vdb_index/__init__.py +79 -53
  69. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  70. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.pyc +0 -0
  71. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  72. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  73. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  74. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.pyc +0 -0
  75. sage/middleware/components/neuromem/search_engine/vdb_index/base_vdb_index.py +8 -6
  76. sage/middleware/components/neuromem/search_engine/vdb_index/faiss_index.py +301 -151
  77. sage/middleware/components/neuromem/storage_engine/__init__.py +8 -52
  78. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  79. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  80. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.opt-2.pyc +0 -0
  81. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.pyc +0 -0
  82. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.opt-2.pyc +0 -0
  83. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.pyc +0 -0
  84. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.opt-2.pyc +0 -0
  85. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.pyc +0 -0
  86. sage/middleware/components/neuromem/storage_engine/kv_backend/__init__.py +8 -52
  87. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  88. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.pyc +0 -0
  89. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.opt-2.pyc +0 -0
  90. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.pyc +0 -0
  91. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.opt-2.pyc +0 -0
  92. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.pyc +0 -0
  93. sage/middleware/components/neuromem/storage_engine/kv_backend/base_kv_backend.py +5 -3
  94. sage/middleware/components/neuromem/storage_engine/kv_backend/dict_kv_backend.py +9 -5
  95. sage/middleware/components/neuromem/storage_engine/metadata_storage.py +22 -21
  96. sage/middleware/components/neuromem/storage_engine/text_storage.py +12 -7
  97. sage/middleware/components/neuromem/storage_engine/vector_storage.py +14 -9
  98. sage/middleware/components/neuromem/utils/__init__.py +8 -52
  99. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  100. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  101. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  102. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  103. sage/middleware/components/neuromem/utils/path_utils.py +2 -1
  104. sage/middleware/components/sage_db/__init__.py +8 -52
  105. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  106. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
  107. sage/middleware/components/sage_db/cmake/FindBLASLAPACK.cmake +125 -0
  108. sage/middleware/components/sage_db/cmake/gperftools.cmake +24 -0
  109. sage/middleware/components/sage_db/cmake/pybind11_dependency.cmake +27 -0
  110. sage/middleware/components/sage_db/examples/__pycache__/faiss_plugin_demo.cpython-311.opt-2.pyc +0 -0
  111. sage/middleware/components/sage_db/examples/__pycache__/faiss_plugin_demo.cpython-311.pyc +0 -0
  112. sage/middleware/components/sage_db/examples/__pycache__/quickstart.cpython-311.opt-2.pyc +0 -0
  113. sage/middleware/components/sage_db/examples/__pycache__/quickstart.cpython-311.pyc +0 -0
  114. sage/middleware/components/sage_db/examples/faiss_plugin_demo.py +134 -0
  115. sage/middleware/components/sage_db/examples/quickstart.py +160 -0
  116. sage/middleware/components/sage_db/python/__init__.py +8 -52
  117. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  118. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
  119. sage/middleware/components/sage_db/python/__pycache__/multimodal_sage_db.cpython-311.opt-2.pyc +0 -0
  120. sage/middleware/components/sage_db/python/__pycache__/multimodal_sage_db.cpython-311.pyc +0 -0
  121. sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  122. sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.pyc +0 -0
  123. sage/middleware/components/sage_db/python/_sage_db.cpython-311-x86_64-linux-gnu.so +0 -0
  124. sage/middleware/components/sage_db/python/micro_service/__init__.py +8 -0
  125. sage/middleware/components/sage_db/python/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  126. sage/middleware/components/sage_db/python/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  127. sage/middleware/components/sage_db/python/micro_service/__pycache__/sage_db_service.cpython-311.opt-2.pyc +0 -0
  128. sage/middleware/components/sage_db/python/micro_service/__pycache__/sage_db_service.cpython-311.pyc +0 -0
  129. sage/middleware/components/sage_db/python/micro_service/sage_db_service.py +84 -0
  130. sage/middleware/components/sage_db/python/multimodal_sage_db.py +398 -0
  131. sage/middleware/components/sage_db/python/sage_db.py +277 -37
  132. sage/middleware/components/sage_flow/__init__.py +6 -0
  133. sage/middleware/components/sage_flow/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  134. sage/middleware/components/sage_flow/__pycache__/__init__.cpython-311.pyc +0 -0
  135. sage/middleware/components/sage_flow/build/_deps/argparse-src/__pycache__/conanfile.cpython-311.opt-2.pyc +0 -0
  136. sage/middleware/components/sage_flow/build/_deps/argparse-src/__pycache__/conanfile.cpython-311.pyc +0 -0
  137. sage/middleware/components/sage_flow/build/_deps/argparse-src/conanfile.py +10 -0
  138. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/__pycache__/docopt.cpython-311.opt-2.pyc +0 -0
  139. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/__pycache__/docopt.cpython-311.pyc +0 -0
  140. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/__pycache__/manage.cpython-311.opt-2.pyc +0 -0
  141. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/__pycache__/manage.cpython-311.pyc +0 -0
  142. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/__pycache__/printable.cpython-311.opt-2.pyc +0 -0
  143. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/__pycache__/printable.cpython-311.pyc +0 -0
  144. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/docopt.py +581 -0
  145. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/manage.py +218 -0
  146. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/printable.py +201 -0
  147. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/python/mkdocstrings_handlers/cxx/__init__.py +317 -0
  148. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/python/mkdocstrings_handlers/cxx/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  149. sage/middleware/components/sage_flow/build/_deps/fmt-src/support/python/mkdocstrings_handlers/cxx/__pycache__/__init__.cpython-311.pyc +0 -0
  150. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/__pycache__/gmock_leak_test.cpython-311.opt-2.pyc +0 -0
  151. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/__pycache__/gmock_leak_test.cpython-311.pyc +0 -0
  152. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/__pycache__/gmock_output_test.cpython-311.opt-2.pyc +0 -0
  153. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/__pycache__/gmock_output_test.cpython-311.pyc +0 -0
  154. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/__pycache__/gmock_test_utils.cpython-311.opt-2.pyc +0 -0
  155. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/__pycache__/gmock_test_utils.cpython-311.pyc +0 -0
  156. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/gmock_leak_test.py +113 -0
  157. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/gmock_output_test.py +190 -0
  158. sage/middleware/components/sage_flow/build/_deps/googletest-src/googlemock/test/gmock_test_utils.py +91 -0
  159. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-break-on-failure-unittest.cpython-311.opt-2.pyc +0 -0
  160. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-break-on-failure-unittest.cpython-311.pyc +0 -0
  161. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-catch-exceptions-test.cpython-311.opt-2.pyc +0 -0
  162. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-catch-exceptions-test.cpython-311.pyc +0 -0
  163. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-color-test.cpython-311.opt-2.pyc +0 -0
  164. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-color-test.cpython-311.pyc +0 -0
  165. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-env-var-test.cpython-311.opt-2.pyc +0 -0
  166. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-env-var-test.cpython-311.pyc +0 -0
  167. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-failfast-unittest.cpython-311.opt-2.pyc +0 -0
  168. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-failfast-unittest.cpython-311.pyc +0 -0
  169. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-filter-unittest.cpython-311.opt-2.pyc +0 -0
  170. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-filter-unittest.cpython-311.pyc +0 -0
  171. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-global-environment-unittest.cpython-311.opt-2.pyc +0 -0
  172. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-global-environment-unittest.cpython-311.pyc +0 -0
  173. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-json-outfiles-test.cpython-311.opt-2.pyc +0 -0
  174. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-json-outfiles-test.cpython-311.pyc +0 -0
  175. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-json-output-unittest.cpython-311.opt-2.pyc +0 -0
  176. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-json-output-unittest.cpython-311.pyc +0 -0
  177. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-list-tests-unittest.cpython-311.opt-2.pyc +0 -0
  178. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-list-tests-unittest.cpython-311.pyc +0 -0
  179. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-output-test.cpython-311.opt-2.pyc +0 -0
  180. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-output-test.cpython-311.pyc +0 -0
  181. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-param-test-invalid-name1-test.cpython-311.opt-2.pyc +0 -0
  182. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-param-test-invalid-name1-test.cpython-311.pyc +0 -0
  183. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-param-test-invalid-name2-test.cpython-311.opt-2.pyc +0 -0
  184. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-param-test-invalid-name2-test.cpython-311.pyc +0 -0
  185. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-setuptestsuite-test.cpython-311.opt-2.pyc +0 -0
  186. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-setuptestsuite-test.cpython-311.pyc +0 -0
  187. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-shuffle-test.cpython-311.opt-2.pyc +0 -0
  188. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-shuffle-test.cpython-311.pyc +0 -0
  189. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-throw-on-failure-test.cpython-311.opt-2.pyc +0 -0
  190. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-throw-on-failure-test.cpython-311.pyc +0 -0
  191. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-uninitialized-test.cpython-311.opt-2.pyc +0 -0
  192. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/googletest-uninitialized-test.cpython-311.pyc +0 -0
  193. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_help_test.cpython-311.opt-2.pyc +0 -0
  194. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_help_test.cpython-311.pyc +0 -0
  195. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_json_test_utils.cpython-311.opt-2.pyc +0 -0
  196. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_json_test_utils.cpython-311.pyc +0 -0
  197. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_list_output_unittest.cpython-311.opt-2.pyc +0 -0
  198. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_list_output_unittest.cpython-311.pyc +0 -0
  199. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_skip_check_output_test.cpython-311.opt-2.pyc +0 -0
  200. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_skip_check_output_test.cpython-311.pyc +0 -0
  201. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_skip_environment_check_output_test.cpython-311.opt-2.pyc +0 -0
  202. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_skip_environment_check_output_test.cpython-311.pyc +0 -0
  203. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_test_utils.cpython-311.opt-2.pyc +0 -0
  204. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_test_utils.cpython-311.pyc +0 -0
  205. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_testbridge_test.cpython-311.opt-2.pyc +0 -0
  206. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_testbridge_test.cpython-311.pyc +0 -0
  207. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_xml_outfiles_test.cpython-311.opt-2.pyc +0 -0
  208. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_xml_outfiles_test.cpython-311.pyc +0 -0
  209. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_xml_output_unittest.cpython-311.opt-2.pyc +0 -0
  210. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_xml_output_unittest.cpython-311.pyc +0 -0
  211. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_xml_test_utils.cpython-311.opt-2.pyc +0 -0
  212. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/__pycache__/gtest_xml_test_utils.cpython-311.pyc +0 -0
  213. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-break-on-failure-unittest.py +195 -0
  214. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-catch-exceptions-test.py +315 -0
  215. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-color-test.py +130 -0
  216. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-env-var-test.py +120 -0
  217. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-failfast-unittest.py +461 -0
  218. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-filter-unittest.py +746 -0
  219. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-global-environment-unittest.py +141 -0
  220. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-json-outfiles-test.py +180 -0
  221. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-json-output-unittest.py +835 -0
  222. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-list-tests-unittest.py +225 -0
  223. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-output-test.py +385 -0
  224. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  225. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-param-test-invalid-name2-test.py +63 -0
  226. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-setuptestsuite-test.py +58 -0
  227. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-shuffle-test.py +378 -0
  228. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-throw-on-failure-test.py +166 -0
  229. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/googletest-uninitialized-test.py +70 -0
  230. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_help_test.py +183 -0
  231. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_json_test_utils.py +67 -0
  232. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_list_output_unittest.py +289 -0
  233. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_skip_check_output_test.py +60 -0
  234. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_skip_environment_check_output_test.py +55 -0
  235. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_test_utils.py +262 -0
  236. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_testbridge_test.py +63 -0
  237. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_xml_outfiles_test.py +147 -0
  238. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_xml_output_unittest.py +472 -0
  239. sage/middleware/components/sage_flow/build/_deps/googletest-src/googletest/test/gtest_xml_test_utils.py +242 -0
  240. sage/middleware/components/sage_flow/build/_deps/pybind11-src/__pycache__/noxfile.cpython-311.opt-2.pyc +0 -0
  241. sage/middleware/components/sage_flow/build/_deps/pybind11-src/__pycache__/noxfile.cpython-311.pyc +0 -0
  242. sage/middleware/components/sage_flow/build/_deps/pybind11-src/__pycache__/setup.cpython-311.opt-2.pyc +0 -0
  243. sage/middleware/components/sage_flow/build/_deps/pybind11-src/__pycache__/setup.cpython-311.pyc +0 -0
  244. sage/middleware/components/sage_flow/build/_deps/pybind11-src/docs/__pycache__/benchmark.cpython-311.opt-2.pyc +0 -0
  245. sage/middleware/components/sage_flow/build/_deps/pybind11-src/docs/__pycache__/benchmark.cpython-311.pyc +0 -0
  246. sage/middleware/components/sage_flow/build/_deps/pybind11-src/docs/__pycache__/conf.cpython-311.opt-2.pyc +0 -0
  247. sage/middleware/components/sage_flow/build/_deps/pybind11-src/docs/__pycache__/conf.cpython-311.pyc +0 -0
  248. sage/middleware/components/sage_flow/build/_deps/pybind11-src/docs/benchmark.py +89 -0
  249. sage/middleware/components/sage_flow/build/_deps/pybind11-src/docs/conf.py +369 -0
  250. sage/middleware/components/sage_flow/build/_deps/pybind11-src/noxfile.py +107 -0
  251. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__init__.py +19 -0
  252. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__main__.py +63 -0
  253. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  254. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/__init__.cpython-311.pyc +0 -0
  255. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/__main__.cpython-311.opt-2.pyc +0 -0
  256. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/__main__.cpython-311.pyc +0 -0
  257. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/_version.cpython-311.opt-2.pyc +0 -0
  258. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/_version.cpython-311.pyc +0 -0
  259. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/commands.cpython-311.opt-2.pyc +0 -0
  260. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/commands.cpython-311.pyc +0 -0
  261. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/setup_helpers.cpython-311.opt-2.pyc +0 -0
  262. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/__pycache__/setup_helpers.cpython-311.pyc +0 -0
  263. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/_version.py +12 -0
  264. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/commands.py +39 -0
  265. sage/middleware/components/sage_flow/build/_deps/pybind11-src/pybind11/setup_helpers.py +500 -0
  266. sage/middleware/components/sage_flow/build/_deps/pybind11-src/setup.py +149 -0
  267. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/conftest.cpython-311.opt-2.pyc +0 -0
  268. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/conftest.cpython-311.pyc +0 -0
  269. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/env.cpython-311.opt-2.pyc +0 -0
  270. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/env.cpython-311.pyc +0 -0
  271. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_async.cpython-311.opt-2.pyc +0 -0
  272. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_async.cpython-311.pyc +0 -0
  273. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_buffers.cpython-311.opt-2.pyc +0 -0
  274. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_buffers.cpython-311.pyc +0 -0
  275. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_builtin_casters.cpython-311.opt-2.pyc +0 -0
  276. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_builtin_casters.cpython-311.pyc +0 -0
  277. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_call_policies.cpython-311.opt-2.pyc +0 -0
  278. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_call_policies.cpython-311.pyc +0 -0
  279. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_callbacks.cpython-311.opt-2.pyc +0 -0
  280. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_callbacks.cpython-311.pyc +0 -0
  281. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_chrono.cpython-311.opt-2.pyc +0 -0
  282. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_chrono.cpython-311.pyc +0 -0
  283. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_class.cpython-311.opt-2.pyc +0 -0
  284. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_class.cpython-311.pyc +0 -0
  285. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_const_name.cpython-311.opt-2.pyc +0 -0
  286. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_const_name.cpython-311.pyc +0 -0
  287. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_constants_and_functions.cpython-311.opt-2.pyc +0 -0
  288. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_constants_and_functions.cpython-311.pyc +0 -0
  289. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_copy_move.cpython-311.opt-2.pyc +0 -0
  290. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_copy_move.cpython-311.pyc +0 -0
  291. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_custom_type_casters.cpython-311.opt-2.pyc +0 -0
  292. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_custom_type_casters.cpython-311.pyc +0 -0
  293. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_custom_type_setup.cpython-311.opt-2.pyc +0 -0
  294. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_custom_type_setup.cpython-311.pyc +0 -0
  295. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_docstring_options.cpython-311.opt-2.pyc +0 -0
  296. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_docstring_options.cpython-311.pyc +0 -0
  297. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eigen_matrix.cpython-311.opt-2.pyc +0 -0
  298. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eigen_matrix.cpython-311.pyc +0 -0
  299. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eigen_tensor.cpython-311.opt-2.pyc +0 -0
  300. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eigen_tensor.cpython-311.pyc +0 -0
  301. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_enum.cpython-311.opt-2.pyc +0 -0
  302. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_enum.cpython-311.pyc +0 -0
  303. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eval.cpython-311.opt-2.pyc +0 -0
  304. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eval.cpython-311.pyc +0 -0
  305. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eval_call.cpython-311.opt-2.pyc +0 -0
  306. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_eval_call.cpython-311.pyc +0 -0
  307. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_exceptions.cpython-311.opt-2.pyc +0 -0
  308. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_exceptions.cpython-311.pyc +0 -0
  309. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_factory_constructors.cpython-311.opt-2.pyc +0 -0
  310. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_factory_constructors.cpython-311.pyc +0 -0
  311. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_gil_scoped.cpython-311.opt-2.pyc +0 -0
  312. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_gil_scoped.cpython-311.pyc +0 -0
  313. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_iostream.cpython-311.opt-2.pyc +0 -0
  314. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_iostream.cpython-311.pyc +0 -0
  315. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_kwargs_and_defaults.cpython-311.opt-2.pyc +0 -0
  316. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_kwargs_and_defaults.cpython-311.pyc +0 -0
  317. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_local_bindings.cpython-311.opt-2.pyc +0 -0
  318. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_local_bindings.cpython-311.pyc +0 -0
  319. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_methods_and_attributes.cpython-311.opt-2.pyc +0 -0
  320. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_methods_and_attributes.cpython-311.pyc +0 -0
  321. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_modules.cpython-311.opt-2.pyc +0 -0
  322. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_modules.cpython-311.pyc +0 -0
  323. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_multiple_inheritance.cpython-311.opt-2.pyc +0 -0
  324. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_multiple_inheritance.cpython-311.pyc +0 -0
  325. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_numpy_array.cpython-311.opt-2.pyc +0 -0
  326. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_numpy_array.cpython-311.pyc +0 -0
  327. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_numpy_dtypes.cpython-311.opt-2.pyc +0 -0
  328. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_numpy_dtypes.cpython-311.pyc +0 -0
  329. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_numpy_vectorize.cpython-311.opt-2.pyc +0 -0
  330. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_numpy_vectorize.cpython-311.pyc +0 -0
  331. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_opaque_types.cpython-311.opt-2.pyc +0 -0
  332. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_opaque_types.cpython-311.pyc +0 -0
  333. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_operator_overloading.cpython-311.opt-2.pyc +0 -0
  334. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_operator_overloading.cpython-311.pyc +0 -0
  335. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_pickling.cpython-311.opt-2.pyc +0 -0
  336. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_pickling.cpython-311.pyc +0 -0
  337. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_python_multiple_inheritance.cpython-311.opt-2.pyc +0 -0
  338. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_python_multiple_inheritance.cpython-311.pyc +0 -0
  339. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_pytypes.cpython-311.opt-2.pyc +0 -0
  340. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_pytypes.cpython-311.pyc +0 -0
  341. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_sequences_and_iterators.cpython-311.opt-2.pyc +0 -0
  342. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_sequences_and_iterators.cpython-311.pyc +0 -0
  343. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_smart_ptr.cpython-311.opt-2.pyc +0 -0
  344. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_smart_ptr.cpython-311.pyc +0 -0
  345. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_stl.cpython-311.opt-2.pyc +0 -0
  346. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_stl.cpython-311.pyc +0 -0
  347. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_stl_binders.cpython-311.opt-2.pyc +0 -0
  348. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_stl_binders.cpython-311.pyc +0 -0
  349. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_tagbased_polymorphic.cpython-311.opt-2.pyc +0 -0
  350. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_tagbased_polymorphic.cpython-311.pyc +0 -0
  351. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_thread.cpython-311.opt-2.pyc +0 -0
  352. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_thread.cpython-311.pyc +0 -0
  353. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_type_caster_pyobject_ptr.cpython-311.opt-2.pyc +0 -0
  354. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_type_caster_pyobject_ptr.cpython-311.pyc +0 -0
  355. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_union.cpython-311.opt-2.pyc +0 -0
  356. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_union.cpython-311.pyc +0 -0
  357. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_unnamed_namespace_a.cpython-311.opt-2.pyc +0 -0
  358. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_unnamed_namespace_a.cpython-311.pyc +0 -0
  359. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_unnamed_namespace_b.cpython-311.opt-2.pyc +0 -0
  360. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_unnamed_namespace_b.cpython-311.pyc +0 -0
  361. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_vector_unique_ptr_member.cpython-311.opt-2.pyc +0 -0
  362. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_vector_unique_ptr_member.cpython-311.pyc +0 -0
  363. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_virtual_functions.cpython-311.opt-2.pyc +0 -0
  364. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/__pycache__/test_virtual_functions.cpython-311.pyc +0 -0
  365. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/conftest.py +224 -0
  366. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/env.py +31 -0
  367. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/extra_python_package/__pycache__/test_files.cpython-311.opt-2.pyc +0 -0
  368. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/extra_python_package/__pycache__/test_files.cpython-311.pyc +0 -0
  369. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/extra_python_package/test_files.py +296 -0
  370. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/extra_setuptools/__pycache__/test_setuphelper.cpython-311.opt-2.pyc +0 -0
  371. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/extra_setuptools/__pycache__/test_setuphelper.cpython-311.pyc +0 -0
  372. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/extra_setuptools/test_setuphelper.py +153 -0
  373. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_async.py +26 -0
  374. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_buffers.py +230 -0
  375. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_builtin_casters.py +530 -0
  376. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_call_policies.py +249 -0
  377. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_callbacks.py +227 -0
  378. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_chrono.py +207 -0
  379. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_class.py +503 -0
  380. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_cmake_build/__pycache__/test.cpython-311.opt-2.pyc +0 -0
  381. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_cmake_build/__pycache__/test.cpython-311.pyc +0 -0
  382. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_cmake_build/test.py +10 -0
  383. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_const_name.py +31 -0
  384. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_constants_and_functions.py +58 -0
  385. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_copy_move.py +140 -0
  386. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_custom_type_casters.py +124 -0
  387. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_custom_type_setup.py +50 -0
  388. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_docstring_options.py +66 -0
  389. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_eigen_matrix.py +816 -0
  390. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_eigen_tensor.py +290 -0
  391. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_embed/__pycache__/test_interpreter.cpython-311.opt-2.pyc +0 -0
  392. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_embed/__pycache__/test_interpreter.cpython-311.pyc +0 -0
  393. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_embed/__pycache__/test_trampoline.cpython-311.opt-2.pyc +0 -0
  394. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_embed/__pycache__/test_trampoline.cpython-311.pyc +0 -0
  395. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_embed/test_interpreter.py +16 -0
  396. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_embed/test_trampoline.py +18 -0
  397. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_enum.py +270 -0
  398. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_eval.py +52 -0
  399. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_eval_call.py +5 -0
  400. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_exceptions.py +434 -0
  401. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_factory_constructors.py +518 -0
  402. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_gil_scoped.py +244 -0
  403. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_iostream.py +293 -0
  404. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_kwargs_and_defaults.py +428 -0
  405. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_local_bindings.py +259 -0
  406. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_methods_and_attributes.py +539 -0
  407. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_modules.py +118 -0
  408. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_multiple_inheritance.py +495 -0
  409. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_numpy_array.py +672 -0
  410. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_numpy_dtypes.py +448 -0
  411. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_numpy_vectorize.py +268 -0
  412. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_opaque_types.py +60 -0
  413. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_operator_overloading.py +153 -0
  414. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_pickling.py +95 -0
  415. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_python_multiple_inheritance.py +36 -0
  416. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_pytypes.py +1043 -0
  417. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_sequences_and_iterators.py +267 -0
  418. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_smart_ptr.py +317 -0
  419. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_stl.py +383 -0
  420. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_stl_binders.py +395 -0
  421. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_tagbased_polymorphic.py +30 -0
  422. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_thread.py +44 -0
  423. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_type_caster_pyobject_ptr.py +122 -0
  424. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_union.py +10 -0
  425. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_unnamed_namespace_a.py +36 -0
  426. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_unnamed_namespace_b.py +7 -0
  427. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_vector_unique_ptr_member.py +16 -0
  428. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tests/test_virtual_functions.py +460 -0
  429. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/__pycache__/codespell_ignore_lines_from_errors.cpython-311.opt-2.pyc +0 -0
  430. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/__pycache__/codespell_ignore_lines_from_errors.cpython-311.pyc +0 -0
  431. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/__pycache__/libsize.cpython-311.opt-2.pyc +0 -0
  432. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/__pycache__/libsize.cpython-311.pyc +0 -0
  433. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/__pycache__/make_changelog.cpython-311.opt-2.pyc +0 -0
  434. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/__pycache__/make_changelog.cpython-311.pyc +0 -0
  435. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/codespell_ignore_lines_from_errors.py +40 -0
  436. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/libsize.py +38 -0
  437. sage/middleware/components/sage_flow/build/_deps/pybind11-src/tools/make_changelog.py +92 -0
  438. sage/middleware/components/sage_flow/build/_deps/spdlog-src/scripts/__pycache__/extract_version.cpython-311.opt-2.pyc +0 -0
  439. sage/middleware/components/sage_flow/build/_deps/spdlog-src/scripts/__pycache__/extract_version.cpython-311.pyc +0 -0
  440. sage/middleware/components/sage_flow/build/_deps/spdlog-src/scripts/extract_version.py +17 -0
  441. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/ci_single_header_check.cpython-311.opt-2.pyc +0 -0
  442. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/ci_single_header_check.cpython-311.pyc +0 -0
  443. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/generate_conformance_tests.cpython-311.opt-2.pyc +0 -0
  444. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/generate_conformance_tests.cpython-311.pyc +0 -0
  445. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/generate_single_header.cpython-311.opt-2.pyc +0 -0
  446. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/generate_single_header.cpython-311.pyc +0 -0
  447. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/generate_windows_test_targets.cpython-311.opt-2.pyc +0 -0
  448. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/generate_windows_test_targets.cpython-311.pyc +0 -0
  449. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/utils.cpython-311.opt-2.pyc +0 -0
  450. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/utils.cpython-311.pyc +0 -0
  451. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/version.cpython-311.opt-2.pyc +0 -0
  452. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/__pycache__/version.cpython-311.pyc +0 -0
  453. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/ci_single_header_check.py +31 -0
  454. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/generate_conformance_tests.py +635 -0
  455. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/generate_single_header.py +262 -0
  456. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/generate_windows_test_targets.py +181 -0
  457. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/utils.py +55 -0
  458. sage/middleware/components/sage_flow/build/_deps/tomlplusplus-src/tools/version.py +68 -0
  459. sage/middleware/components/sage_flow/cmake/enableTest.cmake +34 -0
  460. sage/middleware/components/sage_flow/cmake/gperftools.cmake +21 -0
  461. sage/middleware/components/sage_flow/cmake/macros.cmake +11 -0
  462. sage/middleware/components/sage_flow/cmake/pybind11_dependency.cmake +26 -0
  463. sage/middleware/components/sage_flow/data/__pycache__/generate_vectors.cpython-311.opt-2.pyc +0 -0
  464. sage/middleware/components/sage_flow/data/__pycache__/generate_vectors.cpython-311.pyc +0 -0
  465. sage/middleware/components/sage_flow/data/generate_vectors.py +34 -0
  466. sage/middleware/components/sage_flow/python/__init__.py +4 -0
  467. sage/middleware/components/sage_flow/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  468. sage/middleware/components/sage_flow/python/__pycache__/__init__.cpython-311.pyc +0 -0
  469. sage/middleware/components/sage_flow/python/__pycache__/sage_flow.cpython-311.opt-2.pyc +0 -0
  470. sage/middleware/components/sage_flow/python/__pycache__/sage_flow.cpython-311.pyc +0 -0
  471. sage/middleware/components/sage_flow/python/_sage_flow.cpython-311-x86_64-linux-gnu.so +0 -0
  472. sage/middleware/components/sage_flow/python/micro_service/__init__.py +4 -0
  473. sage/middleware/components/sage_flow/python/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  474. sage/middleware/components/sage_flow/python/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  475. sage/middleware/components/sage_flow/python/micro_service/__pycache__/sage_flow_service.cpython-311.opt-2.pyc +0 -0
  476. sage/middleware/components/sage_flow/python/micro_service/__pycache__/sage_flow_service.cpython-311.pyc +0 -0
  477. sage/middleware/components/sage_flow/python/micro_service/sage_flow_service.py +91 -0
  478. sage/middleware/components/sage_flow/python/sage_flow.py +118 -0
  479. sage/middleware/utils/__init__.py +8 -52
  480. sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  481. sage/middleware/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  482. sage/middleware/utils/embedding/__init__.py +8 -52
  483. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  484. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc +0 -0
  485. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc +0 -0
  486. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc +0 -0
  487. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc +0 -0
  488. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc +0 -0
  489. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc +0 -0
  490. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc +0 -0
  491. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc +0 -0
  492. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc +0 -0
  493. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc +0 -0
  494. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc +0 -0
  495. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc +0 -0
  496. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc +0 -0
  497. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc +0 -0
  498. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc +0 -0
  499. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc +0 -0
  500. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc +0 -0
  501. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc +0 -0
  502. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc +0 -0
  503. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc +0 -0
  504. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc +0 -0
  505. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc +0 -0
  506. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc +0 -0
  507. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc +0 -0
  508. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc +0 -0
  509. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc +0 -0
  510. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc +0 -0
  511. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc +0 -0
  512. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc +0 -0
  513. sage/middleware/utils/embedding/_cohere.py +7 -15
  514. sage/middleware/utils/embedding/bedrock.py +32 -35
  515. sage/middleware/utils/embedding/embedding_api.py +6 -2
  516. sage/middleware/utils/embedding/embedding_model.py +58 -29
  517. sage/middleware/utils/embedding/hf.py +8 -11
  518. sage/middleware/utils/embedding/instructor.py +1 -2
  519. sage/middleware/utils/embedding/jina.py +6 -15
  520. sage/middleware/utils/embedding/lollms.py +9 -7
  521. sage/middleware/utils/embedding/mockembedder.py +12 -8
  522. sage/middleware/utils/embedding/nvidia_openai.py +6 -13
  523. sage/middleware/utils/embedding/ollama.py +7 -22
  524. sage/middleware/utils/embedding/openai.py +10 -22
  525. sage/middleware/utils/embedding/siliconcloud.py +10 -28
  526. sage/middleware/utils/embedding/zhipu.py +6 -15
  527. isage_middleware-0.1.3.1.dist-info/METADATA +0 -115
  528. isage_middleware-0.1.3.1.dist-info/RECORD +0 -288
  529. sage/middleware/api/__init__.py +0 -56
  530. sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  531. sage/middleware/api/__pycache__/__init__.cpython-311.pyc +0 -0
  532. sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc +0 -0
  533. sage/middleware/api/__pycache__/graph_api.cpython-311.pyc +0 -0
  534. sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc +0 -0
  535. sage/middleware/api/__pycache__/kv_api.cpython-311.pyc +0 -0
  536. sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc +0 -0
  537. sage/middleware/api/__pycache__/memory_api.cpython-311.pyc +0 -0
  538. sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc +0 -0
  539. sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc +0 -0
  540. sage/middleware/api/graph_api.py +0 -74
  541. sage/middleware/api/kv_api.py +0 -45
  542. sage/middleware/api/memory_api.py +0 -64
  543. sage/middleware/api/vdb_api.py +0 -60
  544. sage/middleware/components/enterprise/__init__.py +0 -56
  545. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  546. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
  547. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  548. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.pyc +0 -0
  549. sage/middleware/components/neuromem/memory_service.py +0 -324
  550. sage/middleware/components/neuromem/search_engine/hybird_index/__init__.py +0 -56
  551. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  552. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.pyc +0 -0
  553. sage/middleware/components/neuromem/tests/__init__.py +0 -56
  554. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  555. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.pyc +0 -0
  556. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.opt-2.pyc +0 -0
  557. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.pyc +0 -0
  558. sage/middleware/components/neuromem/tests/core_test/__init__.py +0 -56
  559. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  560. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.pyc +0 -0
  561. sage/middleware/components/neuromem/tests/core_test/collection_test/__init__.py +0 -56
  562. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  563. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.pyc +0 -0
  564. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.opt-2.pyc +0 -0
  565. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.pyc +0 -0
  566. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.opt-2.pyc +0 -0
  567. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.pyc +0 -0
  568. sage/middleware/components/neuromem/tests/core_test/collection_test/kv_collection_test.py +0 -60
  569. sage/middleware/components/neuromem/tests/core_test/collection_test/vdb_collection_test.py +0 -88
  570. sage/middleware/components/neuromem/tests/core_test/manager_test.py +0 -154
  571. sage/middleware/components/neuromem/tests/test_memory_service.py +0 -293
  572. sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  573. sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.pyc +0 -0
  574. sage/middleware/components/sage_db/sage_db.py +0 -187
  575. sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc +0 -0
  576. sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.pyc +0 -0
  577. sage/middleware/components/sage_db/tests/test_python.py +0 -144
  578. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc +0 -0
  579. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc +0 -0
  580. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc +0 -0
  581. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc +0 -0
  582. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc +0 -0
  583. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc +0 -0
  584. sage/middleware/examples/api_usage_tutorial.py +0 -339
  585. sage/middleware/examples/dag_microservices_demo.py +0 -219
  586. sage/middleware/examples/microservices_integration_demo.py +0 -370
  587. sage/middleware/examples/microservices_registration_demo.py +0 -140
  588. sage/middleware/services/__init__.py +0 -56
  589. sage/middleware/services/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  590. sage/middleware/services/__pycache__/__init__.cpython-311.pyc +0 -0
  591. sage/middleware/services/graph/__init__.py +0 -56
  592. sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  593. sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc +0 -0
  594. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc +0 -0
  595. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc +0 -0
  596. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc +0 -0
  597. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc +0 -0
  598. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc +0 -0
  599. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc +0 -0
  600. sage/middleware/services/graph/examples/graph_demo.py +0 -178
  601. sage/middleware/services/graph/graph_index.py +0 -194
  602. sage/middleware/services/graph/graph_service.py +0 -609
  603. sage/middleware/services/graph/search_engine/__init__.py +0 -56
  604. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  605. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  606. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  607. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  608. sage/middleware/services/graph/search_engine/base_graph_index.py +0 -0
  609. sage/middleware/services/kv/__init__.py +0 -56
  610. sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  611. sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc +0 -0
  612. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc +0 -0
  613. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc +0 -0
  614. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.opt-2.pyc +0 -0
  615. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.pyc +0 -0
  616. sage/middleware/services/kv/examples/kv_demo.py +0 -213
  617. sage/middleware/services/kv/kv_service.py +0 -306
  618. sage/middleware/services/kv/search_engine/__init__.py +0 -56
  619. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  620. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  621. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  622. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  623. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  624. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  625. sage/middleware/services/kv/search_engine/base_kv_index.py +0 -75
  626. sage/middleware/services/kv/search_engine/bm25s_index.py +0 -238
  627. sage/middleware/services/memory/__init__.py +0 -56
  628. sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  629. sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc +0 -0
  630. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  631. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc +0 -0
  632. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.opt-2.pyc +0 -0
  633. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.pyc +0 -0
  634. sage/middleware/services/memory/examples/dag_microservices_demo.py +0 -219
  635. sage/middleware/services/memory/examples/memory_demo.py +0 -490
  636. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  637. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  638. sage/middleware/services/memory/memory_collection/graph_collection.py +0 -0
  639. sage/middleware/services/memory/memory_service.py +0 -477
  640. sage/middleware/services/memory/utils/__init__.py +0 -56
  641. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  642. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  643. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  644. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  645. sage/middleware/services/memory/utils/path_utils.py +0 -0
  646. sage/middleware/services/vdb/__init__.py +0 -56
  647. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  648. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc +0 -0
  649. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc +0 -0
  650. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc +0 -0
  651. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.opt-2.pyc +0 -0
  652. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.pyc +0 -0
  653. sage/middleware/services/vdb/examples/vdb_demo.py +0 -447
  654. sage/middleware/services/vdb/search_engine/__init__.py +0 -56
  655. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  656. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  657. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  658. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  659. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  660. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc +0 -0
  661. sage/middleware/services/vdb/search_engine/base_vdb_index.py +0 -58
  662. sage/middleware/services/vdb/search_engine/faiss_index.py +0 -461
  663. sage/middleware/services/vdb/vdb_service.py +0 -436
  664. {isage_middleware-0.1.3.1.dist-info → isage_middleware-0.1.5.1.dist-info}/WHEEL +0 -0
  665. {isage_middleware-0.1.3.1.dist-info → isage_middleware-0.1.5.1.dist-info}/top_level.txt +0 -0
  666. /sage/middleware/{examples/microservices_demo.py → components/sage_flow/build/_deps/pybind11-src/pybind11/py.typed} +0 -0
@@ -0,0 +1,125 @@
1
+ # FindBLASLAPACK.cmake
2
+ # 增强的 BLAS/LAPACK 查找模块,支持多种环境
3
+ # 适用于 Ubuntu, CentOS, macOS, Conda 等环境
4
+
5
+ # 设置查找路径
6
+ list(APPEND CMAKE_PREFIX_PATH
7
+ ${CMAKE_INSTALL_PREFIX}
8
+ $ENV{CONDA_PREFIX}
9
+ /usr/local
10
+ /usr
11
+ /opt/local
12
+ /opt/homebrew
13
+ )
14
+
15
+ # 设置库文件搜索路径
16
+ set(BLAS_LAPACK_SEARCH_PATHS
17
+ # Conda 环境
18
+ $ENV{CONDA_PREFIX}/lib
19
+ $ENV{CONDA_PREFIX}/lib64
20
+
21
+ # 系统标准路径
22
+ /usr/lib
23
+ /usr/lib64
24
+ /usr/lib/x86_64-linux-gnu
25
+ /usr/lib/i386-linux-gnu
26
+ /usr/lib/aarch64-linux-gnu
27
+ /usr/lib/arm-linux-gnueabihf
28
+
29
+ # macOS 路径
30
+ /usr/local/lib
31
+ /opt/local/lib
32
+ /opt/homebrew/lib
33
+ /System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current
34
+
35
+ # 其他可能路径
36
+ /opt/intel/mkl/lib/intel64
37
+ /opt/atlas/lib
38
+ )
39
+
40
+ # 尝试不同的 BLAS 实现
41
+ set(BLAS_VENDOR_OPTIONS "OpenBLAS" "ATLAS" "Intel10_64lp" "Generic")
42
+
43
+ foreach(VENDOR ${BLAS_VENDOR_OPTIONS})
44
+ set(BLA_VENDOR ${VENDOR})
45
+ find_package(BLAS QUIET)
46
+ if(BLAS_FOUND)
47
+ message(STATUS "Found BLAS implementation: ${VENDOR}")
48
+ break()
49
+ endif()
50
+ endforeach()
51
+
52
+ # 如果标准查找失败,手动搜索
53
+ if(NOT BLAS_FOUND)
54
+ message(STATUS "Standard BLAS search failed, trying manual search...")
55
+
56
+ # 手动查找 OpenBLAS
57
+ find_library(OPENBLAS_LIB
58
+ NAMES openblas libopenblas
59
+ PATHS ${BLAS_LAPACK_SEARCH_PATHS}
60
+ NO_DEFAULT_PATH
61
+ )
62
+
63
+ if(OPENBLAS_LIB)
64
+ set(BLAS_LIBRARIES ${OPENBLAS_LIB})
65
+ set(BLAS_FOUND TRUE)
66
+ message(STATUS "Found OpenBLAS manually: ${OPENBLAS_LIB}")
67
+ else()
68
+ # 尝试查找系统 BLAS
69
+ find_library(BLAS_LIB
70
+ NAMES blas libblas cblas libcblas
71
+ PATHS ${BLAS_LAPACK_SEARCH_PATHS}
72
+ NO_DEFAULT_PATH
73
+ )
74
+
75
+ if(BLAS_LIB)
76
+ set(BLAS_LIBRARIES ${BLAS_LIB})
77
+ set(BLAS_FOUND TRUE)
78
+ message(STATUS "Found system BLAS manually: ${BLAS_LIB}")
79
+ endif()
80
+ endif()
81
+ endif()
82
+
83
+ # 查找 LAPACK
84
+ find_package(LAPACK QUIET)
85
+
86
+ if(NOT LAPACK_FOUND)
87
+ message(STATUS "Standard LAPACK search failed, trying manual search...")
88
+
89
+ # 手动查找 LAPACK
90
+ find_library(LAPACK_LIB
91
+ NAMES lapack liblapack
92
+ PATHS ${BLAS_LAPACK_SEARCH_PATHS}
93
+ NO_DEFAULT_PATH
94
+ )
95
+
96
+ if(LAPACK_LIB)
97
+ set(LAPACK_LIBRARIES ${LAPACK_LIB})
98
+ set(LAPACK_FOUND TRUE)
99
+ message(STATUS "Found LAPACK manually: ${LAPACK_LIB}")
100
+ endif()
101
+ endif()
102
+
103
+ # 结果报告
104
+ if(BLAS_FOUND AND LAPACK_FOUND)
105
+ message(STATUS "✅ BLAS and LAPACK found successfully")
106
+ message(STATUS " BLAS libraries: ${BLAS_LIBRARIES}")
107
+ message(STATUS " LAPACK libraries: ${LAPACK_LIBRARIES}")
108
+ set(HAVE_BLAS_LAPACK TRUE CACHE BOOL "BLAS and LAPACK available")
109
+ else()
110
+ message(WARNING "❌ BLAS or LAPACK not found")
111
+ if(NOT BLAS_FOUND)
112
+ message(WARNING " BLAS not found")
113
+ endif()
114
+ if(NOT LAPACK_FOUND)
115
+ message(WARNING " LAPACK not found")
116
+ endif()
117
+ message(STATUS "")
118
+ message(STATUS "🔧 To install BLAS/LAPACK:")
119
+ message(STATUS " Ubuntu/Debian: sudo apt-get install libopenblas-dev liblapack-dev")
120
+ message(STATUS " CentOS/RHEL: sudo yum install openblas-devel lapack-devel")
121
+ message(STATUS " macOS: brew install openblas lapack")
122
+ message(STATUS " Conda: conda install -c conda-forge openblas liblapack")
123
+ message(STATUS "")
124
+ set(HAVE_BLAS_LAPACK FALSE CACHE BOOL "BLAS and LAPACK not available")
125
+ endif()
@@ -0,0 +1,24 @@
1
+ # Resolve gperftools libraries when building sage_db stand-alone.
2
+ # This script assumes the boolean option ENABLE_GPERFTOOLS controls whether we attempt lookup.
3
+
4
+ if(NOT ENABLE_GPERFTOOLS)
5
+ message(STATUS "gperftools support disabled for sage_db")
6
+ set(SAGE_GPERFTOOLS_LIBS "")
7
+ return()
8
+ endif()
9
+
10
+ find_library(SAGE_GPERFTOOLS_PROFILER_LIB profiler)
11
+ find_library(SAGE_GPERFTOOLS_TCMALLOC_LIB tcmalloc)
12
+
13
+ if(SAGE_GPERFTOOLS_PROFILER_LIB AND SAGE_GPERFTOOLS_TCMALLOC_LIB)
14
+ set(SAGE_GPERFTOOLS_LIBS ${SAGE_GPERFTOOLS_PROFILER_LIB} ${SAGE_GPERFTOOLS_TCMALLOC_LIB})
15
+ message(STATUS "gperftools found for sage_db: ${SAGE_GPERFTOOLS_LIBS}")
16
+ else()
17
+ if(NOT SAGE_GPERFTOOLS_PROFILER_LIB)
18
+ message(WARNING "Requested gperftools but libprofiler not found; disabling ENABLE_GPERFTOOLS")
19
+ elseif(NOT SAGE_GPERFTOOLS_TCMALLOC_LIB)
20
+ message(WARNING "Requested gperftools but libtcmalloc not found; disabling ENABLE_GPERFTOOLS")
21
+ endif()
22
+ set(SAGE_GPERFTOOLS_LIBS "")
23
+ set(ENABLE_GPERFTOOLS OFF CACHE BOOL "Enable gperftools profiling support" FORCE)
24
+ endif()
@@ -0,0 +1,27 @@
1
+ # Standalone pybind11 dependency resolver for sage_db.
2
+ # When the build is orchestrated by the Python superbuild, a shared dependency
3
+ # file can be provided via SAGE_COMMON_DEPS_FILE. Otherwise this fallback keeps
4
+ # the project self-contained.
5
+
6
+ if(NOT TARGET pybind11::module)
7
+ find_package(pybind11 CONFIG QUIET)
8
+ if(pybind11_FOUND)
9
+ message(STATUS "Using system pybind11 ${pybind11_VERSION} from ${pybind11_CONFIG}")
10
+ else()
11
+ include(FetchContent)
12
+ if(NOT DEFINED pybind11_POPULATED)
13
+ set(_sage_db_pybind11_tag "v2.13.0" CACHE STRING "Pinned pybind11 version for sage_db")
14
+ FetchContent_Declare(
15
+ pybind11
16
+ GIT_REPOSITORY https://github.com/pybind/pybind11.git
17
+ GIT_TAG ${_sage_db_pybind11_tag}
18
+ )
19
+ endif()
20
+ FetchContent_MakeAvailable(pybind11)
21
+ message(STATUS "Fetched pybind11 ${_sage_db_pybind11_tag} for sage_db")
22
+ endif()
23
+ endif()
24
+
25
+ if(NOT COMMAND pybind11_add_module)
26
+ message(FATAL_ERROR "pybind11_add_module is unavailable even after resolving pybind11 dependency")
27
+ endif()
@@ -0,0 +1,134 @@
1
+ #!/usr/bin/env python3
2
+ """Showcase for the FAISS ANNS plugin with graceful fallback when unavailable."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import sys
7
+ from pathlib import Path
8
+ from typing import Dict, List, Tuple
9
+
10
+ import numpy as np
11
+
12
+ REPO_ROOT = Path(__file__).resolve().parents[1]
13
+ PACKAGES_ROOT = REPO_ROOT / "packages"
14
+ if str(PACKAGES_ROOT) not in sys.path:
15
+ sys.path.insert(0, str(PACKAGES_ROOT))
16
+
17
+ try:
18
+ import _sage_db
19
+ except ImportError as exc: # pragma: no cover - documented failure mode
20
+ raise SystemExit(
21
+ "❌ Unable to import _sage_db. Build the native extension first:\n"
22
+ " cd packages/sage-middleware/src/sage/middleware/components/sage_db && ./build.sh"
23
+ ) from exc
24
+
25
+
26
+ def build_faiss_config(dimension: int = 8) -> _sage_db.DatabaseConfig:
27
+ cfg = _sage_db.DatabaseConfig(dimension)
28
+ cfg.metric = _sage_db.DistanceMetric.COSINE
29
+ cfg.index_type = _sage_db.IndexType.AUTO
30
+ cfg.anns_algorithm = "FAISS"
31
+ cfg.anns_build_params = {
32
+ "index_type": "ivf_flat",
33
+ "metric": "cosine",
34
+ "nlist": "16",
35
+ "auto_threshold_ivf": "200",
36
+ }
37
+ cfg.anns_query_params = {
38
+ "nprobe": "4",
39
+ "efSearch": "64",
40
+ }
41
+ return cfg
42
+
43
+
44
+ def build_fallback_config(dimension: int = 8) -> _sage_db.DatabaseConfig:
45
+ cfg = _sage_db.DatabaseConfig(dimension)
46
+ cfg.metric = _sage_db.DistanceMetric.COSINE
47
+ cfg.index_type = _sage_db.IndexType.AUTO
48
+ cfg.anns_algorithm = "brute_force"
49
+ cfg.anns_build_params = {"metric": "cosine"}
50
+ cfg.anns_query_params = {"nprobe": "1"}
51
+ return cfg
52
+
53
+
54
+ def generate_vectors(
55
+ dim: int, count: int = 64
56
+ ) -> Tuple[np.ndarray, List[Dict[str, str]]]:
57
+ rng = np.random.default_rng(seed=13)
58
+ raw = rng.normal(size=(count, dim)).astype("float32")
59
+ # Normalise to unit vectors for cosine distance
60
+ norms = np.linalg.norm(raw, axis=1, keepdims=True) + 1e-12
61
+ vectors = raw / norms
62
+ metadata: List[Dict[str, str]] = []
63
+ for idx in range(count):
64
+ metadata.append(
65
+ {
66
+ "id": f"vec-{idx}",
67
+ "bucket": str(idx // 8),
68
+ "parity": "even" if idx % 2 == 0 else "odd",
69
+ }
70
+ )
71
+ return vectors, metadata
72
+
73
+
74
+ def ingest_numpy_batch(
75
+ db: _sage_db.SageDB, vectors: np.ndarray, metadata: List[Dict[str, str]]
76
+ ) -> None:
77
+ print(f"➕ ingesting {len(vectors)} vectors via add_batch (numpy)")
78
+ _sage_db.add_numpy(db, vectors, metadata)
79
+ print(" stored vectors:", db.size())
80
+
81
+
82
+ def run_demo(db: _sage_db.SageDB, query: np.ndarray) -> None:
83
+ params = _sage_db.SearchParams(5)
84
+ params.include_metadata = True
85
+ params.nprobe = 4
86
+
87
+ print("\n🔍 Top-5 cosine neighbours for query vector")
88
+ results = _sage_db.search_numpy(db, query, params)
89
+ for rank, res in enumerate(results, start=1):
90
+ print(f" {rank}. id={res.id:>3} score={res.score:.4f} metadata={res.metadata}")
91
+
92
+ engine = db.query_engine()
93
+ stats = engine.get_last_search_stats()
94
+ print(
95
+ f" stats: candidates={stats.total_candidates} filter={stats.filtered_candidates} "
96
+ f"time={stats.total_time_ms:.3f}ms"
97
+ )
98
+
99
+
100
+ def main() -> None:
101
+ vectors, metadata = generate_vectors(dim=8)
102
+ query = vectors[0] * 0.95 + vectors[1] * 0.05
103
+
104
+ print("=== SageDB FAISS plugin demo ===")
105
+
106
+ cfg = build_faiss_config(dimension=vectors.shape[1])
107
+ try:
108
+ db = _sage_db.SageDB(cfg)
109
+ ingest_numpy_batch(db, vectors, metadata)
110
+ db.build_index()
111
+ print("✅ FAISS index built successfully")
112
+ except (_sage_db.SageDBException, RuntimeError) as exc:
113
+ print("⚠️ FAISS backend unavailable, falling back to brute_force:\n ", exc)
114
+ cfg = build_fallback_config(dimension=vectors.shape[1])
115
+ db = _sage_db.SageDB(cfg)
116
+ ingest_numpy_batch(db, vectors, metadata)
117
+ db.build_index()
118
+ print("✅ fallback brute_force index built")
119
+
120
+ run_demo(db, query)
121
+
122
+ print("\nℹ️ resolved config:")
123
+ print(
124
+ {
125
+ "algorithm": db.config().anns_algorithm,
126
+ "metric": db.config().metric.name,
127
+ "anns_build_params": dict(db.config().anns_build_params),
128
+ "anns_query_params": dict(db.config().anns_query_params),
129
+ }
130
+ )
131
+
132
+
133
+ if __name__ == "__main__":
134
+ main()
@@ -0,0 +1,160 @@
1
+ #!/usr/bin/env python3
2
+ """Minimal SageDB quickstart demo for the pluggable ANNS stack."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import json
7
+ import math
8
+ import random
9
+ import sys
10
+ from pathlib import Path
11
+ from tempfile import TemporaryDirectory
12
+ from typing import Dict, List
13
+
14
+ import numpy as np
15
+
16
+ # Ensure we can import the locally built extension/module without installation.
17
+ REPO_ROOT = Path(__file__).resolve().parents[1]
18
+ PACKAGES_ROOT = REPO_ROOT / "packages"
19
+ if str(PACKAGES_ROOT) not in sys.path:
20
+ sys.path.insert(0, str(PACKAGES_ROOT))
21
+
22
+ try:
23
+ import _sage_db
24
+ except ImportError as exc: # pragma: no cover - the example should exit cleanly
25
+ raise SystemExit(
26
+ "❌ Unable to import _sage_db. Please build the native extension first:\n"
27
+ " cd packages/sage-middleware/src/sage/middleware/components/sage_db && ./build.sh"
28
+ ) from exc
29
+
30
+
31
+ def build_config(dimension: int = 4) -> _sage_db.DatabaseConfig:
32
+ """Create a DatabaseConfig wired to the default brute-force plugin."""
33
+ cfg = _sage_db.DatabaseConfig(dimension)
34
+ cfg.metric = _sage_db.DistanceMetric.L2
35
+ cfg.index_type = _sage_db.IndexType.AUTO # delegate selection to the plugin
36
+ cfg.anns_algorithm = "brute_force"
37
+ cfg.anns_build_params = {"metric": "l2"}
38
+ cfg.anns_query_params = {"nprobe": "1"}
39
+ return cfg
40
+
41
+
42
+ def make_demo_vectors() -> List[List[float]]:
43
+ """Create a tiny set of 4D vectors arranged on a circle for easy inspection."""
44
+ base_angles = [0.0, math.pi / 4, math.pi / 2, 3 * math.pi / 4, math.pi]
45
+ vectors: List[List[float]] = []
46
+ for idx, angle in enumerate(base_angles):
47
+ vectors.append(
48
+ [
49
+ math.cos(angle),
50
+ math.sin(angle),
51
+ 0.25 * (-1) ** idx,
52
+ 0.1 * idx,
53
+ ]
54
+ )
55
+ return vectors
56
+
57
+
58
+ def add_vectors(db: _sage_db.SageDB, vectors: List[List[float]]) -> List[int]:
59
+ """Insert vectors with metadata and return their ids."""
60
+ ids: List[int] = []
61
+ rng = random.Random(42)
62
+ for i, vec in enumerate(vectors, start=1):
63
+ metadata: Dict[str, str] = {
64
+ "label": f"demo-{i}",
65
+ "quadrant": str((i - 1) % 4 + 1),
66
+ "color": rng.choice(["red", "green", "blue", "yellow"]),
67
+ }
68
+ vec_id = db.add(vec, metadata)
69
+ ids.append(vec_id)
70
+ print(f"➕ inserted vector #{i} -> id={vec_id}, metadata={metadata}")
71
+ return ids
72
+
73
+
74
+ def run_search(db: _sage_db.SageDB, query: List[float]) -> None:
75
+ params = _sage_db.SearchParams(k=3)
76
+ params.include_metadata = True
77
+ params.nprobe = 1
78
+
79
+ print("\n🔎 running 3-NN search for:", query)
80
+ results = db.search(query, params)
81
+ for rank, result in enumerate(results, start=1):
82
+ print(
83
+ f" {rank}. id={result.id:>3} score={result.score:.4f} metadata={result.metadata}"
84
+ )
85
+
86
+
87
+ def demonstrate_updates(db: _sage_db.SageDB, target_id: int) -> None:
88
+ print(
89
+ f"\n🛠️ updating vector id={target_id} to move it closer to the query direction"
90
+ )
91
+ new_vector = [0.8, 0.6, 0.0, 0.0]
92
+ db.update(target_id, new_vector, {"label": "demo-updated", "quadrant": "1"})
93
+ print(" metadata now:", db.get_metadata(target_id))
94
+
95
+
96
+ def demonstrate_persistence(db: _sage_db.SageDB, query: List[float]) -> None:
97
+ print("\n💾 saving database to a temporary location and loading it back")
98
+ with TemporaryDirectory() as tmp:
99
+ db_path = Path(tmp) / "demo_db"
100
+ db.save(str(db_path))
101
+ print(f" saved artefacts to {db_path}")
102
+
103
+ # Restore using a fresh instance with the same configuration
104
+ cfg = _sage_db.DatabaseConfig(db.dimension())
105
+ cfg.metric = db.config().metric
106
+ cfg.index_type = db.config().index_type
107
+ cfg.anns_algorithm = db.config().anns_algorithm
108
+ cfg.anns_build_params = dict(db.config().anns_build_params)
109
+ cfg.anns_query_params = dict(db.config().anns_query_params)
110
+
111
+ reloaded = _sage_db.SageDB(cfg)
112
+ reloaded.load(str(db_path))
113
+ print(" reloaded DB size:", reloaded.size())
114
+ run_search(reloaded, query)
115
+
116
+
117
+ def main() -> None:
118
+ print("=== SageDB Quickstart ===")
119
+ cfg = build_config()
120
+ db = _sage_db.SageDB(cfg)
121
+
122
+ vectors = make_demo_vectors()
123
+ ids = add_vectors(db, vectors)
124
+
125
+ db.build_index()
126
+ print("📦 total vectors:", db.size())
127
+
128
+ query = [0.9, 0.3, 0.0, 0.0]
129
+ run_search(db, query)
130
+
131
+ demonstrate_updates(db, ids[0])
132
+ run_search(db, query)
133
+
134
+ print("\n🗑️ removing the furthest vector and rebuilding the index")
135
+ db.remove(ids[-1])
136
+ db.build_index()
137
+ print(" size after removal:", db.size())
138
+ run_search(db, query)
139
+
140
+ demonstrate_persistence(db, query)
141
+
142
+ print("\n📄 current configuration:")
143
+ print(
144
+ json.dumps(
145
+ {
146
+ "dimension": db.dimension(),
147
+ "metric": db.config().metric.name,
148
+ "anns_algorithm": db.config().anns_algorithm,
149
+ "anns_build_params": dict(db.config().anns_build_params),
150
+ "anns_query_params": dict(db.config().anns_query_params),
151
+ },
152
+ indent=2,
153
+ ensure_ascii=False,
154
+ )
155
+ )
156
+
157
+
158
+ if __name__ == "__main__":
159
+ np.random.seed(0)
160
+ main()
@@ -2,55 +2,11 @@
2
2
  SAGE - Streaming-Augmented Generative Execution
3
3
  """
4
4
 
5
- # 动态版本加载
6
- def _load_version():
7
- """从 sage-common 包加载版本信息"""
8
- try:
9
- # 优先从 sage-common 包加载版本
10
- from sage.common._version import __version__
11
- return {
12
- 'version': __version__,
13
- 'author': 'SAGE Team',
14
- 'email': 'shuhao_zhang@hust.edu.cn'
15
- }
16
- except ImportError:
17
- # 如果 sage-common 不可用,从项目根目录加载(开发环境)
18
- try:
19
- from pathlib import Path
20
- current_file = Path(__file__).resolve()
21
- # 根据当前文件位置计算到项目根目录的层数
22
- parts = current_file.parts
23
- sage_index = -1
24
- for i, part in enumerate(parts):
25
- if part == 'SAGE':
26
- sage_index = i
27
- break
28
-
29
- if sage_index >= 0:
30
- root_dir = Path(*parts[:sage_index+1])
31
- version_file = root_dir / "_version.py"
32
-
33
- if version_file.exists():
34
- version_globals = {}
35
- with open(version_file, 'r', encoding='utf-8') as f:
36
- exec(f.read(), version_globals)
37
- return {
38
- 'version': version_globals.get('__version__', '0.1.3'),
39
- 'author': version_globals.get('__author__', 'SAGE Team'),
40
- 'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
41
- }
42
- except Exception:
43
- pass
44
-
45
- # 最后的默认值
46
- return {
47
- 'version': '0.1.3',
48
- 'author': 'SAGE Team',
49
- 'email': 'shuhao_zhang@hust.edu.cn'
50
- }
51
-
52
- # 加载信息
53
- _info = _load_version()
54
- __version__ = _info['version']
55
- __author__ = _info['author']
56
- __email__ = _info['email']
5
+ # 直接从本包的_version模块加载版本信息
6
+ try:
7
+ from sage.middleware._version import __author__, __email__, __version__
8
+ except ImportError:
9
+ # 备用硬编码版本
10
+ __version__ = "0.1.4"
11
+ __author__ = "IntelliStream Team"
12
+ __email__ = "shuhao_zhang@hust.edu.cn"
@@ -0,0 +1,8 @@
1
+ """SAGE-DB micro_service package.
2
+
3
+ Provides a minimal SageDBService used by examples and quick demos.
4
+ """
5
+
6
+ from .sage_db_service import SageDBService # noqa: F401
7
+
8
+ __all__ = ["SageDBService"]
@@ -0,0 +1,84 @@
1
+ from __future__ import annotations
2
+
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict, List, Optional
5
+
6
+ import numpy as np
7
+
8
+ from ..sage_db import DatabaseConfig, IndexType, SageDB
9
+
10
+
11
+ @dataclass
12
+ class SageDBServiceConfig:
13
+ dimension: int = 4
14
+ index_type: str = "AUTO" # one of IndexType names
15
+
16
+
17
+ class SageDBService:
18
+ """
19
+ A minimal micro-service style wrapper for SageDB used by examples.
20
+
21
+ Methods:
22
+ - add(vector: np.ndarray | list, metadata: dict) -> int
23
+ - add_batch(vectors: np.ndarray | list[list], metadata_list: list[dict]) -> list[int]
24
+ - search(query: np.ndarray | list, k: int = 5) -> list[dict]
25
+ """
26
+
27
+ def __init__(self, dimension: int = 4, index_type: str = "AUTO") -> None:
28
+ try:
29
+ idx_enum = getattr(IndexType, index_type)
30
+ except AttributeError:
31
+ idx_enum = IndexType.AUTO
32
+ cfg = DatabaseConfig(dimension)
33
+ cfg.index_type = idx_enum
34
+ self._db = SageDB.from_config(cfg)
35
+ self._dim = dimension
36
+
37
+ def add(
38
+ self,
39
+ vector: np.ndarray | List[float],
40
+ metadata: Optional[Dict[str, str]] = None,
41
+ ) -> int:
42
+ if not isinstance(vector, np.ndarray):
43
+ vector = np.asarray(vector, dtype=np.float32)
44
+ if vector.ndim != 1 or vector.shape[0] != self._dim:
45
+ raise ValueError(f"vector shape must be ({self._dim},)")
46
+ return self._db.add(vector, metadata or {})
47
+
48
+ def add_batch(
49
+ self,
50
+ vectors: np.ndarray | List[List[float]],
51
+ metadata_list: Optional[List[Dict[str, str]]] = None,
52
+ ) -> List[int]:
53
+ if isinstance(vectors, list):
54
+ arr = np.asarray(vectors, dtype=np.float32)
55
+ else:
56
+ arr = vectors.astype(np.float32, copy=False)
57
+ if arr.ndim != 2 or arr.shape[1] != self._dim:
58
+ raise ValueError(f"vectors shape must be (N, {self._dim})")
59
+ return self._db.add_batch(arr, metadata_list or [])
60
+
61
+ def search(
62
+ self, query: np.ndarray | List[float], k: int = 5, include_metadata: bool = True
63
+ ) -> List[Dict[str, Any]]:
64
+ if not isinstance(query, np.ndarray):
65
+ query = np.asarray(query, dtype=np.float32)
66
+ results = self._db.search(query, k=k, include_metadata=include_metadata)
67
+ formatted = []
68
+ for r in results:
69
+ formatted.append(
70
+ {
71
+ "id": int(r.id),
72
+ "score": float(r.score),
73
+ "metadata": dict(r.metadata) if include_metadata else {},
74
+ }
75
+ )
76
+ return formatted
77
+
78
+ def stats(self) -> Dict[str, Any]:
79
+ s = self._db.get_search_stats()
80
+ return {
81
+ "size": self._db.size,
82
+ "dimension": self._db.dimension,
83
+ **s,
84
+ }