← all repositories
milvus-io/pymilvus

The Python SDK for Milvus that pins versions like a dependency therapist

If you're running Milvus in production, this is the client library that keeps your Python code and server version from arguing.

1.4k stars Python RAG · Search
pymilvus
Velocity · 7d
+0.5
★ / day
Trend
steady
star history

What it does

PyMilvus is the official Python client for the Milvus vector database. It wraps the gRPC protocol, exposes a Pythonic API for collections, vectors, and search, and ships optional extras for embedding models (pymilvus[model]) and bulk ingestion (pymilvus[bulk_writer]). Python 3.8+ supported; install via pip.

The interesting bit

The README’s compatibility matrix is unusually honest — it maps every Milvus minor version (1.0 through 2.6) to a specific PyMilvus release. That’s the kind of documentation that saves you from 3 a.m. “why is my search returning nothing” debugging sessions. The project also uses uv for local development and auto-publishes release candidates to Test PyPI with deterministic versioning based on commit distance.

Key highlights

  • Version-locked compatibility matrix covering Milvus 1.x and 2.x
  • Optional extras for milvus-model embeddings and bulk_writer batch ingestion
  • Protobuf codegen via make gen_proto with git submodules for schema sync
  • Dev workflow uses uv, pre-commit hooks, and auto-pushes RCs to Test PyPI
  • Docs hosted at milvus.io with versioned API references

Caveats

  • The README is almost entirely setup and development workflow; no code examples of actual vector search usage
  • Q6 is missing from the FAQ (the numbering jumps from Q5 to Q7), which suggests the docs could use a quick editorial pass

Verdict

Use this if you’re already committed to Milvus and need a stable, well-versioned Python client. Skip it if you’re shopping for a vector database — the README won’t sell you on Milvus itself, just on how to plug into it.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.