[project] name = "droid_semantic_search" version = "0.1.0" readme = "README.md" requires-python = ">=3.12,<3.13" dependencies = [ # `catalog` brings datafusion + pandas; `dataloader` brings torch, torchvision, av, pillow. "rerun-sdk[catalog,dataloader]", "lancedb", # default local vector store + ANN index (--backend lance) "qdrant-client", # alternative local vector store (--backend qdrant) "transformers>=5.13.0", # SigLIP-2 model + processor "pyarrow<24", # building the vector-index table "huggingface-hub", # prepare_dataset.py: download DROID sample episodes from the Hub "tqdm", # progress bars for download/register/ingest ] [dependency-groups] dev = ["mypy==1.19.1", "types-tqdm"] [tool.rerun-example] # Picked up by scripts/ci/isolated_examples.py and the `py-lint-isolated-examples` pixi task. isolated = true [tool.uv] # The example is flat scripts, not a wheel — skip project build, just sync deps. package = false # Default `uv sync` uses the in-repo editable rerun-sdk (monorepo dev mode). # After syncing, also run `uv pip install ../../../rerun_py/rerun_dev_fixup` to # install the .pth shim that makes `import rerun` resolve to the editable source tree. # # Standalone users (e.g. sparse-checkout of just this example) run instead: # uv sync --no-sources --no-dev # That ignores the path source below and resolves `rerun-sdk` from PyPI. # rerun-dev-fixup is intentionally absent from this file: uv 0.7.x resolves all # dependency groups and extras unconditionally, so any path-only package here would # block standalone `--no-sources` resolution. [tool.uv.sources] rerun-sdk = { path = "../../../rerun_py", editable = true } # Merged onto the shared base at `../_isolated/mypy.ini` by # scripts/ci/isolated_examples.py — list the untyped third-party libs this # example actually imports. [[tool.mypy.overrides]] module = [ "lancedb.*", "qdrant_client.*", "torch.*", "torchvision.*", "av.*", "PIL.*", "huggingface_hub.*", # pyarrow is pinned <24 (24.0.0 segfaults rerun on import); 23.x ships no py.typed, # so all of pyarrow — including pyarrow.compute — is untyped to mypy. "pyarrow.*", ] ignore_missing_imports = true # transformers ships a `py.typed` marker but with incomplete stubs, so type-checking its # internals yields false positives we can't fix from here: model methods are wrapped in # `_Wrapped` descriptors that mistype `self` (`AutoModel has no attribute "to"`, # `AutoProcessor not callable`, etc.). Skip following it — we only need our own usage typed. [[tool.mypy.overrides]] module = ["transformers.*"] follow_imports = "skip" ignore_missing_imports = true