2.0.0 • Published 6 months ago

@aaryav/js-client-grpc v2.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

JavaScript Arya gRPC Client

This repository contains the gRPC client for the Arya vector search engine.

Installation

npm install @arya/js-client-grpc
# or
yarn add @arya/js-client-grpc
# or
pnpm i @arya/js-client-grpc

Usage

Run the Arya Docker container:

docker run -p 6334:6334 arya/arya

Instantiate a client

import {AryaClient} from '@arya/js-client-grpc';

const client = new AryaClient({host: '127.0.0.1', port: 6334});
// or
const client = new AryaClient({url: 'http://127.0.0.1:6334'});

Make requests

Use an endpoint from collections API:

try {
    const result = await client.api('collections').list({});
    console.log('List of collections:', result.collections);
} catch (err) {
    console.error('Could not get collections:', err);
}

Support

The gRPC implementation relies on the native node module node:https. For the time being, no JavaScript runtime other than Node / Deno are supported (though support for web may be added). Both Deno and Node support full-duplex, HTTP trailers and all the necessary bits for gRPC. Under the hood, the client uses connect-es to communicate with the server.

Releases

Major and minor versions align with Arya's engine releases, whilst patch are reserved for fixes regarding the current minor release. Check out RELEASE.md for more info on release guidelines.

Contributing

These are the most relevant scripts for development:

  • pnpm build: builds and bundles from TypeScript sources
  • pnpm pre-check: type-checks sources
  • pnpm pre-commit: same as pre-check, but for git hooks (husky)
  • pnpm test: run unit tests
  • pnpm test:integration: runs integration tests against a locally running Arya docker container
  • pnpm codegen:grpc-typescript: updates generated TS classes and types from the latest remote proto files