Link Search Menu Expand Document Documentation Menu


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 .