pgvector-haystack 6.0.0__tar.gz → 6.2.0__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.
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/CHANGELOG.md +18 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/PKG-INFO +2 -2
- pgvector_haystack-6.2.0/pydoc/config_docusaurus.yml +15 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/pyproject.toml +6 -2
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/document_stores/pgvector/converters.py +5 -1
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/document_stores/pgvector/document_store.py +594 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/document_stores/pgvector/filters.py +9 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/test_converters.py +17 -0
- pgvector_haystack-6.2.0/tests/test_document_store.py +595 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/test_document_store_async.py +349 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/test_filters.py +5 -0
- pgvector_haystack-6.0.0/pydoc/config_docusaurus.yml +0 -30
- pgvector_haystack-6.0.0/tests/test_document_store.py +0 -480
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/.gitignore +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/LICENSE.txt +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/README.md +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/examples/embedding_retrieval.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/examples/hybrid_retrieval.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/components/retrievers/pgvector/__init__.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/components/retrievers/pgvector/embedding_retriever.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/components/retrievers/pgvector/keyword_retriever.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/components/retrievers/py.typed +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/document_stores/pgvector/__init__.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/src/haystack_integrations/document_stores/py.typed +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/__init__.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/conftest.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/test_retrieval.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/test_retrieval_async.py +0 -0
- {pgvector_haystack-6.0.0 → pgvector_haystack-6.2.0}/tests/test_retrievers.py +0 -0
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [integrations/pgvector-v6.1.0] - 2026-01-28
|
|
4
|
+
|
|
5
|
+
### 🚀 Features
|
|
6
|
+
|
|
7
|
+
- Adding count, filtering and metadata related operations to `PGVectorDocumentStore` (#2768)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## [integrations/pgvector-v6.0.0] - 2026-01-12
|
|
11
|
+
|
|
12
|
+
### 🧹 Chores
|
|
13
|
+
|
|
14
|
+
- Make fmt command more forgiving (#2671)
|
|
15
|
+
- [**breaking**] Pgvector - drop Python 3.9 and use X|Y typing (#2722)
|
|
16
|
+
|
|
17
|
+
### 🌀 Miscellaneous
|
|
18
|
+
|
|
19
|
+
- Fix: Fix doc links (#2661)
|
|
20
|
+
|
|
3
21
|
## [integrations/pgvector-v5.5.0] - 2026-01-02
|
|
4
22
|
|
|
5
23
|
### 🚀 Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pgvector-haystack
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2.0
|
|
4
4
|
Summary: An integration of pgvector (vector search extension for Postgres) with Haystack
|
|
5
5
|
Project-URL: Source, https://github.com/deepset-ai/haystack-core-integrations
|
|
6
6
|
Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/blob/main/integrations/pgvector/README.md
|
|
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
18
18
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
19
19
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
20
20
|
Requires-Python: >=3.10
|
|
21
|
-
Requires-Dist: haystack-ai>=2.
|
|
21
|
+
Requires-Dist: haystack-ai>=2.24.0
|
|
22
22
|
Requires-Dist: pgvector>=0.3.0
|
|
23
23
|
Requires-Dist: psycopg[binary]
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
loaders:
|
|
2
|
+
- modules:
|
|
3
|
+
- haystack_integrations.components.retrievers.pgvector.embedding_retriever
|
|
4
|
+
- haystack_integrations.components.retrievers.pgvector.keyword_retriever
|
|
5
|
+
- haystack_integrations.document_stores.pgvector.document_store
|
|
6
|
+
search_path: [../src]
|
|
7
|
+
processors:
|
|
8
|
+
- type: filter
|
|
9
|
+
documented_only: true
|
|
10
|
+
skip_empty_modules: true
|
|
11
|
+
renderer:
|
|
12
|
+
description: Pgvector integration for Haystack
|
|
13
|
+
id: integrations-pgvector
|
|
14
|
+
filename: pgvector.md
|
|
15
|
+
title: Pgvector
|
|
@@ -22,7 +22,11 @@ classifiers = [
|
|
|
22
22
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
23
23
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
24
24
|
]
|
|
25
|
-
dependencies = [
|
|
25
|
+
dependencies = [
|
|
26
|
+
"haystack-ai>=2.24.0",
|
|
27
|
+
"pgvector>=0.3.0",
|
|
28
|
+
"psycopg[binary]"
|
|
29
|
+
]
|
|
26
30
|
|
|
27
31
|
[project.urls]
|
|
28
32
|
Source = "https://github.com/deepset-ai/haystack-core-integrations"
|
|
@@ -45,7 +49,7 @@ installer = "uv"
|
|
|
45
49
|
dependencies = ["haystack-pydoc-tools", "ruff"]
|
|
46
50
|
|
|
47
51
|
[tool.hatch.envs.default.scripts]
|
|
48
|
-
docs = ["pydoc
|
|
52
|
+
docs = ["haystack-pydoc pydoc/config_docusaurus.yml"]
|
|
49
53
|
fmt = "ruff check --fix {args}; ruff format {args}"
|
|
50
54
|
fmt-check = "ruff check {args} && ruff format --check {args}"
|
|
51
55
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from dataclasses import replace
|
|
1
2
|
from typing import Any
|
|
2
3
|
|
|
3
4
|
from haystack import logging
|
|
@@ -22,6 +23,9 @@ def _from_haystack_to_pg_documents(documents: list[Document]) -> list[dict[str,
|
|
|
22
23
|
db_document["blob_meta"] = Jsonb(blob.meta) if blob and blob.meta else None
|
|
23
24
|
db_document["blob_mime_type"] = blob.mime_type if blob and blob.mime_type else None
|
|
24
25
|
db_document["meta"] = Jsonb(db_document["meta"])
|
|
26
|
+
# PostgreSQL text fields cannot contain NUL (0x00) bytes, removing NUL bytes
|
|
27
|
+
if content := db_document["content"]:
|
|
28
|
+
db_document["content"] = content.replace("\x00", "")
|
|
25
29
|
|
|
26
30
|
if "sparse_embedding" in db_document:
|
|
27
31
|
sparse_embedding = db_document.pop("sparse_embedding", None)
|
|
@@ -65,7 +69,7 @@ def _from_pg_to_haystack_documents(documents: list[dict[str, Any]]) -> list[Docu
|
|
|
65
69
|
|
|
66
70
|
if blob_data:
|
|
67
71
|
blob = ByteStream(data=blob_data, meta=blob_meta, mime_type=blob_mime_type)
|
|
68
|
-
haystack_document
|
|
72
|
+
haystack_document = replace(haystack_document, blob=blob)
|
|
69
73
|
|
|
70
74
|
haystack_documents.append(haystack_document)
|
|
71
75
|
|