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.
- {matrixone_python_sdk-0.1.11/matrixone_python_sdk.egg-info → matrixone_python_sdk-0.1.12}/PKG-INFO +1 -1
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/async_client.py +32 -13
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/cli_tools.py +2 -2
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/client.py +32 -13
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/vector_manager.py +10 -2
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12/matrixone_python_sdk.egg-info}/PKG-INFO +1 -1
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/pyproject.toml +1 -1
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/LICENSE +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/MANIFEST.in +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/README.md +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/README_USER.md +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_01_basic_connection.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_02_account_management.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_03_async_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_04_transaction_management.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_05_snapshot_restore.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_06_sqlalchemy_integration.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_07_advanced_features.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_08_pubsub_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_09_logger_integration.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_10_version_management.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_11_matrixone_version_demo.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_12_vector_basics.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_13_vector_indexes.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_14_vector_search.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_15_vector_advanced.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_18_snapshot_orm.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_19_sqlalchemy_style_orm.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_20_sqlalchemy_engine_integration.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_21_advanced_orm_features.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_22_unified_sql_builder.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_23_load_data_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_24_query_update.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_25_metadata_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_26_stage_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_27_export_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_28_sqlalchemy_select.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_29_complex_queries.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_30_with_snapshot_method.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_31_cdc_operations.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_connection_hooks.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_dynamic_logging.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_ivf_stats_complete.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/__init__.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/account.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/async_orm.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/base_client.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/cdc.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/clone.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/config.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/connection_hooks.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/exceptions.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/export.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/fulltext_manager.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/index_utils.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/load_data.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/logger.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/metadata.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/moctl.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/orm.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/pitr.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/pubsub.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/restore.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/search_vector_index.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/session.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/snapshot.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sql_builder.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/__init__.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/dialect.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/fulltext_index.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/fulltext_search.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/hnsw_config.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/ivf_config.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/json_functions.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/json_type.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/snapshot.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/table_builder.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/vector_index.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/vector_type.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_select.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/stage.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/version.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/SOURCES.txt +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/dependency_links.txt +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/entry_points.txt +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/not-zip-safe +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/requires.txt +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone_python_sdk.egg-info/top_level.txt +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/mo_diag.py +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/requirements.txt +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/setup.cfg +0 -0
- {matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/setup.py +0 -0
{matrixone_python_sdk-0.1.11/matrixone_python_sdk.egg-info → matrixone_python_sdk-0.1.12}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matrixone-python-sdk
|
|
3
|
-
Version: 0.1.
|
|
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",
|
|
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",
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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",
|
|
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",
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12/matrixone_python_sdk.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matrixone-python-sdk
|
|
3
|
-
Version: 0.1.
|
|
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.
|
|
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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_01_basic_connection.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_03_async_operations.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_05_snapshot_restore.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_07_advanced_features.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_08_pubsub_operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_12_vector_basics.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_13_vector_indexes.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_14_vector_search.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_15_vector_advanced.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_18_snapshot_orm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_24_query_update.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_26_stage_operations.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_27_export_operations.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_28_sqlalchemy_select.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_29_complex_queries.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_31_cdc_operations.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_connection_hooks.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_dynamic_logging.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/examples/example_ivf_stats_complete.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/search_vector_index.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/__init__.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/dialect.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/hnsw_config.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/ivf_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/json_type.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/snapshot.py
RENAMED
|
File without changes
|
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/vector_index.py
RENAMED
|
File without changes
|
{matrixone_python_sdk-0.1.11 → matrixone_python_sdk-0.1.12}/matrixone/sqlalchemy_ext/vector_type.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|