-
Notifications
You must be signed in to change notification settings - Fork 391
Open
Labels
kind/enhancementNew feature or requestNew feature or request
Description
Is there an existing issue for this?
- I have searched the existing issues
What would you like to be added?
Problem
The pymilvus/orm directory has several architectural issues:
-
Misleading naming - "ORM" (Object-Relational Mapping) is a relational database concept that doesn't apply to vector databases, causing confusion for users
-
Redundant functionality - Most features in
orm/are now covered byMilvusClient:- Collection/Partition/Index operations → Available in
MilvusClient - User/Role management → Available in
MilvusClient - Database operations → Available in
MilvusClient - Bulk Import → Available in separate
bulk_writermodule
- Collection/Partition/Index operations → Available in
-
Duplicate code - Several classes are defined in both
orm/andclient/:CollectionSchema/FieldSchemaMutationResultPrepare
-
Confusing dependency structure -
milvus_client/depends onorm/, which depends onclient/, creating an unclear layering
Proposed Solution
- Merge valuable classes from
orm/(e.g.,CollectionSchema,FieldSchema,connections) into theclient/directory - Remove redundant code (
mutation.py,types.py,prepare.py) - Eventually remove the
orm/directory, or at minimum rename it to something more accurate
Backward Compatibility
- Keep top-level
pymilvusexports unchanged - user code likefrom pymilvus import Collection, connectionswill continue to work - Add deprecation warnings for direct imports like
from pymilvus.orm import xxxwith a migration period
Why is this needed?
No response
Anything else?
No response
Metadata
Metadata
Assignees
Labels
kind/enhancementNew feature or requestNew feature or request