Link Search Menu Expand Document Documentation Menu

This version of the OpenSearch documentation is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.


opensearch-py-ml is a Python client that provides a suite of data analytics and natural language processing (NLP) support tools for OpenSearch. It provides data analysts with the ability to:

  • Call OpenSearch indexes and manipulate them using the opensearch-py-ml DataFrame APIs. The opensearch-py-ml DataFrame wraps an OpenSearch index into an API similar to pandas, giving you the ability to process large amounts of data from OpenSearch inside a Jupyter Notebook.
  • Upload NLP SentenceTransformer models into OpenSearch using the ML Commons plugin.
  • Train and tune SentenceTransformer models with synthetic queries.


To use opensearch-py-ml, install the OpenSearch Python client. The Python client allows OpenSearch to use the Python syntax required to run DataFrames in opensearch-py-ml.

Install opensearch-py-ml

To add the client to your project, install it using pip:

pip install opensearch-py-ml

Then import the client into OpenSearch like any other module:

from opensearchpy import OpenSearch
import opensearch_py_ml as oml

API reference

For information on all opensearch-py-ml objects, functions, and methods, see the opensearch-py-ml API reference.

Next steps

If you want to track or contribute to the development of the opensearch-py-ml client, see the opensearch-py-ml GitHub repository.

For example Python notebooks to use with the client, see Examples.

350 characters left

Have a question? .

Want to contribute? or .