matrixone-python-sdk 0.1.11__tar.gz → 0.1.12__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 (92) hide show
  1. {matrixone_python_sdk-0.1.11/matrixone_python_sdk.egg-info → matrixone_python_sdk-0.1.12}/PKG-INFO +1 -1
  2. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/async_client.py +32 -13
  3. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/cli_tools.py +2 -2
  4. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/client.py +32 -13
  5. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/vector_manager.py +10 -2
  6. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12/matrixone_python_sdk.egg-info}/PKG-INFO +1 -1
  7. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/pyproject.toml +1 -1
  8. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/LICENSE +0 -0
  9. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/MANIFEST.in +0 -0
  10. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/README.md +0 -0
  11. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/README_USER.md +0 -0
  12. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_01_basic_connection.py +0 -0
  13. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_02_account_management.py +0 -0
  14. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_03_async_operations.py +0 -0
  15. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_04_transaction_management.py +0 -0
  16. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_05_snapshot_restore.py +0 -0
  17. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_06_sqlalchemy_integration.py +0 -0
  18. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_07_advanced_features.py +0 -0
  19. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_08_pubsub_operations.py +0 -0
  20. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_09_logger_integration.py +0 -0
  21. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_10_version_management.py +0 -0
  22. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_11_matrixone_version_demo.py +0 -0
  23. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_12_vector_basics.py +0 -0
  24. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_13_vector_indexes.py +0 -0
  25. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_14_vector_search.py +0 -0
  26. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_15_vector_advanced.py +0 -0
  27. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_18_snapshot_orm.py +0 -0
  28. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_19_sqlalchemy_style_orm.py +0 -0
  29. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_20_sqlalchemy_engine_integration.py +0 -0
  30. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_21_advanced_orm_features.py +0 -0
  31. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_22_unified_sql_builder.py +0 -0
  32. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_23_load_data_operations.py +0 -0
  33. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_24_query_update.py +0 -0
  34. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_25_metadata_operations.py +0 -0
  35. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_26_stage_operations.py +0 -0
  36. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_27_export_operations.py +0 -0
  37. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_28_sqlalchemy_select.py +0 -0
  38. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_29_complex_queries.py +0 -0
  39. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_30_with_snapshot_method.py +0 -0
  40. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_31_cdc_operations.py +0 -0
  41. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_connection_hooks.py +0 -0
  42. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_dynamic_logging.py +0 -0
  43. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_ivf_stats_complete.py +0 -0
  44. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/__init__.py +0 -0
  45. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/account.py +0 -0
  46. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/async_orm.py +0 -0
  47. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/base_client.py +0 -0
  48. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/cdc.py +0 -0
  49. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/clone.py +0 -0
  50. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/config.py +0 -0
  51. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/connection_hooks.py +0 -0
  52. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/exceptions.py +0 -0
  53. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/export.py +0 -0
  54. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/fulltext_manager.py +0 -0
  55. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/index_utils.py +0 -0
  56. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/load_data.py +0 -0
  57. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/logger.py +0 -0
  58. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/metadata.py +0 -0
  59. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/moctl.py +0 -0
  60. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/orm.py +0 -0
  61. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/pitr.py +0 -0
  62. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/pubsub.py +0 -0
  63. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/restore.py +0 -0
  64. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/search_vector_index.py +0 -0
  65. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/session.py +0 -0
  66. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/snapshot.py +0 -0
  67. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sql_builder.py +0 -0
  68. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/__init__.py +0 -0
  69. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/dialect.py +0 -0
  70. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/fulltext_index.py +0 -0
  71. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/fulltext_search.py +0 -0
  72. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/hnsw_config.py +0 -0
  73. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/ivf_config.py +0 -0
  74. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/json_functions.py +0 -0
  75. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/json_type.py +0 -0
  76. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/snapshot.py +0 -0
  77. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/table_builder.py +0 -0
  78. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/vector_index.py +0 -0
  79. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/vector_type.py +0 -0
  80. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_select.py +0 -0
  81. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/stage.py +0 -0
  82. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/version.py +0 -0
  83. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/SOURCES.txt +0 -0
  84. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/dependency_links.txt +0 -0
  85. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/entry_points.txt +0 -0
  86. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/not-zip-safe +0 -0
  87. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/requires.txt +0 -0
  88. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/top_level.txt +0 -0
  89. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/mo_diag.py +0 -0
  90. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/requirements.txt +0 -0
  91. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/setup.cfg +0 -0
  92. {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrixone-python-sdk
3
- Version: 0.1.11
3
+ Version: 0.1.12
4
4
  Summary: A comprehensive Python SDK for MatrixOne database operations with vector search, fulltext search, and advanced features
5
5
  Home-page: https://github.com/matrixorigin/matrixone
6
6
  Author: MatrixOne Team
@@ -627,11 +627,12 @@ class AsyncClient(BaseMatrixOneClient):
627
627
 
628
628
  host: Database host
629
629
  port: Database port
630
- user: Username or login info in format "user", "account#user", or "account#user#role"
630
+ user: Username or login info in format "user", "account#user", "account#user#role",
631
+ "account:user", or "account:user:role" (both '#' and ':' separators are supported)
631
632
  password: Password
632
633
  database: Database name
633
- account: Optional account name (will be combined with user if user doesn't contain '#')
634
- role: Optional role name (will be combined with user if user doesn't contain '#')
634
+ account: Optional account name (will be combined with user if user doesn't contain '#' or ':')
635
+ role: Optional role name (will be combined with user if user doesn't contain '#' or ':')
635
636
  charset: Character set for the connection (default: utf8mb4)
636
637
  connection_timeout: Connection timeout in seconds (default: 30)
637
638
  auto_commit: Enable autocommit (default: True)
@@ -1529,7 +1530,8 @@ class AsyncClient(BaseMatrixOneClient):
1529
1530
 
1530
1531
  Args::
1531
1532
 
1532
- user: Username or login info in format "user", "account#user", or "account#user#role"
1533
+ user: Username or login info in format "user", "account#user", "account#user#role",
1534
+ "account:user", or "account:user:role"
1533
1535
  account: Optional account name
1534
1536
  role: Optional role name
1535
1537
 
@@ -1538,17 +1540,24 @@ class AsyncClient(BaseMatrixOneClient):
1538
1540
  tuple: (final_user_string, parsed_info_dict)
1539
1541
 
1540
1542
  Rules:
1541
- 1. If user contains '#', it's already in format "account#user" or "account#user#role"
1543
+ 1. If user contains '#' or ':', it's already in format "account#user" or "account#user#role"
1544
+ (or with ':' separator, which will be normalized to '#')
1542
1545
  - If account or role is also provided, raise error (conflict)
1543
- 2. If user doesn't contain '#', combine with optional account/role:
1546
+ 2. If user doesn't contain '#' or ':', combine with optional account/role:
1544
1547
  - No account/role: use user as-is
1545
1548
  - Only role: use "sys#user#role"
1546
1549
  - Only account: use "account#user"
1547
1550
  - Both: use "account#user#role"
1548
1551
  """
1549
- # Check if user already contains login format
1552
+ # Check if user already contains login format (support both '#' and ':' as separators)
1553
+ delimiter = None
1550
1554
  if "#" in user:
1551
- # User is already in format "account#user" or "account#user#role"
1555
+ delimiter = "#"
1556
+ elif ":" in user:
1557
+ delimiter = ":"
1558
+
1559
+ if delimiter is not None:
1560
+ # User is already in format "account#user" or "account#user#role" (or with ':')
1552
1561
  if account is not None or role is not None:
1553
1562
  raise ValueError(
1554
1563
  f"Conflict: user parameter '{user}' already contains account/role info, "
@@ -1557,17 +1566,27 @@ class AsyncClient(BaseMatrixOneClient):
1557
1566
  )
1558
1567
 
1559
1568
  # Parse the existing format
1560
- parts = user.split("#")
1569
+ parts = user.split(delimiter)
1561
1570
  if len(parts) == 2:
1562
- # "account#user" format
1571
+ # "account#user" or "account:user" format
1563
1572
  final_account, final_user, final_role = parts[0], parts[1], None
1564
1573
  elif len(parts) == 3:
1565
- # "account#user#role" format
1574
+ # "account#user#role" or "account:user:role" format
1566
1575
  final_account, final_user, final_role = parts[0], parts[1], parts[2]
1567
1576
  else:
1568
- raise ValueError(f"Invalid user format: '{user}'. Expected 'user', 'account#user', or 'account#user#role'")
1577
+ raise ValueError(
1578
+ f"Invalid user format: '{user}'. Expected 'user', 'account#user', "
1579
+ f"'account#user#role', 'account:user', or 'account:user:role'"
1580
+ )
1569
1581
 
1570
- final_user_string = user
1582
+ # Normalize to use '#' separator for consistency
1583
+ if delimiter == ":":
1584
+ if final_role:
1585
+ final_user_string = f"{final_account}#{final_user}#{final_role}"
1586
+ else:
1587
+ final_user_string = f"{final_account}#{final_user}"
1588
+ else:
1589
+ final_user_string = user
1571
1590
 
1572
1591
  else:
1573
1592
  # User is just a username, combine with optional account/role
@@ -1933,8 +1933,8 @@ class MatrixOneCLI(cmd.Cmd):
1933
1933
  algo_table_type = row[3] if len(row) > 3 else None
1934
1934
 
1935
1935
  try:
1936
- # Use SDK's get_ivf_stats method with column name
1937
- stats = self.client.vector_ops.get_ivf_stats(table_name, column_name)
1936
+ # Use SDK's get_ivf_stats method with column name and database
1937
+ stats = self.client.vector_ops.get_ivf_stats(table_name, column_name, database=database)
1938
1938
 
1939
1939
  if stats and 'index_tables' in stats:
1940
1940
  # Show centroid distribution
@@ -278,15 +278,16 @@ class Client(BaseMatrixOneClient):
278
278
 
279
279
  host: Database host
280
280
  port: Database port
281
- user: Username or login info in format "user", "account#user", or "account#user#role"
281
+ user: Username or login info in format "user", "account#user", "account#user#role",
282
+ "account:user", or "account:user:role" (both '#' and ':' separators are supported)
282
283
  password: Password
283
284
  database: Database name
284
285
  ssl_mode: SSL mode (disabled, preferred, required)
285
286
  ssl_ca: SSL CA certificate path
286
287
  ssl_cert: SSL client certificate path
287
288
  ssl_key: SSL client key path
288
- account: Optional account name (will be combined with user if user doesn't contain '#')
289
- role: Optional role name (will be combined with user if user doesn't contain '#')
289
+ account: Optional account name (will be combined with user if user doesn't contain '#' or ':')
290
+ role: Optional role name (will be combined with user if user doesn't contain '#' or ':')
290
291
  charset: Character set for the connection (default: utf8mb4)
291
292
  connection_timeout: Connection timeout in seconds (default: 30)
292
293
  auto_commit: Enable autocommit (default: True)
@@ -650,7 +651,8 @@ class Client(BaseMatrixOneClient):
650
651
 
651
652
  Args::
652
653
 
653
- user: Username or login info in format "user", "account#user", or "account#user#role"
654
+ user: Username or login info in format "user", "account#user", "account#user#role",
655
+ "account:user", or "account:user:role"
654
656
  account: Optional account name
655
657
  role: Optional role name
656
658
 
@@ -659,17 +661,24 @@ class Client(BaseMatrixOneClient):
659
661
  tuple: (final_user_string, parsed_info_dict)
660
662
 
661
663
  Rules:
662
- 1. If user contains '#', it's already in format "account#user" or "account#user#role"
664
+ 1. If user contains '#' or ':', it's already in format "account#user" or "account#user#role"
665
+ (or with ':' separator, which will be normalized to '#')
663
666
  - If account or role is also provided, raise error (conflict)
664
- 2. If user doesn't contain '#', combine with optional account/role:
667
+ 2. If user doesn't contain '#' or ':', combine with optional account/role:
665
668
  - No account/role: use user as-is
666
669
  - Only role: use "sys#user#role"
667
670
  - Only account: use "account#user"
668
671
  - Both: use "account#user#role"
669
672
  """
670
- # Check if user already contains login format
673
+ # Check if user already contains login format (support both '#' and ':' as separators)
674
+ delimiter = None
671
675
  if "#" in user:
672
- # User is already in format "account#user" or "account#user#role"
676
+ delimiter = "#"
677
+ elif ":" in user:
678
+ delimiter = ":"
679
+
680
+ if delimiter is not None:
681
+ # User is already in format "account#user" or "account#user#role" (or with ':')
673
682
  if account is not None or role is not None:
674
683
  raise ValueError(
675
684
  f"Conflict: user parameter '{user}' already contains account/role info, "
@@ -678,17 +687,27 @@ class Client(BaseMatrixOneClient):
678
687
  )
679
688
 
680
689
  # Parse the existing format
681
- parts = user.split("#")
690
+ parts = user.split(delimiter)
682
691
  if len(parts) == 2:
683
- # "account#user" format
692
+ # "account#user" or "account:user" format
684
693
  final_account, final_user, final_role = parts[0], parts[1], None
685
694
  elif len(parts) == 3:
686
- # "account#user#role" format
695
+ # "account#user#role" or "account:user:role" format
687
696
  final_account, final_user, final_role = parts[0], parts[1], parts[2]
688
697
  else:
689
- raise ValueError(f"Invalid user format: '{user}'. Expected 'user', 'account#user', or 'account#user#role'")
698
+ raise ValueError(
699
+ f"Invalid user format: '{user}'. Expected 'user', 'account#user', "
700
+ f"'account#user#role', 'account:user', or 'account:user:role'"
701
+ )
690
702
 
691
- final_user_string = user
703
+ # Normalize to use '#' separator for consistency
704
+ if delimiter == ":":
705
+ if final_role:
706
+ final_user_string = f"{final_account}#{final_user}#{final_role}"
707
+ else:
708
+ final_user_string = f"{final_account}#{final_user}"
709
+ else:
710
+ final_user_string = user
692
711
 
693
712
  else:
694
713
  # User is just a username, combine with optional account/role
@@ -386,7 +386,11 @@ class VectorManager(_VectorManagerBase):
386
386
  table_name = _extract_table_name(table_name)
387
387
 
388
388
  if database is None:
389
- database = getattr(self.client, 'database', 'test')
389
+ # Try to get database from connection params first
390
+ if hasattr(self.client, '_connection_params') and self.client._connection_params:
391
+ database = self.client._connection_params.get('database')
392
+ if not database:
393
+ database = getattr(self.client, 'database', 'test')
390
394
 
391
395
  # Auto-infer column name if not provided
392
396
  if not column_name:
@@ -619,7 +623,11 @@ class AsyncVectorManager(_VectorManagerBase):
619
623
  table_name = _extract_table_name(table_name)
620
624
 
621
625
  if database is None:
622
- database = getattr(self.client, 'database', 'test')
626
+ # Try to get database from connection params first
627
+ if hasattr(self.client, '_connection_params') and self.client._connection_params:
628
+ database = self.client._connection_params.get('database')
629
+ if not database:
630
+ database = getattr(self.client, 'database', 'test')
623
631
 
624
632
  # Auto-infer column name if not provided
625
633
  if not column_name:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrixone-python-sdk
3
- Version: 0.1.11
3
+ Version: 0.1.12
4
4
  Summary: A comprehensive Python SDK for MatrixOne database operations with vector search, fulltext search, and advanced features
5
5
  Home-page: https://github.com/matrixorigin/matrixone
6
6
  Author: MatrixOne Team
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "matrixone-python-sdk"
7
- version = "0.1.11"
7
+ version = "0.1.12"
8
8
  description = "A comprehensive Python SDK for MatrixOne database operations with vector search, fulltext search, and advanced features"
9
9
  readme = "README_USER.md"
10
10
  license = {text = "Apache-2.0"}