A Python library for LanceDB.
pip install lancedbimport 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)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/activateInstall 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 developTo run the unit tests:
pytestTo run the doc tests:
pytest --doctest-modules python/lancedbTo run linter and automatically fix all errors:
ruff format python
ruff --fix pythonIf 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\activateYou 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