vespa-engine / vespa

AI + Data, online. https://vespa.ai
https://vespa.ai
Apache License 2.0
5.45k stars 582 forks source link

Export Vespa golang client API as a library #30413

Open ankurcha opened 4 months ago

ankurcha commented 4 months ago

Is your feature request related to a problem? Please describe. I would like to use an official / supported golang client for integrating a application written in golang. The current clients/go contains the command line utility and a bunch of very useful utility functions that should ideally be exported so that developers can use that directly rather than having to implement it from scratch using http/client.

Describe the solution you'd like I would like to see the clients/go utility export a usable interface that can be integrated in the client applications.

Describe alternatives you've considered

Additional context N/A

mpolden commented 3 months ago

Is it primarily the feed client you're interested in? (document package: https://github.com/vespa-engine/vespa/tree/master/client/go/internal/vespa/document)

ankurcha commented 3 months ago

Correct, feeder is the primary use case right now. The admin functions would be low priority but nice to have eventually.

mpolden commented 3 months ago

We have discussed exposing CLI as a library several times internally. The feeder might be good starting point.

kkraune commented 3 months ago

start with adding feed (and possibly visit)

kkraune commented 3 months ago

... and set beta/experimental, if possible ...