Skip to main content

Python SDK for Milvus

Project description

Milvus Python SDK

version Supported Python Versions Downloads Downloads Downloads

license Static Badge

Python SDK for Milvus. To contribute code to this project, please read our contribution guidelines first. If you have some ideas or encounter a problem, you can find us in the Slack channel #py-milvus.

Compatibility

The following collection shows Milvus versions and recommended PyMilvus versions:

Milvus version Recommended PyMilvus version
1.0.* 1.0.1
1.1.* 1.1.2
2.0.* 2.0.2
2.1.* 2.1.3
2.2.* 2.2.15
2.3.* 2.3.7
2.4.* 2.4.X
2.5.* 2.5.X
2.6.* 2.6.X

Installation

You can install PyMilvus via pip or pip3 for Python 3.9+:

$ pip3 install pymilvus
$ pip3 install pymilvus[model] # for milvus-model
$ pip3 install pymilvus[bulk_writer] # for bulk_writer

You can install a specific version of PyMilvus by:

$ pip3 install pymilvus==2.4.10

You can upgrade PyMilvus to the latest version by:

$ pip3 install --upgrade pymilvus

FAQ

Local development commands use uv. Install uv before running the make targets below.

Q1. How to get submodules?

A1. The following command will get the protos matching to the generated files, for protos of certain version, see milvus-proto for details.

$ git submodule update --init

Q2. How to generate python files from milvus-proto?

A2.

$ make gen_proto

Q3. How to use the local PyMilvus repository for Milvus server?

A3.

$ make install

Q4. How to check and auto-fix the coding styles?

A4.

make lint
make format

Q5. How to set up pre-commit hooks to automatically check and fix the coding styles?

Once installed, the hooks will automatically run make format and make lint before each commit. If the checks fail, the commit will be aborted, and you'll need to fix the issues before committing again.

A5. Pre-commit hooks help ensure code quality by automatically running linting and formatting checks before each commit.

# Install pre-commit (if not already installed)
$ uv tool install pre-commit

# Install the git hook scripts
$ pre-commit install

Q7. How to run the maintained test suites?

A7

$ uv sync --group dev
$ make unittest
$ make integration-lite

Q8. zsh: no matches found: pymilvus[model], how do I solve this?

A8

$ pip install "pymilvus[model]"

Documentation

Documentation is available online: https://milvus.io/api-reference/pymilvus/v2.6.x/About.md

Developing package releases

The commits on the development branch of each version will be packaged and uploaded to Test PyPI.

The package name generated by the development branch is x.y.z.rc, where is the number of commits that differ from the most recent release.

  • For example, after the release of 2.3.4, two commits were submitted on the 2.3 branch. The version number of the latest commit of 2.3 branch is 2.3.5.rc2.

  • For example, after the release of 2.3.4, 10 commits were submitted on the master branch. The version number of the latest commit of master branch is 2.4.0.rc10.

To install the package on Test PyPi, you need to append --extra-index-url after pip, for example:

$ python3 -m pip install --extra-index-url https://test.pypi.org/simple/ pymilvus==2.1.0.dev66

License

Apache License 2.0

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymilvus-3.0.1.tar.gz (347.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymilvus-3.0.1-py3-none-any.whl (386.8 kB view details)

Uploaded Python 3

File details

Details for the file pymilvus-3.0.1.tar.gz.

File metadata

  • Download URL: pymilvus-3.0.1.tar.gz
  • Upload date:
  • Size: 347.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymilvus-3.0.1.tar.gz
Algorithm Hash digest
SHA256 c02389059088b18d6e598cd175541e445c772fab4926c5e527c4913be34887f1
MD5 f27ce55e42ec115d8dc2a9847607ca96
BLAKE2b-256 c0786bd0dba340706bc63346af96f0ebe36ff17f75404f5de935fda94d476c98

See more details on using hashes here.

File details

Details for the file pymilvus-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: pymilvus-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 386.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymilvus-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5a8d5c1fa1de7b416e3529d383d8cc2e7da2170433ffa4a2d9087e14f70171a
MD5 a98426e7e4098c4de84aadb98307ec17
BLAKE2b-256 609d7011887b29f452905745e8bd321f404068d5bfe78fe84e42c0b7cd81a065

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page