Commit Graph

394 Commits

Author SHA1 Message Date
Lance Release 386d5da22f Bump version: 0.4.11 → 0.4.12 2024-04-05 16:31:45 -07:00
Weston Pace c60a193767 fix: sanitize foreign schemas (#1058)
Arrow-js uses brittle `instanceof` checks throughout the code base.
These fail unless the library instance that produced the object matches
exactly the same instance the vectordb is using. At a minimum, this
means that a user using arrow version 15 (or any version that doesn't
match exactly the version that vectordb is using) will get strange
errors when they try and use vectordb.

However, there are even cases where the versions can be perfectly
identical, and the instanceof check still fails. One such example is
when using `vite` (e.g. https://github.com/vitejs/vite/issues/3910)

This PR solves the problem in a rather brute force, but workable,
fashion. If we encounter a schema that does not pass the `instanceof`
check then we will attempt to sanitize that schema by traversing the
object and, if it has all the correct properties, constructing an
appropriate `Schema` instance via deep cloning.
2024-04-05 16:31:42 -07:00
QianZhu b32b69c993 Add create scalar index to sdk (#1033) 2024-04-05 16:31:36 -07:00
Rob Meng f3de3d990d chore: upgrade to lance 0.10.1 (#1034)
upgrade to lance 0.10.1 and update doc string to reflect dynamic
projection options
2024-04-05 16:31:36 -07:00
Will Jones 464a36ad38 feat: {add|alter|drop}_columns APIs (#1015)
Initial work for #959. This exposes the basic functionality for each in
all of the APIs. Will add user guide documentation in a later PR.
2024-04-05 16:30:47 -07:00
Weston Pace ad1e81a1d1 refactor: change arrow from a direct dependency to a peer dependency (#984)
BREAKING CHANGE: users will now need to npm install `apache-arrow` and
`@apache-arrow/ts` themselves.
2024-04-05 16:30:47 -07:00
Lance Release 562d1af1ed Bump version: 0.4.10 → 0.4.11 2024-04-05 16:30:40 -07:00
Weston Pace 2163502b31 refactor: rename the rust crate from vectordb to lancedb (#1012)
This also renames the new experimental node package to lancedb. The
classic node package remains named vectordb.

The goal here is to avoid introducing piecemeal breaking changes to the
vectordb crate. Instead, once the new API is stabilized, we will
officially release the lancedb crate and deprecate the vectordb crate.
The same pattern will eventually happen with the npm package vectordb.
2024-04-05 16:30:40 -07:00
Will Jones c5b0934bfb feat(node): add read_consistency_interval to Node and Rust (#1002)
This PR adds the same consistency semantics as was added in #828. It
*does not* add the same lazy-loading of tables, since that breaks some
existing tests.

This closes #998.

---------

Co-authored-by: Weston Pace <weston.pace@gmail.com>
2024-04-05 16:30:40 -07:00
Lance Release e888cb5b48 Bump version: 0.4.9 → 0.4.10 2024-04-05 16:30:30 -07:00
Weston Pace 9241f47f0e feat: make it easier to create empty tables (#942)
This PR also reworks the table creation utilities significantly so that
they are more consistent, built on top of each other, and thoroughly
documented.
2024-04-05 16:30:30 -07:00
Will Jones 68115f1369 fix: wrap in BigInt to avoid upstream bug (#962)
Closes #960
2024-04-05 16:30:30 -07:00
Lance Release 03e705c14c Bump version: 0.4.8 → 0.4.9 2024-04-05 16:29:58 -07:00
Weston Pace 41ccb48160 feat: add support for filter during merge insert when matched (#948)
Closes #940
2024-04-05 16:29:58 -07:00
Weston Pace 138fc3f66b feat: add a filterable count_rows to all the lancedb APIs (#913)
A `count_rows` method that takes a filter was recently added to
`LanceTable`. This PR adds it everywhere else except `RemoteTable` (that
will come soon).
2024-04-05 16:29:58 -07:00
Lance Release eb1f02919a Bump version: 0.4.7 → 0.4.8 2024-04-05 16:29:05 -07:00
Weston Pace 18f7bad3dd feat: add merge_insert to the node and rust APIs (#915) 2024-04-05 16:29:05 -07:00
JacobLinCool f308a0ffdb fix the repo link on npm, add links for homepage and bug report (#910)
- fix the repo link on npm
- add links for homepage and bug report
2024-04-05 16:29:05 -07:00
Lance Release 567c5f6d01 Bump version: 0.4.6 → 0.4.7 2024-04-05 16:28:56 -07:00
Lei Xu 8e139012e2 fix(node): pass AWS credentials to db level operations (#908)
Passed the following tests

```ts
const keyId = process.env.AWS_ACCESS_KEY_ID;
const secretKey = process.env.AWS_SECRET_ACCESS_KEY;
const sessionToken = process.env.AWS_SESSION_TOKEN;
const region = process.env.AWS_REGION;

const db = await lancedb.connect({
  uri: "s3://bucket/path",
  awsCredentials: {
    accessKeyId: keyId,
    secretKey: secretKey,
    sessionToken: sessionToken,
  },
  awsRegion: region,
} as lancedb.ConnectionOptions);

  console.log(await db.createTable("test", [{ vector: [1, 2, 3] }]));
  console.log(await db.tableNames());
  console.log(await db.dropTable("test"))
```
2024-04-05 16:28:56 -07:00
Lei Xu e7fdb931de chore: convert all js doc test to use snippet. (#881) 2024-04-05 16:28:56 -07:00
Lance Release 334e423464 Bump version: 0.4.5 → 0.4.6 2024-04-05 16:28:18 -07:00
Lei Xu a192c1a9b1 chore(rust): simplified version of optimize (#869)
Consolidate various optimize() into one method, similar to postgres
VACCUM in the process of preparing Rust API for public use
2024-04-05 16:28:18 -07:00
Lance Release 0be4fd2aa6 Bump version: 0.4.4 → 0.4.5 2024-04-05 16:27:59 -07:00
Lei Xu 0664eee38d fix: release build for node sdk (#861) 2024-04-05 16:27:59 -07:00
Lance Release f3dd5c89dc Bump version: 0.4.3 → 0.4.4 2024-04-05 16:27:51 -07:00
Lei Xu 65c1d8bc4c feat: change create table to accept Arrow table (#845) 2024-04-05 16:27:50 -07:00
Bert a409000c6f allow passing api key as env var (#841)
Allow passing API key as env var:
```shell
export LANCEDB_API_KEY=sh_123...
```

with this set, apiKey argument can omitted from `connect`
```js
    const db = await vectordb.connect({
        uri: "db://test-proj-01-ae8343",
        region: "us-east-1",
  })
```
```py
    db = lancedb.connect(
        uri="db://test-proj-01-ae8343",
        region="us-east-1",
    )
```
2024-04-05 16:27:42 -07:00
Lei Xu d8befeeea2 feat(js): add helper function to create Arrow Table with schema (#838)
Support to make Apache Arrow Table from an array of javascript Records,
with optionally provided Schema.
2024-04-05 16:27:42 -07:00
Chang She b699b5c42b chore(js): remove errant console.log (#834) 2024-04-05 16:27:42 -07:00
Chang She d19bf80375 Merge branch 'tecmie/embeddings-openai' of github.com:tecmie/lancedb into tecmie-tecmie/embeddings-openai 2024-04-05 16:27:41 -07:00
Lei Xu 5b2c602fb3 doc: improve docs for nodejs connect functions (#833)
* improve the docstring for NodeJS connect functions and
`ConnectOptions` parameters.
* Simplify `npm run build` steps.
2024-04-05 16:27:32 -07:00
Andrew Miracle 8daed93a91 eslint fix 2024-04-05 16:25:52 -07:00
Andrew Miracle f1aad1afc7 Merge branch 'main' into tecmie/embeddings-openai 2024-04-05 16:25:51 -07:00
Andrew Miracle fa13fb9392 rebase from lancedb/main 2024-04-05 16:25:14 -07:00
Lance Release d39145c7e4 Updating package-lock.json 2024-04-05 16:25:14 -07:00
Lance Release 3463248eba Bump version: 0.4.2 → 0.4.3 2024-04-05 16:25:14 -07:00
Chang She 118a11c9b3 feat(node): align incoming data to table schema (#802) 2024-04-05 16:25:14 -07:00
Chang She a758876a65 feat(node): support table.schema for LocalTable (#789)
Close #773 

we pass an empty table over IPC so we don't need to manually deal with
serde. Then we just return the schema attribute from the empty table.

---------

Co-authored-by: albertlockett <albert.lockett@gmail.com>
2024-04-05 16:25:14 -07:00
Lance Release f0a654036e Updating package-lock.json 2024-04-05 16:25:02 -07:00
Lance Release 162f8536d1 Updating package-lock.json 2024-04-05 16:25:02 -07:00
Lance Release 55cc3ed5a2 Bump version: 0.4.2 → 0.4.3 2024-04-05 16:25:02 -07:00
Chang She 81487f10fe feat(js): support list of string input (#755)
Add support for adding lists of string input (e.g., list of categorical
labels)

Follow-up items: #757 #758
2024-04-05 16:25:02 -07:00
Lance Release 3aa233f38a Updating package-lock.json 2024-04-05 16:25:02 -07:00
Lance Release 3278fa75d1 Bump version: 0.4.1 → 0.4.2 2024-04-05 16:25:02 -07:00
Aidan a76b5755ff fix: createIndex index cache size (#741) 2024-04-05 16:25:02 -07:00
Lance Release ab794ba237 Updating package-lock.json 2024-04-05 16:25:02 -07:00
Lance Release 8705784cea Bump version: 0.4.0 → 0.4.1 2024-04-05 16:25:02 -07:00
Andrew Miracle 5948f11641 eslint fix 2024-04-05 16:25:02 -07:00
Andrew Miracle 9efc3fa6d8 remove console logs 2024-04-05 16:25:02 -07:00