lancedb0.17.0
lancedb0.17.0
Published
lancedb
pip install lancedb
Package Downloads
Authors
Project URLs
Requires Python
>=3.9
Dependencies
- deprecation
- pylance
==0.20.0
- tqdm
>=4.27.0
- pydantic
>=1.10
- packaging
- overrides
>=0.7
- aiohttp
; extra == "tests"
- boto3
; extra == "tests"
- pandas
>=1.4; extra == "tests"
- pytest
; extra == "tests"
- pytest-mock
; extra == "tests"
- pytest-asyncio
; extra == "tests"
- duckdb
; extra == "tests"
- pytz
; extra == "tests"
- polars
<=1.3.0,>=0.19; extra == "tests"
- tantivy
; extra == "tests"
- ruff
; extra == "dev"
- pre-commit
; extra == "dev"
- mkdocs
; extra == "docs"
- mkdocs-jupyter
; extra == "docs"
- mkdocs-material
; extra == "docs"
- mkdocstrings
[python]; extra == "docs"
- torch
; extra == "clip"
- pillow
; extra == "clip"
- open-clip
; extra == "clip"
- requests
>=2.31.0; extra == "embeddings"
- openai
>=1.6.1; extra == "embeddings"
- sentence-transformers
; extra == "embeddings"
- torch
; extra == "embeddings"
- pillow
; extra == "embeddings"
- open-clip-torch
; extra == "embeddings"
- cohere
; extra == "embeddings"
- huggingface-hub
; extra == "embeddings"
- instructorembedding
; extra == "embeddings"
- google-generativeai
; extra == "embeddings"
- boto3
>=1.28.57; extra == "embeddings"
- awscli
>=1.29.57; extra == "embeddings"
- botocore
>=1.31.57; extra == "embeddings"
- ollama
; extra == "embeddings"
- ibm-watsonx-ai
>=1.1.2; extra == "embeddings"
- adlfs
>=2024.2.0; extra == "azure"
LanceDB
A Python library for LanceDB.
Installation
pip install lancedb
Usage
Basic Example
import lancedb
db = lancedb.connect('<PATH_TO_LANCEDB_DATASET>')
table = db.open_table('my_table')
results = table.search([0.1, 0.3]).limit(20).to_list()
print(results)
Development
LanceDb is based on the rust crate lancedb
and is built with maturin. In order to build with maturin
you will either need a conda environment or a virtual environment (venv).
python -m venv venv
. ./venv/bin/activate
Install the necessary packages:
python -m pip install .[tests,dev]
To build the python package you can use maturin:
# This will build the rust bindings and place them in the appropriate place
# in your venv or conda environment
maturin develop
To run the unit tests:
pytest
To run the doc tests:
pytest --doctest-modules python/lancedb
To run linter and automatically fix all errors:
ruff format python
ruff --fix python
If any packages are missing, install them with:
pip install <PACKAGE_NAME>
For Windows users, there may be errors when installing packages, so these commands may be helpful:
Activate the virtual environment:
. .\venv\Scripts\activate
You may need to run the installs separately:
pip install -e .[tests]
pip install -e .[dev]
tantivy
requires rust
to be installed, so install it with conda
, as it doesn't support windows installation:
pip install wheel
pip install cargo
conda install rust
pip install tantivy