-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
[project]
name = "search"
version = "0.1.0"
description = "Semantic file search using FastEmbed and sqlite-vec"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"fastembed>=0.5.0",
"pillow-avif-plugin>=1.4.6",
"platformdirs>=4.3.6",
"sqlite-vec>=0.1.6",
"watchdog>=6.0.0",
]
[project.optional-dependencies]
intel = [
"onnxruntime-openvino>=1.20.0",
]
nvidia = [
"onnxruntime-gpu>=1.20.1",
]
amd = [
"onnxruntime-rocm>=1.19.0",
]
[project.scripts]
search-server = "search:server"
search-client = "search:client"
[tool.uv]
package = true
# Need to manually add this
# https://github.com/astral-sh/uv/issues/8717
find-links = ["https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.1/"]
conflicts = [
[
{ extra = "intel" },
{ extra = "nvidia" },
{ extra = "amd" },
]
]
# Uncomment if developing locally with GPU
# override-dependencies = [
# "onnxruntime; sys_platform == 'never'",
# ]
# [[tool.uv.dependency-metadata]]
# name = "fastembed"
# version = "0.5.0"
# # https://github.com/qdrant/fastembed/blob/main/pyproject.toml
# # HORRIBLE HACK
# # fastembed has a hardcoded onnxruntime dependency but we need to override it but only for the GPU extras
# # So just nuke its onnxruntime dependency
# # We can't nuke it with something like this since then uv will never be able to install onnxruntime required by the CPU version
# # [tool.uv]
# # override-dependencies = [
# # "onnxruntime; sys_platform == 'never'",
# # ]
# # And uv doesn't support per-extra override-dependencies
# # pipx should still be able to install the CPU version normally but not the GPU extras
# # I HATE PYTHON PACKAGING
# # and onnxruntime in particular
# requires-dist = ["onnx", "numpy", "tqdm", "requests", "tokenizers", "huggingface-hub", "loguru", "pillow", "mmh3", "py-rust-stemmers"]