pyobvector 0.2.23__tar.gz → 0.2.24__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. {pyobvector-0.2.23 → pyobvector-0.2.24}/PKG-INFO +2 -2
  2. {pyobvector-0.2.23 → pyobvector-0.2.24}/README.md +1 -1
  3. {pyobvector-0.2.23 → pyobvector-0.2.24}/RELEASE_NOTES.md +4 -0
  4. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/ob_vec_client.py +8 -2
  5. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyproject.toml +1 -1
  6. {pyobvector-0.2.23 → pyobvector-0.2.24}/.github/workflows/ci.yml +0 -0
  7. {pyobvector-0.2.23 → pyobvector-0.2.24}/.github/workflows/python-publish.yml +0 -0
  8. {pyobvector-0.2.23 → pyobvector-0.2.24}/.gitignore +0 -0
  9. {pyobvector-0.2.23 → pyobvector-0.2.24}/.pre-commit-config.yaml +0 -0
  10. {pyobvector-0.2.23 → pyobvector-0.2.24}/.pylintrc +0 -0
  11. {pyobvector-0.2.23 → pyobvector-0.2.24}/LICENSE +0 -0
  12. {pyobvector-0.2.23 → pyobvector-0.2.24}/Makefile +0 -0
  13. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/__init__.py +0 -0
  14. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/__init__.py +0 -0
  15. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/collection_schema.py +0 -0
  16. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/enum.py +0 -0
  17. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/exceptions.py +0 -0
  18. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/fts_index_param.py +0 -0
  19. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/hybrid_search.py +0 -0
  20. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/index_param.py +0 -0
  21. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/milvus_like_client.py +0 -0
  22. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/ob_client.py +0 -0
  23. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/ob_vec_json_table_client.py +0 -0
  24. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/partitions.py +0 -0
  25. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/client/schema_type.py +0 -0
  26. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/json_table/__init__.py +0 -0
  27. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/json_table/json_value_returning_func.py +0 -0
  28. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/json_table/oceanbase_dialect.py +0 -0
  29. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/json_table/virtual_data_type.py +0 -0
  30. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/__init__.py +0 -0
  31. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/array.py +0 -0
  32. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/dialect.py +0 -0
  33. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/full_text_index.py +0 -0
  34. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/geo_srid_point.py +0 -0
  35. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/gis_func.py +0 -0
  36. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/match_against_func.py +0 -0
  37. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/ob_table.py +0 -0
  38. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/reflection.py +0 -0
  39. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/replace_stmt.py +0 -0
  40. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/sparse_vector.py +0 -0
  41. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/vec_dist_func.py +0 -0
  42. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/vector.py +0 -0
  43. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/schema/vector_index.py +0 -0
  44. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/util/__init__.py +0 -0
  45. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/util/ob_version.py +0 -0
  46. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/util/sparse_vector.py +0 -0
  47. {pyobvector-0.2.23 → pyobvector-0.2.24}/pyobvector/util/vector.py +0 -0
  48. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/conf.py +0 -0
  49. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/index.rst +0 -0
  50. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/modules.rst +0 -0
  51. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/pyobvector.client.rst +0 -0
  52. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/pyobvector.rst +0 -0
  53. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/pyobvector.schema.rst +0 -0
  54. {pyobvector-0.2.23 → pyobvector-0.2.24}/source/pyobvector.util.rst +0 -0
  55. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/__init__.py +0 -0
  56. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_fts_index.py +0 -0
  57. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_geometry.py +0 -0
  58. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_hybrid_search.py +0 -0
  59. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_json_table.py +0 -0
  60. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_milvus_like_client.py +0 -0
  61. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_milvus_like_client_sparse_vector.py +0 -0
  62. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_ob_vec_client.py +0 -0
  63. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_ob_vec_client_sparse_vector.py +0 -0
  64. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_ob_vec_more_algorithm.py +0 -0
  65. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_oceanbase_dialect.py +0 -0
  66. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_partition_compile.py +0 -0
  67. {pyobvector-0.2.23 → pyobvector-0.2.24}/tests/test_reflection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobvector
3
- Version: 0.2.23
3
+ Version: 0.2.24
4
4
  Summary: A python SDK for OceanBase Vector Store, based on SQLAlchemy, compatible with Milvus API.
5
5
  Project-URL: Homepage, https://github.com/oceanbase/pyobvector
6
6
  Project-URL: Repository, https://github.com/oceanbase/pyobvector.git
@@ -34,7 +34,7 @@ uv sync
34
34
  - install with pip:
35
35
 
36
36
  ```shell
37
- pip install pyobvector==0.2.23
37
+ pip install pyobvector==0.2.24
38
38
  ```
39
39
 
40
40
  ## Build Doc
@@ -15,7 +15,7 @@ uv sync
15
15
  - install with pip:
16
16
 
17
17
  ```shell
18
- pip install pyobvector==0.2.23
18
+ pip install pyobvector==0.2.24
19
19
  ```
20
20
 
21
21
  ## Build Doc
@@ -2,6 +2,10 @@
2
2
 
3
3
  This file documents all released versions and their notable changes for the pyobvector project. Changes are grouped by version and categorized as Added (new features), Changed (modifications), Fixed (bug fixes), and Security (security updates).
4
4
 
5
+ ## [0.2.24](https://github.com/oceanbase/pyobvector/compare/release-v0.2.23...release-v0.2.24) - 2026-02-05
6
+
7
+ - Fix: preserve table options when adding sparse vector indexes
8
+
5
9
  ## [0.2.23](https://github.com/oceanbase/pyobvector/compare/release-v0.2.22...release-v0.2.23) - 2026-01-29
6
10
 
7
11
  - Cchore: intro pre commit
@@ -97,14 +97,20 @@ class ObVecClient(ObClient):
97
97
  )
98
98
  if sparse_vidxs is not None and len(sparse_vidxs) > 0:
99
99
  create_table_sql = str(CreateTable(table).compile(self.engine))
100
- new_sql = create_table_sql[: create_table_sql.rfind(")")]
100
+ # Preserve table options (e.g. ORGANIZATION=heap) after the closing ")"
101
+ last_paren = create_table_sql.rfind(")")
102
+ table_options_suffix = create_table_sql[
103
+ last_paren:
104
+ ] # e.g. ")ORGANIZATION=heap"
105
+ new_sql = create_table_sql[:last_paren]
101
106
  for sparse_vidx in sparse_vidxs:
102
107
  sparse_params = sparse_vidx._parse_kwargs()
103
108
  if "type" in sparse_params:
104
109
  new_sql += f",\n\tVECTOR INDEX {sparse_vidx.index_name}({sparse_vidx.field_name}) with (type={sparse_params['type']}, distance=inner_product)"
105
110
  else:
106
111
  new_sql += f",\n\tVECTOR INDEX {sparse_vidx.index_name}({sparse_vidx.field_name}) with (distance=inner_product)"
107
- new_sql += "\n)"
112
+ # Restore table options after the new closing ")"
113
+ new_sql += "\n)" + table_options_suffix[1:]
108
114
  conn.execute(text(new_sql))
109
115
  else:
110
116
  table.create(self.engine, checkfirst=True)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyobvector"
3
- version = "0.2.23"
3
+ version = "0.2.24"
4
4
  description = "A python SDK for OceanBase Vector Store, based on SQLAlchemy, compatible with Milvus API."
5
5
  authors = [{name="shanhaikang.shk",email="shanhaikang.shk@oceanbase.com"}]
6
6
  readme = "README.md"
File without changes
File without changes
File without changes
File without changes
File without changes