Skip to content

Official Typescript API client library for turbopuffer.com

License

Notifications You must be signed in to change notification settings

turbopuffer/turbopuffer-typescript

Repository files navigation

The official TypeScript SDK for Turbopuffer.

To install,

npm i @turbopuffer/turbopuffer

Usage:

// Make a new client
// Connections are pooled for the lifetime of the client
// We recommend creating a single instance and reusing it for all calls
const tpuf = new Turbopuffer({
  apiKey: process.env.TURBOPUFFER_API_KEY as string,
});

// Instantiate an object to work with a namespace
const ns = tpuf.namespace("my-cool-namespace");

// Upsert some vectors
await ns.upsert({
  vectors: [
    {
      id: 1,
      vector: [1, 2],
      attributes: {
        foo: "bar",
        numbers: [1, 2, 3],
      },
    },
    {
      id: 2,
      vector: [3, 4],
      attributes: {
        foo: "baz",
        numbers: [2, 3, 4],
      },
    },
  ],
  distance_metric: "cosine_distance",
});

// Query
let results = await ns.query({
  vector: [1, 1],
  filters: {
    numbers: ["In", [2, 4]],
  },
});

To run the tests,

npm run test

To publish a new version,

  1. Bump version in package.json
  2. npm install to update package-lock.json
  3. npm publish --access public

About

Official Typescript API client library for turbopuffer.com

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published