feat(python): transition Python remote sdk to use Rust implementation (#1701)

* Replaces Python implementation of Remote SDK with Rust one.
* Drops dependency on `attrs` and `cachetools`. Makes `requests` an
optional dependency used only for embeddings feature.
* Adds dependency on `nest-asyncio`. This was required to get hybrid
search working.
* Deprecate `request_thread_pool` parameter. We now use the tokio
threadpool.
* Stop caching the `schema` on a remote table. Schema is mutable and
there's no mechanism in place to invalidate the cache.
* Removed the client-side resolution of the vector column. We should
already be resolving this server-side.
This commit is contained in:
Will Jones
2024-11-05 13:44:39 -08:00
committed by GitHub
parent c61bfc3af8
commit 91cab3b556
21 changed files with 521 additions and 901 deletions

View File

@@ -18,7 +18,6 @@ import lancedb
import numpy as np
import pandas as pd
import pytest
import requests
from lancedb.embeddings import get_registry
from lancedb.pydantic import LanceModel, Vector
@@ -108,6 +107,7 @@ def test_basic_text_embeddings(alias, tmp_path):
@pytest.mark.slow
def test_openclip(tmp_path):
import requests
from PIL import Image
db = lancedb.connect(tmp_path)