Brief

For Milvus v2.x, all SDK toolkits are based on the same gRPC proto. To make the work transparent to the community, we list the status of each SDK on this page.

So far we have Python SDK(pymilvus), Java SDK, Go SDK, Node SDK, C++ SDK(developing), not all SDK are implemented in same way, we hope users can easily know the difference from the list.



PyMilvus

RPC interface status

Proto APIImplementedTest CoveredNote
CreateCollectionYesYes
create_collection
DropCollectionYesYes
drop_collection
HasCollectionYesYes
has_collection
LoadCollectionYesYes
load_collection
ReleaseCollectionYesYes
release_collection
DescribeCollectionYesYes
describe_collection
GetCollectionStatisticsYesYes
get_collection_stats
ShowCollectionsYesYes
list_collections
CreatePartitionYesYes
create_partition
DropPartitionYesYes
drop_partition
HasPartitionYesYes
has_partition
LoadPartitionsYesYes
load_partitions
ReleasePartitionsYesYes
release_partitions
GetPartitionStatisticsYesYes
get_partition_stats
ShowPartitionsYesYes
list_partitions
CreateAliasYesYes
create_alias
DropAliasYesYes
drop_alias
AlterAliasYesYes
alter_alias
CreateIndexYesYes
create_index
DescribeIndexYesYes
describe_index
GetIndexStateYesYes
get_index_state
GetIndexBuildProgressYesYes
get_index_build_progress
DropIndexYesYes
drop_index
InsertYesYes
insert
DeleteYesYes
delete
SearchYesYes
search
FlushYesYes
flush
QueryYesYes
query
CalcDistanceYesYes
calc_distance
GetFlushStateYesYes
get_flush_state
GetPersistentSegmentInfoYesYes
get_persistent_segment_infos
GetQuerySegmentInfoYesYes
get_query_segment_info
GetMetricsNoNo
LoadBalanceYesYes
load_balance
GetCompactionStateYesYes
get_compaction_state
ManualCompactionYesYescompact
GetCompactionStateWithPlansYesYes
get_compaction_plans


ORM classes status

ClassMethods/PropertiesAvailableTest CoveredNote










collection

num_entities
YesYes
dropYesYes
loadYesYes
releaseYesYes
insertYesYes
deleteYesYes
searchYesYes
queryYesYes
partitionsYesYes
create_partitionYesYes
has_partitionYesYes
drop_partitionYesYes
indexesYesYes
create_indexYesYes
has_indexYesYes
drop_indexYesYes
compact
YesYes
get_compaction_state
YesYes
get_compaction_plans
YesYes


ClassMethods/PropertiesAvailableTest CoveredNote




partition

num_entities
YesYes
drop
YesYes
load
YesYes
release
YesYes
insert
YesYes
delete
YesYes
search
YesYes
query
YesYes


ClassMethods/PropertiesAvailableTest CoveredNote
indexdropYesYes


ClassMethods/PropertiesAvailableTest CoveredNote



utility

loading_progress
YesYes
index_building_progress
YesYes
has_collection
YesYes
has_partition
YesYes
drop_collection
YesYes
list_collections
YesYes
calc_distance
YesYes
load_balance
YesYes
get_query_segment_info
YesYes
create_alias
YesYes
drop_alias
YesYes
alter_alias
YesYes
list_aliases
YesYes
mkts_from_hybridts
YesYes
mkts_from_unixtime
YesYes
mkts_from_datetime
YesYes
hybridts_to_datetime
YesYes
hybridts_to_unixtime
YesYes

Go SDK

RPC interface status

Proto APIImplementedTest CoveredNote
CreateCollectionYesYes

DropCollectionYesYes

HasCollectionYesYes

LoadCollectionYesYes

ReleaseCollectionYesYes

DescribeCollectionYesYes

GetCollectionStatisticsYesYes

ShowCollectionsYesYes

CreatePartitionYesYes

DropPartitionYesYes

HasPartitionYesYes

LoadPartitionsYesYes

ReleasePartitionsYesYes

GetPartitionStatisticsNoNo

ShowPartitionsYesYes

CreateAliasYesYes

DropAliasYesYes

AlterAliasYesYes

CreateIndexYesYes

DescribeIndexYesYes

GetIndexStateYesYes

GetIndexBuildProgressYesYes

DropIndexYesYes

InsertYesYes

DeleteYesYes

SearchYesYes

FlushYesYes

QueryYesYes

CalcDistanceYesYes

GetFlushStateNoYes
internal use, not exposed
GetPersistentSegmentInfoNoYes
internal use, not exposed
GetQuerySegmentInfoNoYes
internal use, not exposed
GetMetricsNoNo
LoadBalanceNoNo

GetCompactionStateYesYes

ManualCompactionYesYes
GetCompactionStateWithPlansYesYes



Java SDK

RPC interface status

Proto APIImplementedTest CoveredNote
CreateCollectionYesYes
createCollection()
DropCollectionYesYes
dropCollection()
HasCollectionYesYes
hasCollection()
LoadCollectionYesYes
loadCollection()
ReleaseCollectionYesYes
releaseCollection()
DescribeCollectionYesYes
describeCollection()
GetCollectionStatisticsYesYes
getCollectionStatistics()
ShowCollectionsYesYes
showCollections()
CreatePartitionYesYes
createPartition()
DropPartitionYesYes
dropPartition()
HasPartitionYesYes
hasPartition()
LoadPartitionsYesYes
loadPartitions()
ReleasePartitionsYesYes
releasePartitions()
GetPartitionStatisticsYesYes
getPartitionStatistics()
ShowPartitionsYesYes
showPartitions()
CreateAliasYesYes
createAlias()
DropAliasYesYes
dropAlias()
AlterAliasYesYes
alterAlias()
CreateIndexYesYes
createIndex()
DescribeIndexYesYes
describeIndex()
GetIndexStateYesYes
getIndexState()
GetIndexBuildProgressYesYes
getIndexBuildProgress()
DropIndexYesYes
dropIndex()
InsertYesYes
insert()
DeleteYesYes
delete()
SearchYesYes
search()
FlushYesYes
internal use, not exposed
QueryYesYes
query()
CalcDistanceYesYes
calcDistance()
only support float vectors, cannot support binary vectors
GetFlushStateYesYes
getFlushState()
GetPersistentSegmentInfoYesYes
getPersistentSegmentInfo()
GetQuerySegmentInfoYesYes
getQuerySegmentInfo()
GetMetricsYesYesgetMetrics()
LoadBalanceYesYes
loadBalance()
GetCompactionStateYesYes
getCompactionState()
ManualCompactionYesYesmanualCompaction()
GetCompactionStateWithPlansYesYes
getCompactionStateWithPlans()



Node SDK

RPC interface status

Proto APIImplementedTest CoveredNote
CreateCollectionYesYes

DropCollectionYesYes

HasCollectionYesYes

LoadCollectionYesYes

ReleaseCollectionYesYes

DescribeCollectionYesYes

GetCollectionStatisticsYesYes

ShowCollectionsYesYes

CreatePartitionYesYes

DropPartitionYesYes

HasPartitionYesYes

LoadPartitionsYesYes

ReleasePartitionsYesYes

GetPartitionStatisticsYesYes

ShowPartitionsYesYes

CreateAliasYesYes
Method is ready, not shown in the document yet.
DropAliasYesYes
Method is ready, not shown in the document yet.
AlterAliasYesYes
Method is ready, not shown in the document yet.
CreateIndexYesYes

DescribeIndexYesYes

GetIndexStateYesYes

GetIndexBuildProgressYesYes

DropIndexYesYes

InsertYesYes

DeleteYesYes

SearchYesYes

FlushYesYes

QueryYesYes

CalcDistanceYesYes
calcDistance()
Method is ready, not shown in the document yet.
only support float vectors, cannot support binary vectors
GetFlushStateYesYes

GetPersistentSegmentInfoYesYes
No separate interface exposed. Use GetPersistentSegmentInfo method in flushSync method.
GetQuerySegmentInfoYesYes

GetMetricsYesYesMethod is ready, not shown in the document yet.
LoadBalanceYesYes

GetCompactionStateYesYes

ManualCompactionYesYes
GetCompactionStateWithPlansYesYes



C++ SDK 

RPC interface status

Proto APIImplementedTest CoveredNote
CreateCollectionYesYes

DropCollectionYesYes

HasCollectionYesYes

LoadCollectionYesYes

ReleaseCollectionYesYes

DescribeCollectionYesYes

GetCollectionStatisticsYesYes

ShowCollectionsYesYes

CreatePartitionYesYes

DropPartitionYesYes

HasPartitionYesYes

LoadPartitionsYesYes

ReleasePartitionsYesYes

GetPartitionStatisticsYesYes

ShowPartitionsYesYes

CreateAliasYesYes

DropAliasYesYes

AlterAliasYesYes

CreateIndexYesYes

DescribeIndexYesYes

GetIndexStateYesYes

GetIndexBuildProgressYesYes

DropIndexYesYes

InsertYesYes

DeleteYesYes

SearchYesYes

FlushYesYes

QueryYesYes

CalcDistanceYesYes

GetFlushStateYesYes

GetPersistentSegmentInfoYesYes

GetQuerySegmentInfoYesYes

GetMetricsYesYes
LoadBalanceYesYes

GetCompactionStateYesYes

ManualCompactionYesYes
GetCompactionStateWithPlansYesYes
GetCompactionPlans