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.8+:

$ 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-2.6.17.tar.gz (306.9 kB view details)

Uploaded Source

Built Distribution

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

pymilvus-2.6.17-py3-none-any.whl (342.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pymilvus-2.6.17.tar.gz
  • Upload date:
  • Size: 306.9 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-2.6.17.tar.gz
Algorithm Hash digest
SHA256 d9f849ef177f242febc4c02ece88feea46a1a9a1d0c67688b600e7cce3b76f43
MD5 df32dd4eec2d53dc01e98607b2c986fa
BLAKE2b-256 61227dad24082f7efa4bf5ff29f0d9241cec6a8c8ebeb08ad126ca7ca4793da7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymilvus-2.6.17-py3-none-any.whl
  • Upload date:
  • Size: 342.1 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-2.6.17-py3-none-any.whl
Algorithm Hash digest
SHA256 583c680bea60b5944762ae81dd577169efe3b895b579d78e60bab05c087c4f89
MD5 db85b7a6f1270ba55df915c2167d9a5d
BLAKE2b-256 42a69e2824138ffe1b2932c24f836638dabff5c6fbb5a9afcc1ba5ac5cdc39d8

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