vector-inspector 0.2.6__py3-none-any.whl → 0.3.1__py3-none-any.whl
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.
- vector_inspector/config/__init__.py +4 -0
- vector_inspector/config/known_embedding_models.json +432 -0
- vector_inspector/core/cache_manager.py +159 -0
- vector_inspector/core/connection_manager.py +277 -0
- vector_inspector/core/connections/__init__.py +2 -1
- vector_inspector/core/connections/base_connection.py +42 -1
- vector_inspector/core/connections/chroma_connection.py +137 -16
- vector_inspector/core/connections/pinecone_connection.py +768 -0
- vector_inspector/core/connections/qdrant_connection.py +62 -8
- vector_inspector/core/embedding_providers/__init__.py +14 -0
- vector_inspector/core/embedding_providers/base_provider.py +128 -0
- vector_inspector/core/embedding_providers/clip_provider.py +260 -0
- vector_inspector/core/embedding_providers/provider_factory.py +176 -0
- vector_inspector/core/embedding_providers/sentence_transformer_provider.py +203 -0
- vector_inspector/core/embedding_utils.py +167 -0
- vector_inspector/core/model_registry.py +205 -0
- vector_inspector/services/backup_restore_service.py +19 -29
- vector_inspector/services/credential_service.py +130 -0
- vector_inspector/services/filter_service.py +1 -1
- vector_inspector/services/profile_service.py +409 -0
- vector_inspector/services/settings_service.py +136 -1
- vector_inspector/ui/components/connection_manager_panel.py +327 -0
- vector_inspector/ui/components/profile_manager_panel.py +565 -0
- vector_inspector/ui/dialogs/__init__.py +6 -0
- vector_inspector/ui/dialogs/cross_db_migration.py +383 -0
- vector_inspector/ui/dialogs/embedding_config_dialog.py +315 -0
- vector_inspector/ui/dialogs/provider_type_dialog.py +189 -0
- vector_inspector/ui/main_window.py +456 -190
- vector_inspector/ui/views/connection_view.py +55 -10
- vector_inspector/ui/views/info_panel.py +272 -55
- vector_inspector/ui/views/metadata_view.py +71 -3
- vector_inspector/ui/views/search_view.py +44 -4
- vector_inspector/ui/views/visualization_view.py +19 -5
- {vector_inspector-0.2.6.dist-info → vector_inspector-0.3.1.dist-info}/METADATA +3 -1
- vector_inspector-0.3.1.dist-info/RECORD +55 -0
- vector_inspector-0.2.6.dist-info/RECORD +0 -35
- {vector_inspector-0.2.6.dist-info → vector_inspector-0.3.1.dist-info}/WHEEL +0 -0
- {vector_inspector-0.2.6.dist-info → vector_inspector-0.3.1.dist-info}/entry_points.txt +0 -0
|
@@ -12,6 +12,7 @@ from vector_inspector.core.connections.base_connection import VectorDBConnection
|
|
|
12
12
|
from vector_inspector.ui.components.filter_builder import FilterBuilder
|
|
13
13
|
from vector_inspector.ui.components.loading_dialog import LoadingDialog
|
|
14
14
|
from vector_inspector.services.filter_service import apply_client_side_filters
|
|
15
|
+
from vector_inspector.core.cache_manager import get_cache_manager, CacheEntry
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
class SearchView(QWidget):
|
|
@@ -21,8 +22,10 @@ class SearchView(QWidget):
|
|
|
21
22
|
super().__init__(parent)
|
|
22
23
|
self.connection = connection
|
|
23
24
|
self.current_collection: str = ""
|
|
25
|
+
self.current_database: str = ""
|
|
24
26
|
self.search_results: Optional[Dict[str, Any]] = None
|
|
25
27
|
self.loading_dialog = LoadingDialog("Searching...", self)
|
|
28
|
+
self.cache_manager = get_cache_manager()
|
|
26
29
|
|
|
27
30
|
self._setup_ui()
|
|
28
31
|
|
|
@@ -112,12 +115,30 @@ class SearchView(QWidget):
|
|
|
112
115
|
|
|
113
116
|
layout.addWidget(splitter)
|
|
114
117
|
|
|
115
|
-
def set_collection(self, collection_name: str):
|
|
118
|
+
def set_collection(self, collection_name: str, database_name: str = ""):
|
|
116
119
|
"""Set the current collection to search."""
|
|
117
120
|
self.current_collection = collection_name
|
|
121
|
+
# Always update database_name if provided (even if empty string on first call)
|
|
122
|
+
if database_name: # Only update if non-empty
|
|
123
|
+
self.current_database = database_name
|
|
124
|
+
|
|
125
|
+
print(f"[SearchView] Setting collection: db='{self.current_database}', coll='{collection_name}'")
|
|
126
|
+
|
|
127
|
+
# Check cache first
|
|
128
|
+
cached = self.cache_manager.get(self.current_database, self.current_collection)
|
|
129
|
+
if cached:
|
|
130
|
+
print(f"[SearchView] ✓ Cache HIT! Restoring search state.")
|
|
131
|
+
# Restore search query and results from cache
|
|
132
|
+
if cached.search_query:
|
|
133
|
+
self.query_input.setPlainText(cached.search_query)
|
|
134
|
+
if cached.search_results:
|
|
135
|
+
self.search_results = cached.search_results
|
|
136
|
+
self._display_results(cached.search_results)
|
|
137
|
+
return
|
|
138
|
+
|
|
139
|
+
print(f"[SearchView] ✗ Cache MISS or no cached search.")
|
|
140
|
+
# Not in cache, clear form
|
|
118
141
|
self.search_results = None
|
|
119
|
-
|
|
120
|
-
# Clear search form inputs
|
|
121
142
|
self.query_input.clear()
|
|
122
143
|
self.results_table.setRowCount(0)
|
|
123
144
|
self.results_status.setText(f"Collection: {collection_name}")
|
|
@@ -181,7 +202,7 @@ class SearchView(QWidget):
|
|
|
181
202
|
QApplication.processEvents()
|
|
182
203
|
|
|
183
204
|
try:
|
|
184
|
-
#
|
|
205
|
+
# Always pass query_texts; provider handles embedding if needed
|
|
185
206
|
results = self.connection.query_collection(
|
|
186
207
|
self.current_collection,
|
|
187
208
|
query_texts=[query_text],
|
|
@@ -196,6 +217,12 @@ class SearchView(QWidget):
|
|
|
196
217
|
self.results_table.setRowCount(0)
|
|
197
218
|
return
|
|
198
219
|
|
|
220
|
+
# Check if results have the expected structure
|
|
221
|
+
if not results.get("ids") or not isinstance(results["ids"], list) or len(results["ids"]) == 0:
|
|
222
|
+
self.results_status.setText("No results found or query failed")
|
|
223
|
+
self.results_table.setRowCount(0)
|
|
224
|
+
return
|
|
225
|
+
|
|
199
226
|
# Apply client-side filters if any
|
|
200
227
|
if client_filters and results:
|
|
201
228
|
# Restructure results for filtering
|
|
@@ -219,6 +246,19 @@ class SearchView(QWidget):
|
|
|
219
246
|
self.search_results = results
|
|
220
247
|
self._display_results(results)
|
|
221
248
|
|
|
249
|
+
# Save to cache
|
|
250
|
+
if self.current_database and self.current_collection:
|
|
251
|
+
self.cache_manager.update(
|
|
252
|
+
self.current_database,
|
|
253
|
+
self.current_collection,
|
|
254
|
+
search_query=query_text,
|
|
255
|
+
search_results=results,
|
|
256
|
+
user_inputs={
|
|
257
|
+
'n_results': n_results,
|
|
258
|
+
'filters': self.filter_builder.to_dict() if hasattr(self.filter_builder, 'to_dict') else {}
|
|
259
|
+
}
|
|
260
|
+
)
|
|
261
|
+
|
|
222
262
|
def _display_results(self, results: Dict[str, Any]):
|
|
223
263
|
"""Display search results in table."""
|
|
224
264
|
ids = results.get("ids", [[]])[0]
|
|
@@ -13,6 +13,7 @@ import numpy as np
|
|
|
13
13
|
|
|
14
14
|
from vector_inspector.core.connections.base_connection import VectorDBConnection
|
|
15
15
|
from vector_inspector.services.visualization_service import VisualizationService
|
|
16
|
+
from vector_inspector.ui.components.loading_dialog import LoadingDialog
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
class VisualizationThread(QThread):
|
|
@@ -106,6 +107,9 @@ class VisualizationView(QWidget):
|
|
|
106
107
|
self.status_label.setMaximumHeight(30)
|
|
107
108
|
layout.addWidget(self.status_label)
|
|
108
109
|
|
|
110
|
+
# Loading dialog for data fetch and reduction
|
|
111
|
+
self.loading_dialog = LoadingDialog("Loading visualization...", self)
|
|
112
|
+
|
|
109
113
|
def set_collection(self, collection_name: str):
|
|
110
114
|
"""Set the current collection to visualize."""
|
|
111
115
|
self.current_collection = collection_name
|
|
@@ -119,12 +123,17 @@ class VisualizationView(QWidget):
|
|
|
119
123
|
QMessageBox.warning(self, "No Collection", "Please select a collection first.")
|
|
120
124
|
return
|
|
121
125
|
|
|
122
|
-
# Load data with embeddings
|
|
126
|
+
# Load data with embeddings (show loading immediately)
|
|
127
|
+
self.loading_dialog.show_loading("Loading data for visualization...")
|
|
128
|
+
QApplication.processEvents()
|
|
123
129
|
sample_size = self.sample_spin.value()
|
|
124
|
-
|
|
125
|
-
self.
|
|
126
|
-
|
|
127
|
-
|
|
130
|
+
try:
|
|
131
|
+
data = self.connection.get_all_items(
|
|
132
|
+
self.current_collection,
|
|
133
|
+
limit=sample_size
|
|
134
|
+
)
|
|
135
|
+
finally:
|
|
136
|
+
self.loading_dialog.hide_loading()
|
|
128
137
|
|
|
129
138
|
if data is None or not data or "embeddings" not in data or data["embeddings"] is None or len(data["embeddings"]) == 0:
|
|
130
139
|
QMessageBox.warning(
|
|
@@ -152,10 +161,14 @@ class VisualizationView(QWidget):
|
|
|
152
161
|
)
|
|
153
162
|
self.visualization_thread.finished.connect(self._on_reduction_finished)
|
|
154
163
|
self.visualization_thread.error.connect(self._on_reduction_error)
|
|
164
|
+
# Show loading during reduction
|
|
165
|
+
self.loading_dialog.show_loading("Reducing dimensions...")
|
|
166
|
+
QApplication.processEvents()
|
|
155
167
|
self.visualization_thread.start()
|
|
156
168
|
|
|
157
169
|
def _on_reduction_finished(self, reduced_data: Any):
|
|
158
170
|
"""Handle dimensionality reduction completion."""
|
|
171
|
+
self.loading_dialog.hide_loading()
|
|
159
172
|
self.reduced_data = reduced_data
|
|
160
173
|
self._create_plot()
|
|
161
174
|
self.generate_button.setEnabled(True)
|
|
@@ -163,6 +176,7 @@ class VisualizationView(QWidget):
|
|
|
163
176
|
|
|
164
177
|
def _on_reduction_error(self, error_msg: str):
|
|
165
178
|
"""Handle dimensionality reduction error."""
|
|
179
|
+
self.loading_dialog.hide_loading()
|
|
166
180
|
print(f"Error: Visualization failed: {error_msg}")
|
|
167
181
|
QMessageBox.warning(self, "Error", f"Visualization failed: {error_msg}")
|
|
168
182
|
self.generate_button.setEnabled(True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vector-inspector
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: A comprehensive desktop application for visualizing, querying, and managing vector database data
|
|
5
5
|
Author-Email: Anthony Dawson <anthonypdawson+github@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -22,6 +22,8 @@ Requires-Dist: sentence-transformers>=2.2.0
|
|
|
22
22
|
Requires-Dist: fastembed>=0.7.4
|
|
23
23
|
Requires-Dist: pyarrow>=14.0.0
|
|
24
24
|
Requires-Dist: pinecone>=8.0.0
|
|
25
|
+
Requires-Dist: keyring>=25.7.0
|
|
26
|
+
Requires-Dist: hf-xet>=1.2.0
|
|
25
27
|
Description-Content-Type: text/markdown
|
|
26
28
|
|
|
27
29
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
vector_inspector-0.3.1.dist-info/METADATA,sha256=VXsx5HkbOhkHfsjoZV29MYBh6s3hsdal-3l4ZAppN88,9684
|
|
2
|
+
vector_inspector-0.3.1.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
|
|
3
|
+
vector_inspector-0.3.1.dist-info/entry_points.txt,sha256=u96envMI2NFImZUJDFutiiWl7ZoHrrev9joAgtyvTxo,80
|
|
4
|
+
vector_inspector/__init__.py,sha256=Q8XbXn98o0eliQWPePhy-aGUz2KNnVg7bQq-sBPl7zQ,119
|
|
5
|
+
vector_inspector/__main__.py,sha256=Vdhw8YA1K3wPMlbJQYL5WqvRzAKVeZ16mZQFO9VRmCo,62
|
|
6
|
+
vector_inspector/config/__init__.py,sha256=vHkVsXSUdInsfzWSOLPZzaaELa3SGenAgfpY5EYbsYA,95
|
|
7
|
+
vector_inspector/config/known_embedding_models.json,sha256=tnTWI3OvdL2z0YreL_iBzbceIXR69NDj-0tBcEV6NVM,15701
|
|
8
|
+
vector_inspector/core/__init__.py,sha256=hjOqiJwF1P0rXjiOKhK4qDTvBY7G3m4kq8taH-gKrFM,57
|
|
9
|
+
vector_inspector/core/cache_manager.py,sha256=cHdbIYR-eS9vLLTqvq4Xejyi5Z7Fm9DqMhb_PMZjnjY,5695
|
|
10
|
+
vector_inspector/core/connection_manager.py,sha256=WwiVedHWTfqIuJKV7D52bYEupmpnnSPKcgG1odJCJjs,10003
|
|
11
|
+
vector_inspector/core/connections/__init__.py,sha256=lDZ-Qv-CbBvVcSlT8K2824zojovEIKhykHVSLARHZWs,345
|
|
12
|
+
vector_inspector/core/connections/base_connection.py,sha256=dQTNmYGCt3-rGjTkAj0vuTEAsFnp8i_FcPmlz6CYdV4,8909
|
|
13
|
+
vector_inspector/core/connections/chroma_connection.py,sha256=wN1apwGLStjOd113Cd1jC--pxJVMHeX7CrtM1Ba0OL4,19753
|
|
14
|
+
vector_inspector/core/connections/pinecone_connection.py,sha256=zdBK2yetVDwxLZV0PxJfnKbZHAWLvb3apsO8wBdVlbE,26942
|
|
15
|
+
vector_inspector/core/connections/qdrant_connection.py,sha256=m0EFgSbWRVh3uv_JkbB0WEotu20G967TrHvwJrtedO4,31861
|
|
16
|
+
vector_inspector/core/connections/template_connection.py,sha256=wsJiE4ma3cLUXk2eW5rnLMS5wG8JTekgEn46lHHQNoc,10642
|
|
17
|
+
vector_inspector/core/embedding_providers/__init__.py,sha256=anorFsmLVrdK6bHP8YcPZF9DQTIJ9CEnrmJRnqOzWdc,440
|
|
18
|
+
vector_inspector/core/embedding_providers/base_provider.py,sha256=SqQFoE6lmmxCdns6ce36_x5Ucivvo5jSp8HEbzs7kLw,3933
|
|
19
|
+
vector_inspector/core/embedding_providers/clip_provider.py,sha256=vvFqoQZNB0PsFJxvDsoDf8-L_z61CrYROFT9IGt7nIE,9088
|
|
20
|
+
vector_inspector/core/embedding_providers/provider_factory.py,sha256=aMoF9NEslTg_4f3QlIr-v0fXg0rb1zNfmavnPVczNy0,5973
|
|
21
|
+
vector_inspector/core/embedding_providers/sentence_transformer_provider.py,sha256=3YGUt7-6VrfbWKMuo3vDzx9SJXi2CjbpdOqdtE5CymM,6913
|
|
22
|
+
vector_inspector/core/embedding_utils.py,sha256=TcSZyVRZmmV9LlYCq8BJMZXTWfkGAYLFtcXXv-M15r8,5650
|
|
23
|
+
vector_inspector/core/model_registry.py,sha256=8zr-bhMqxwuHZ3MeTrG6NItUHfmcFoypGuP5o1PYXvU,6194
|
|
24
|
+
vector_inspector/main.py,sha256=puu1Fur298j6H8fG3_wF85RMhi4tjLZ0Are16kloMqM,479
|
|
25
|
+
vector_inspector/services/__init__.py,sha256=QLgH7oybjHuEYDFNiBgmJxvSpgAzHEuBEPXa3SKJb_I,67
|
|
26
|
+
vector_inspector/services/backup_restore_service.py,sha256=uqbVdCAb78HWZPDu6T0NONy4w7BFPhYsmy7omChdxkg,11582
|
|
27
|
+
vector_inspector/services/credential_service.py,sha256=pdpglvLABnYQRvklgK38iPyG91IZ9Nm8WQFT9V0LofM,4354
|
|
28
|
+
vector_inspector/services/filter_service.py,sha256=xDrMxNWsYzRcR1n0Fd-yp6Fo-4aLbVIDkhj2GKmrw5o,2370
|
|
29
|
+
vector_inspector/services/import_export_service.py,sha256=OPCrBXBewCznu5o8wFGvduU0jGZAcBvp_Fpv15kdoJ4,10712
|
|
30
|
+
vector_inspector/services/profile_service.py,sha256=Uhl9urxeSRI0p-mfaYgBrMI99byNIxJSodcXOgD_ybw,13408
|
|
31
|
+
vector_inspector/services/settings_service.py,sha256=Yw5wvqpf7hjwVjvZRXxBgIKH8tj8sKfXAavoeOhtvsU,7648
|
|
32
|
+
vector_inspector/services/visualization_service.py,sha256=mHI4qxT-V4R1kcOhE508vFTZ0HcmQICHvJ7dIoRracQ,4373
|
|
33
|
+
vector_inspector/ui/__init__.py,sha256=262ZiXO6Luk8vZnhCIoYxOtGiny0bXK-BTKjxUNBx-w,43
|
|
34
|
+
vector_inspector/ui/components/__init__.py,sha256=S-GWU1P820dJ6mHmeeBEy-CGF9fjpBeNf8vrbhRlFMk,30
|
|
35
|
+
vector_inspector/ui/components/backup_restore_dialog.py,sha256=CrZ2u8vXzggv3aBkYR4FulpY74oZWMLW5BHU4dMiWug,13073
|
|
36
|
+
vector_inspector/ui/components/connection_manager_panel.py,sha256=O0V7kE6immkWzO7bGYehCLqyz62va_421aL0EncuVQ8,13279
|
|
37
|
+
vector_inspector/ui/components/filter_builder.py,sha256=NSR_hp-rzUZVAca6dIJhTxZA3igOKFM1g-YXiYPhFos,13360
|
|
38
|
+
vector_inspector/ui/components/item_dialog.py,sha256=VMwehEjQ6xrdxWygR9J-hHsLfzOVb_E3ePUGYO_c7XA,3951
|
|
39
|
+
vector_inspector/ui/components/loading_dialog.py,sha256=YEKYGU-R-Zz4CjXSArJtkNxgTy4O9hI5Bbt6qlIzD8U,1018
|
|
40
|
+
vector_inspector/ui/components/profile_manager_panel.py,sha256=3CzJrY2pjzV8LAgJb0bLOKzK4Buy8v5P8rFqJfrXdRs,20966
|
|
41
|
+
vector_inspector/ui/dialogs/__init__.py,sha256=xtT77L91PFfm3zHYRENHkWHJaKPm1htuUzRXAF53P8w,211
|
|
42
|
+
vector_inspector/ui/dialogs/cross_db_migration.py,sha256=KGtlewzA83Xwkl0J1TUYUhiccYIXbRuNxHO59kNP_tI,15783
|
|
43
|
+
vector_inspector/ui/dialogs/embedding_config_dialog.py,sha256=Pm6UBHmkcof3x1xXLiGLiMP6jLBcJvsPfY6df5jTtK4,13037
|
|
44
|
+
vector_inspector/ui/dialogs/provider_type_dialog.py,sha256=W_FAJuvicwBUJJ7PyvKow9lc8_a5pnE3RIAsh-DVndQ,6809
|
|
45
|
+
vector_inspector/ui/main_window.py,sha256=-l-S8GSAebIfu8YrGNUEetUlub5XB3jR-symaap8450,26207
|
|
46
|
+
vector_inspector/ui/views/__init__.py,sha256=FeMtVzSbVFBMjdwLQSQqD0FRW4ieJ4ZKXtTBci2e_bw,30
|
|
47
|
+
vector_inspector/ui/views/collection_browser.py,sha256=oG9_YGPoVuMs-f_zSd4EcITmEU9caxvwuubsFUrNf-c,3991
|
|
48
|
+
vector_inspector/ui/views/connection_view.py,sha256=bfVRvcS2gLVC6ESux3RcNhYEwFhxp6NpByqJ2bfetvI,20204
|
|
49
|
+
vector_inspector/ui/views/info_panel.py,sha256=fgxIjs5AlnyE0Ni5ZXWfrB3nb6O6w1rAOnMnW-akiBs,23848
|
|
50
|
+
vector_inspector/ui/views/metadata_view.py,sha256=dIe7aH47xd6TBK2g-WogR2Ts0enHGeSAEUlu48sdTF8,30535
|
|
51
|
+
vector_inspector/ui/views/search_view.py,sha256=Yrg7akY1vDgpWny-3Us6r1LQhd0QHB7fUvCZj1VpnA0,12522
|
|
52
|
+
vector_inspector/ui/views/visualization_view.py,sha256=Z-oDwKSAxYx9yhln6pM00j9pWokjz5eYZMJ-Japg938,9841
|
|
53
|
+
vector_inspector/utils/__init__.py,sha256=jhHBQC8C8bfhNlf6CAt07ejjStp_YAyleaYr2dm0Dk0,38
|
|
54
|
+
vector_inspector/utils/lazy_imports.py,sha256=2XZ3ZnwTvZ5vvrh36nJ_TUjwwkgjoAED6i6P9yctvt0,1211
|
|
55
|
+
vector_inspector-0.3.1.dist-info/RECORD,,
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
vector_inspector-0.2.6.dist-info/METADATA,sha256=TZTo9zaLOPYqQkGQcPNoPgTXflQYhVh7BNbsnBGrhhw,9624
|
|
2
|
-
vector_inspector-0.2.6.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
|
|
3
|
-
vector_inspector-0.2.6.dist-info/entry_points.txt,sha256=u96envMI2NFImZUJDFutiiWl7ZoHrrev9joAgtyvTxo,80
|
|
4
|
-
vector_inspector/__init__.py,sha256=Q8XbXn98o0eliQWPePhy-aGUz2KNnVg7bQq-sBPl7zQ,119
|
|
5
|
-
vector_inspector/__main__.py,sha256=Vdhw8YA1K3wPMlbJQYL5WqvRzAKVeZ16mZQFO9VRmCo,62
|
|
6
|
-
vector_inspector/core/__init__.py,sha256=hjOqiJwF1P0rXjiOKhK4qDTvBY7G3m4kq8taH-gKrFM,57
|
|
7
|
-
vector_inspector/core/connections/__init__.py,sha256=cCwDy69Jy8ajiFQICcWfPnGoMtfrq69brzXJ4sVYCQ0,271
|
|
8
|
-
vector_inspector/core/connections/base_connection.py,sha256=PiwVlrk-eUKSka6gmE2GSyml0xe48PrIWAcKhBJMBv8,7131
|
|
9
|
-
vector_inspector/core/connections/chroma_connection.py,sha256=8dmMtTeMylZRqIvjbBgH6BWqbdd4vv9bJ9uf-C7fLHw,13943
|
|
10
|
-
vector_inspector/core/connections/qdrant_connection.py,sha256=jjqRR_zJ-d2Kq9jS2_v6zTE_PY3HI_oss8mJi6gDZvo,28634
|
|
11
|
-
vector_inspector/core/connections/template_connection.py,sha256=wsJiE4ma3cLUXk2eW5rnLMS5wG8JTekgEn46lHHQNoc,10642
|
|
12
|
-
vector_inspector/main.py,sha256=puu1Fur298j6H8fG3_wF85RMhi4tjLZ0Are16kloMqM,479
|
|
13
|
-
vector_inspector/services/__init__.py,sha256=QLgH7oybjHuEYDFNiBgmJxvSpgAzHEuBEPXa3SKJb_I,67
|
|
14
|
-
vector_inspector/services/backup_restore_service.py,sha256=2bbmLamGg7gaYUl3zy_-8wL8xbYvO00kZ2tbImZkzi0,11782
|
|
15
|
-
vector_inspector/services/filter_service.py,sha256=r1y_lPi4Mo4ZqVq_hfbTzRxcCbdH7RlsXg7ytkBTKi8,2334
|
|
16
|
-
vector_inspector/services/import_export_service.py,sha256=OPCrBXBewCznu5o8wFGvduU0jGZAcBvp_Fpv15kdoJ4,10712
|
|
17
|
-
vector_inspector/services/settings_service.py,sha256=4QdUbd7k2YIPX2EWc8eHfx0L2uhsxpe-CgIVogVHVmk,2081
|
|
18
|
-
vector_inspector/services/visualization_service.py,sha256=mHI4qxT-V4R1kcOhE508vFTZ0HcmQICHvJ7dIoRracQ,4373
|
|
19
|
-
vector_inspector/ui/__init__.py,sha256=262ZiXO6Luk8vZnhCIoYxOtGiny0bXK-BTKjxUNBx-w,43
|
|
20
|
-
vector_inspector/ui/components/__init__.py,sha256=S-GWU1P820dJ6mHmeeBEy-CGF9fjpBeNf8vrbhRlFMk,30
|
|
21
|
-
vector_inspector/ui/components/backup_restore_dialog.py,sha256=CrZ2u8vXzggv3aBkYR4FulpY74oZWMLW5BHU4dMiWug,13073
|
|
22
|
-
vector_inspector/ui/components/filter_builder.py,sha256=NSR_hp-rzUZVAca6dIJhTxZA3igOKFM1g-YXiYPhFos,13360
|
|
23
|
-
vector_inspector/ui/components/item_dialog.py,sha256=VMwehEjQ6xrdxWygR9J-hHsLfzOVb_E3ePUGYO_c7XA,3951
|
|
24
|
-
vector_inspector/ui/components/loading_dialog.py,sha256=YEKYGU-R-Zz4CjXSArJtkNxgTy4O9hI5Bbt6qlIzD8U,1018
|
|
25
|
-
vector_inspector/ui/main_window.py,sha256=5icldgWWDEH3Ltp8yQze6NUWRe842KDiIB4_qOvP4WM,14193
|
|
26
|
-
vector_inspector/ui/views/__init__.py,sha256=FeMtVzSbVFBMjdwLQSQqD0FRW4ieJ4ZKXtTBci2e_bw,30
|
|
27
|
-
vector_inspector/ui/views/collection_browser.py,sha256=oG9_YGPoVuMs-f_zSd4EcITmEU9caxvwuubsFUrNf-c,3991
|
|
28
|
-
vector_inspector/ui/views/connection_view.py,sha256=CpHPSDee3RhH3_wNu62RI3Fn5ffBIGt_Va5iC0p1IoY,18116
|
|
29
|
-
vector_inspector/ui/views/info_panel.py,sha256=Rc45dCdrdPI2Ir0GBoKMZU9hPrWf4zFXlNYfLSMP_9U,13975
|
|
30
|
-
vector_inspector/ui/views/metadata_view.py,sha256=NGd2lw7S0EhfV7HJGBcn4x1mg71W30YliEOTlW_dssM,26829
|
|
31
|
-
vector_inspector/ui/views/search_view.py,sha256=p6vt2heSpEbiRge46VSedTZjg7i3-AWdS0f96JXzlEU,10527
|
|
32
|
-
vector_inspector/ui/views/visualization_view.py,sha256=uPOUpKJ00eFqCCohYEfMD8D9lNv2cy2FymPHouXK0Go,9163
|
|
33
|
-
vector_inspector/utils/__init__.py,sha256=jhHBQC8C8bfhNlf6CAt07ejjStp_YAyleaYr2dm0Dk0,38
|
|
34
|
-
vector_inspector/utils/lazy_imports.py,sha256=2XZ3ZnwTvZ5vvrh36nJ_TUjwwkgjoAED6i6P9yctvt0,1211
|
|
35
|
-
vector_inspector-0.2.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|