Skip to content

Commit d8b17e7

Browse files
committed
code cleanup v1
1 parent b2ab514 commit d8b17e7

3 files changed

Lines changed: 25 additions & 28 deletions

File tree

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ lint.ignore = [
160160
"B027",
161161
# Allow boolean positional values in function calls, like `dict.get(... True)`
162162
"FBT003",
163+
# Allow boolean positional values in function calls like cluster options
164+
"FBT001",
163165
# Ignore checks for possible passwords
164166
"S105", "S106", "S107",
165167
# Ignore complexity

src/couchbase_haystack/telemetry.py

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,38 @@
88

99
import platform
1010
import threading
11+
from contextlib import suppress
12+
from importlib.metadata import version
1113

1214
SCARF_ENDPOINT_URL = "https://couchbase.gateway.scarf.sh/couchbase-haystack"
1315

14-
_telemetry_sent = False
16+
_telemetry_sent = threading.Event()
1517
_telemetry_lock = threading.Lock()
1618

19+
1720
def _get_package_version() -> str:
1821
"""Return the installed package version, or 'unknown' if unavailable."""
19-
try:
20-
from importlib.metadata import version
21-
22+
with suppress(Exception):
2223
return version("couchbase-haystack")
23-
except Exception:
24-
return "unknown"
24+
return "unknown"
25+
2526

2627
def _send_telemetry() -> None:
2728
"""Send a single telemetry event to Scarf."""
28-
global _telemetry_sent
29-
3029
with _telemetry_lock:
31-
if _telemetry_sent:
30+
if _telemetry_sent.is_set():
3231
return
33-
_telemetry_sent = True
32+
_telemetry_sent.set()
3433

35-
try:
36-
from scarf import ScarfEventLogger
34+
with suppress(Exception):
35+
from scarf import ScarfEventLogger # noqa: PLC0415
3736

38-
logger = ScarfEventLogger(
37+
event_logger = ScarfEventLogger(
3938
endpoint_url=SCARF_ENDPOINT_URL,
4039
timeout=2.0,
4140
)
4241

43-
logger.log_event(
42+
event_logger.log_event(
4443
{
4544
"package": "couchbase-haystack",
4645
"version": _get_package_version(),
@@ -49,17 +48,13 @@ def _send_telemetry() -> None:
4948
"arch": platform.machine(),
5049
}
5150
)
52-
except Exception:
53-
# Telemetry must never raise — silently ignore all errors.
54-
pass
51+
5552

5653
def send_telemetry() -> None:
5754
"""Fire-and-forget telemetry in a background daemon thread.
5855
5956
Safe to call multiple times; only the first invocation actually sends.
6057
"""
61-
try:
58+
with suppress(Exception):
6259
t = threading.Thread(target=_send_telemetry, daemon=True)
63-
t.start()
64-
except Exception:
65-
pass
60+
t.start()

tests/search_document_store/test_retriever.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,13 @@ def test_run(self, doc_store: MagicMock):
131131
"retriever": {"top_k": 3, "search_query": sq, "filters": {"field": "meta.color", "operator": "==", "value": "red"}},
132132
}
133133
result = rag_pipeline.run(data, include_outputs_from={"query_embedder"})
134-
doc_store._embedding_retrieval.assert_called_once_with(
135-
query_embedding=result["query_embedder"]["embedding"],
136-
top_k=3,
137-
search_query=data["retriever"]["search_query"], # type: ignore
138-
filters=data["retriever"]["filters"], # type: ignore
139-
limit=None,
140-
)
134+
doc_store._embedding_retrieval.assert_called_once()
135+
called_kwargs = doc_store._embedding_retrieval.call_args.kwargs
136+
assert called_kwargs["query_embedding"] == result["query_embedder"]["embedding"]
137+
assert called_kwargs["top_k"] == 3
138+
assert called_kwargs["search_query"].encodable == data["retriever"]["search_query"].encodable
139+
assert called_kwargs["filters"] == data["retriever"]["filters"]
140+
assert called_kwargs["limit"] is None
141141
assert result["retriever"]["documents"] == doc_store._embedding_retrieval.return_value
142142

143143
def test_run_with_limit(self, doc_store: MagicMock):

0 commit comments

Comments
 (0)