vicinity 0.4.2__tar.gz → 0.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vicinity-0.4.2 → vicinity-0.4.3}/PKG-INFO +2 -2
- {vicinity-0.4.2 → vicinity-0.4.3}/README.md +1 -1
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/__init__.py +26 -1
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/version.py +1 -1
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity.egg-info/PKG-INFO +2 -2
- {vicinity-0.4.2 → vicinity-0.4.3}/.github/workflows/ci.yaml +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/.gitignore +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/.pre-commit-config.yaml +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/LICENSE +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/Makefile +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/assets/images/vicinity_logo.png +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/pyproject.toml +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/setup.cfg +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/tests/conftest.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/tests/test_utils.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/tests/test_vicinity.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/uv.lock +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/__init__.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/annoy.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/base.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/basic.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/faiss.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/hnsw.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/pynndescent.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/usearch.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/backends/voyager.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/datatypes.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/integrations/dataset_card_template.md +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/integrations/huggingface.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/py.typed +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/utils.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity/vicinity.py +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity.egg-info/SOURCES.txt +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity.egg-info/dependency_links.txt +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity.egg-info/requires.txt +0 -0
- {vicinity-0.4.2 → vicinity-0.4.3}/vicinity.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vicinity
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3
|
|
4
4
|
Summary: Lightweight Nearest Neighbors with Flexible Backends
|
|
5
5
|
Author-email: Stéphan Tulkens <stephantul@gmail.com>, Thomas van Dongen <thomas123@live.nl>
|
|
6
6
|
License: MIT License
|
|
@@ -103,7 +103,7 @@ Requires-Dist: voyager; extra == "all"
|
|
|
103
103
|
<div align="center">
|
|
104
104
|
<h2>
|
|
105
105
|
<a href="https://pypi.org/project/vicinity/"><img src="https://img.shields.io/pypi/v/vicinity?color=%23007ec6&label=pypi%20package" alt="Package version"></a>
|
|
106
|
-
<a href="https://
|
|
106
|
+
<a href="https://minish.ai/packages/vicinity/introduction"><img src="https://img.shields.io/badge/docs-minish.ai-blue.svg" alt="Docs"></a>
|
|
107
107
|
<a href="https://pepy.tech/project/vicinity">
|
|
108
108
|
<img src="https://static.pepy.tech/badge/vicinity" alt="Downloads">
|
|
109
109
|
</a>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div align="center">
|
|
8
8
|
<h2>
|
|
9
9
|
<a href="https://pypi.org/project/vicinity/"><img src="https://img.shields.io/pypi/v/vicinity?color=%23007ec6&label=pypi%20package" alt="Package version"></a>
|
|
10
|
-
<a href="https://
|
|
10
|
+
<a href="https://minish.ai/packages/vicinity/introduction"><img src="https://img.shields.io/badge/docs-minish.ai-blue.svg" alt="Docs"></a>
|
|
11
11
|
<a href="https://pepy.tech/project/vicinity">
|
|
12
12
|
<img src="https://static.pepy.tech/badge/vicinity" alt="Downloads">
|
|
13
13
|
</a>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from importlib.util import find_spec
|
|
1
2
|
from typing import Union
|
|
2
3
|
|
|
3
4
|
from vicinity.backends.base import AbstractBackend
|
|
@@ -5,35 +6,59 @@ from vicinity.backends.basic import BasicBackend, BasicVectorStore
|
|
|
5
6
|
from vicinity.datatypes import Backend
|
|
6
7
|
|
|
7
8
|
|
|
9
|
+
class OptionalDependencyError(ImportError):
|
|
10
|
+
def __init__(self, backend: Backend, extra: str) -> None:
|
|
11
|
+
msg = f"{backend} requires extra '{extra}'.\n" f"Install it with: pip install 'vicinity[{extra}]'\n"
|
|
12
|
+
super().__init__(msg)
|
|
13
|
+
self.backend = backend
|
|
14
|
+
self.extra = extra
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def _require(module_name: str, backend: Backend, extra: str) -> None:
|
|
18
|
+
"""Check if a dependency is importable, otherwise raise an error."""
|
|
19
|
+
if find_spec(module_name) is None:
|
|
20
|
+
raise OptionalDependencyError(backend, extra)
|
|
21
|
+
|
|
22
|
+
|
|
8
23
|
def get_backend_class(backend: Union[Backend, str]) -> type[AbstractBackend]:
|
|
9
|
-
"""Get
|
|
24
|
+
"""Get the requested backend and ensure its dependencies are installed."""
|
|
10
25
|
backend = Backend(backend)
|
|
26
|
+
|
|
11
27
|
if backend == Backend.BASIC:
|
|
12
28
|
return BasicBackend
|
|
29
|
+
|
|
13
30
|
elif backend == Backend.HNSW:
|
|
31
|
+
_require("hnswlib", backend, "hnsw")
|
|
14
32
|
from vicinity.backends.hnsw import HNSWBackend
|
|
15
33
|
|
|
16
34
|
return HNSWBackend
|
|
35
|
+
|
|
17
36
|
elif backend == Backend.ANNOY:
|
|
37
|
+
_require("annoy", backend, "annoy")
|
|
18
38
|
from vicinity.backends.annoy import AnnoyBackend
|
|
19
39
|
|
|
20
40
|
return AnnoyBackend
|
|
41
|
+
|
|
21
42
|
elif backend == Backend.PYNNDESCENT:
|
|
43
|
+
_require("pynndescent", backend, "pynndescent")
|
|
22
44
|
from vicinity.backends.pynndescent import PyNNDescentBackend
|
|
23
45
|
|
|
24
46
|
return PyNNDescentBackend
|
|
25
47
|
|
|
26
48
|
elif backend == Backend.FAISS:
|
|
49
|
+
_require("faiss", backend, "faiss")
|
|
27
50
|
from vicinity.backends.faiss import FaissBackend
|
|
28
51
|
|
|
29
52
|
return FaissBackend
|
|
30
53
|
|
|
31
54
|
elif backend == Backend.USEARCH:
|
|
55
|
+
_require("usearch", backend, "usearch")
|
|
32
56
|
from vicinity.backends.usearch import UsearchBackend
|
|
33
57
|
|
|
34
58
|
return UsearchBackend
|
|
35
59
|
|
|
36
60
|
elif backend == Backend.VOYAGER:
|
|
61
|
+
_require("voyager", backend, "voyager")
|
|
37
62
|
from vicinity.backends.voyager import VoyagerBackend
|
|
38
63
|
|
|
39
64
|
return VoyagerBackend
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version_triple__ = (0, 4,
|
|
1
|
+
__version_triple__ = (0, 4, 3)
|
|
2
2
|
__version__ = ".".join(map(str, __version_triple__))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vicinity
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3
|
|
4
4
|
Summary: Lightweight Nearest Neighbors with Flexible Backends
|
|
5
5
|
Author-email: Stéphan Tulkens <stephantul@gmail.com>, Thomas van Dongen <thomas123@live.nl>
|
|
6
6
|
License: MIT License
|
|
@@ -103,7 +103,7 @@ Requires-Dist: voyager; extra == "all"
|
|
|
103
103
|
<div align="center">
|
|
104
104
|
<h2>
|
|
105
105
|
<a href="https://pypi.org/project/vicinity/"><img src="https://img.shields.io/pypi/v/vicinity?color=%23007ec6&label=pypi%20package" alt="Package version"></a>
|
|
106
|
-
<a href="https://
|
|
106
|
+
<a href="https://minish.ai/packages/vicinity/introduction"><img src="https://img.shields.io/badge/docs-minish.ai-blue.svg" alt="Docs"></a>
|
|
107
107
|
<a href="https://pepy.tech/project/vicinity">
|
|
108
108
|
<img src="https://static.pepy.tech/badge/vicinity" alt="Downloads">
|
|
109
109
|
</a>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|