/turbopuffer-typescript

Official Typescript API client library for turbopuffer.com

Primary LanguageTypeScriptMIT LicenseMIT

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,

npm publish --access public