# LanceDB client for the SeaweedFS Lance Namespace integration test.
#
# The Iceberg suites point Spark, Trino and ClickHouse at the catalog; this is
# the same idea for Lance. LanceDB connects with connect_namespace("rest", ...),
# which speaks the routes this catalog implements, so what it exercises is the
# protocol rather than requests we wrote ourselves.
FROM python:3.11-slim

WORKDIR /app

# Pinned to the versions this suite was verified against. An unrelated upstream
# release should not be able to change what an old commit reproduces, and this
# client is the thing under test as much as the server is.
RUN pip install --no-cache-dir \
    "lancedb==0.37.1" \
    "lance-namespace==0.8.6" \
    "pylance==10.0.0" \
    "pyarrow==25.0.1"

COPY lancedb_ops.py /app/

CMD ["python3", "/app/lancedb_ops.py", "--help"]
