matrixone-python-sdk 0.1.1__tar.gz → 0.1.2__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 (73) hide show
  1. {matrixone_python_sdk-0.1.1/matrixone_python_sdk.egg-info → matrixone_python_sdk-0.1.2}/PKG-INFO +1 -1
  2. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/async_vector_index_manager.py +3 -1
  3. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/client.py +20 -1
  4. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/vector_index.py +28 -0
  5. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2/matrixone_python_sdk.egg-info}/PKG-INFO +1 -1
  6. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/pyproject.toml +1 -1
  7. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/LICENSE +0 -0
  8. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/MANIFEST.in +0 -0
  9. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/README.md +0 -0
  10. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/README_USER.md +0 -0
  11. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_01_basic_connection.py +0 -0
  12. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_02_account_management.py +0 -0
  13. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_03_async_operations.py +0 -0
  14. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_04_transaction_management.py +0 -0
  15. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_05_snapshot_restore.py +0 -0
  16. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_06_sqlalchemy_integration.py +0 -0
  17. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_07_advanced_features.py +0 -0
  18. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_08_pubsub_operations.py +0 -0
  19. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_09_logger_integration.py +0 -0
  20. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_10_version_management.py +0 -0
  21. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_11_matrixone_version_demo.py +0 -0
  22. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_12_vector_basics.py +0 -0
  23. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_13_vector_indexes.py +0 -0
  24. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_14_vector_search.py +0 -0
  25. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_15_vector_advanced.py +0 -0
  26. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_18_snapshot_orm.py +0 -0
  27. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_19_sqlalchemy_style_orm.py +0 -0
  28. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_20_sqlalchemy_engine_integration.py +0 -0
  29. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_21_advanced_orm_features.py +0 -0
  30. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_22_unified_sql_builder.py +0 -0
  31. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_24_query_update.py +0 -0
  32. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_25_metadata_operations.py +0 -0
  33. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_connection_hooks.py +0 -0
  34. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_dynamic_logging.py +0 -0
  35. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/examples/example_ivf_stats_complete.py +0 -0
  36. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/__init__.py +0 -0
  37. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/account.py +0 -0
  38. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/async_client.py +0 -0
  39. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/async_metadata_manager.py +0 -0
  40. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/async_orm.py +0 -0
  41. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/base_client.py +0 -0
  42. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/config.py +0 -0
  43. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/connection_hooks.py +0 -0
  44. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/exceptions.py +0 -0
  45. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/logger.py +0 -0
  46. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/metadata.py +0 -0
  47. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/moctl.py +0 -0
  48. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/orm.py +0 -0
  49. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/pitr.py +0 -0
  50. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/pubsub.py +0 -0
  51. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/restore.py +0 -0
  52. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/search_vector_index.py +0 -0
  53. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/snapshot.py +0 -0
  54. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sql_builder.py +0 -0
  55. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/__init__.py +0 -0
  56. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/adapters.py +0 -0
  57. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/dialect.py +0 -0
  58. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/fulltext_index.py +0 -0
  59. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/fulltext_search.py +0 -0
  60. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/hnsw_config.py +0 -0
  61. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/ivf_config.py +0 -0
  62. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/table_builder.py +0 -0
  63. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/sqlalchemy_ext/vector_type.py +0 -0
  64. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone/version.py +0 -0
  65. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone_python_sdk.egg-info/SOURCES.txt +0 -0
  66. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone_python_sdk.egg-info/dependency_links.txt +0 -0
  67. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone_python_sdk.egg-info/entry_points.txt +0 -0
  68. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone_python_sdk.egg-info/not-zip-safe +0 -0
  69. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone_python_sdk.egg-info/requires.txt +0 -0
  70. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/matrixone_python_sdk.egg-info/top_level.txt +0 -0
  71. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/requirements.txt +0 -0
  72. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/setup.cfg +0 -0
  73. {matrixone_python_sdk-0.1.1 → matrixone_python_sdk-0.1.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrixone-python-sdk
3
- Version: 0.1.1
3
+ Version: 0.1.2
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
@@ -395,7 +395,9 @@ class AsyncVectorManager:
395
395
 
396
396
  # Convert distance type to enum
397
397
  if distance_type == "l2":
398
- distance_func = DistanceFunction.L2_SQ
398
+ distance_func = DistanceFunction.L2 # Use L2 for consistency with ORM l2_distance()
399
+ elif distance_type == "l2_sq":
400
+ distance_func = DistanceFunction.L2_SQ # Explicitly use squared distance if needed
399
401
  elif distance_type == "cosine":
400
402
  distance_func = DistanceFunction.COSINE
401
403
  elif distance_type == "inner_product":
@@ -3632,6 +3632,12 @@ class VectorManager:
3632
3632
  if not success:
3633
3633
  raise Exception(f"Failed to create IVFFLAT vector index {name} on table {table_name}")
3634
3634
 
3635
+ # Add summary log
3636
+ op_type_str = op_type.value if hasattr(op_type, 'value') else op_type
3637
+ self.client.logger.info(
3638
+ f"✓ Created IVF index '{name}' on {table_name}.{column} | " f"lists={lists} | op_type={op_type_str}"
3639
+ )
3640
+
3635
3641
  return self
3636
3642
 
3637
3643
  def create_hnsw(
@@ -3685,6 +3691,7 @@ class VectorManager:
3685
3691
  if op_type is None:
3686
3692
  op_type = VectorOpType.VECTOR_L2_OPS
3687
3693
 
3694
+ # Build index creation SQL
3688
3695
  success = HnswVectorIndex.create_index(
3689
3696
  engine=self.client.get_sqlalchemy_engine(),
3690
3697
  table_name=table_name,
@@ -3699,6 +3706,13 @@ class VectorManager:
3699
3706
  if not success:
3700
3707
  raise Exception(f"Failed to create HNSW vector index {name} on table {table_name}")
3701
3708
 
3709
+ # Add summary log
3710
+ op_type_str = op_type.value if hasattr(op_type, 'value') else op_type
3711
+ self.client.logger.info(
3712
+ f"✓ Created HNSW index '{name}' on {table_name}.{column} | "
3713
+ f"m={m} | ef_construction={ef_construction} | ef_search={ef_search} | op_type={op_type_str}"
3714
+ )
3715
+
3702
3716
  return self
3703
3717
 
3704
3718
  def create_ivf_in_transaction(
@@ -3838,6 +3852,9 @@ class VectorManager:
3838
3852
  if not success:
3839
3853
  raise Exception(f"Failed to drop vector index {name} from table {table_name}")
3840
3854
 
3855
+ # Add summary log
3856
+ self.client.logger.info(f"✓ Dropped vector index '{name}' from {table_name}")
3857
+
3841
3858
  return self
3842
3859
 
3843
3860
  def enable_ivf(self, probe_limit: int = 1) -> "VectorManager":
@@ -4051,7 +4068,9 @@ class VectorManager:
4051
4068
 
4052
4069
  # Convert distance type to enum
4053
4070
  if distance_type == "l2":
4054
- distance_func = DistanceFunction.L2_SQ
4071
+ distance_func = DistanceFunction.L2 # Use L2 for consistency with ORM l2_distance()
4072
+ elif distance_type == "l2_sq":
4073
+ distance_func = DistanceFunction.L2_SQ # Explicitly use squared distance if needed
4055
4074
  elif distance_type == "cosine":
4056
4075
  distance_func = DistanceFunction.COSINE
4057
4076
  elif distance_type == "inner_product":
@@ -247,7 +247,21 @@ class IVFVectorIndex(Index):
247
247
  # Enable IVF indexing
248
248
  _exec_sql_safe(conn, "SET experimental_ivf_index = 1")
249
249
  _exec_sql_safe(conn, "SET probe_limit = 1")
250
+
251
+ # Execute CREATE INDEX
250
252
  _exec_sql_safe(conn, sql)
253
+
254
+ # Try to log using the connection's info attribute if available
255
+ try:
256
+ from ..client import logger
257
+
258
+ logger.info(
259
+ f"✓ | CREATE INDEX {name} USING ivfflat ON {table_name}({column}) "
260
+ f"LISTS {lists} op_type '{op_type}'"
261
+ )
262
+ except Exception:
263
+ pass # Silently skip logging if not available (for tests)
264
+
251
265
  return True
252
266
  except Exception as e:
253
267
  print(f"Failed to create IVFFLAT vector index: {e}")
@@ -648,7 +662,21 @@ class HnswVectorIndex(Index):
648
662
  with engine.begin() as conn:
649
663
  # Enable HNSW indexing
650
664
  _exec_sql_safe(conn, "SET experimental_hnsw_index = 1")
665
+
666
+ # Execute CREATE INDEX
651
667
  _exec_sql_safe(conn, sql)
668
+
669
+ # Try to log using the connection's info attribute if available
670
+ try:
671
+ from ..client import logger
672
+
673
+ logger.info(
674
+ f"✓ | CREATE INDEX {name} USING hnsw ON {table_name}({column}) "
675
+ f"M {m} EF_CONSTRUCTION {ef_construction} EF_SEARCH {ef_search} op_type '{op_type}'"
676
+ )
677
+ except Exception:
678
+ pass # Silently skip logging if not available (for tests)
679
+
652
680
  return True
653
681
  except Exception as e:
654
682
  print(f"Failed to create HNSW vector index: {e}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrixone-python-sdk
3
- Version: 0.1.1
3
+ Version: 0.1.2
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.1"
7
+ version = "0.1.2"
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"}