Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PROPOSAL] Merge with opensearch-py? #372

Open
dblock opened this issue Jan 18, 2024 · 3 comments
Open

[PROPOSAL] Merge with opensearch-py? #372

dblock opened this issue Jan 18, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@dblock
Copy link
Member

dblock commented Jan 18, 2024

Is your feature request related to a problem?

Users are confused with the many OpenSearch clients. Is opensearch-py-ml one too many?

The dsl client has a high-level and a low-level interface. For AWS users there’s also boto3 (see https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-sdk.html#serverless-sdk-python), used to create collections. We have opensearch-dsl-py client that has been deprecated since 2.1 and will be archived.

What solution would you like?

Merge opensearch-py-ml into opensearch-py.

What alternatives have you considered?

Leave things as is.

@saimedhi
Copy link

I've reviewed the repository code, and I feel merging opensearch-py-ml into opensearch-py is feasible. I estimate it would take approximately 3 weeks to 1 month to merge all the code and tests, ensuring everything runs smoothly.

@dblock dblock removed the untriaged label Jun 17, 2024
@dblock
Copy link
Member Author

dblock commented Jun 17, 2024

Catch All Triage - 1 2 3 4 5

@rbpasker
Copy link

I think it might be worthwhile to conduct a high-level review of the ML API before merging it in. There are consistency and orthogonality issues that caused me a lot of confusion.

Here would be some things to discuss:

  1. HTTP or CRUD idiom -- should the methods be named put, get, post, delete (as in the OpenSearch main API); or create, update, delete (as in ML)?
  2. should the methods be suffixed with the object name? eg, (using the HTTP idiom) Connector.put_connector() or Connector.put()?
  3. There are some differences in kwarg names that should be the same across the APIs, eg body and payload for the HTTP contents

my personal preference is for CRUD without repeating the object name, eg Connector.create()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants