dirsql-plugin-embeddings 0.1.16__tar.gz → 0.1.17__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.
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/PKG-INFO +1 -1
- dirsql_plugin_embeddings-0.1.17/changelog.d/2026-08-12-worker-semaphore-leak.md +1 -0
- dirsql_plugin_embeddings-0.1.17/e2e-attestations/claude-815-loky-semaphore.json +7 -0
- dirsql_plugin_embeddings-0.1.17/src/dirsql_plugin_embeddings/embedding/progress.py +24 -0
- dirsql_plugin_embeddings-0.1.16/src/dirsql_plugin_embeddings/embedding/progress.py +0 -13
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/.gitignore +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/README.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/changelog.d/2026-08-10-delete-old-surface.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/changelog.d/2026-08-10-embed-worker.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/changelog.d/2026-08-11-one-liner-cli.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/changelog.d/2026-08-12-empty-search-reports-why.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/changelog.d/2026-08-12-no-per-call-progress-bar.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/changelog.d/2026-08-12-null-embedding-guard.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/e2e-attestations/claude-804-embed-worker.json +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/e2e-attestations/claude-805-one-liner.json +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/e2e-attestations/claude-814-suppress-per-call-progress.json +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/e2e-attestations/claude-816-empty-corpus-error.json +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/e2e-attestations/claude-817-null-embedding-guard.json +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/migrations.d/2026-08-10-delete-old-surface.md +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/pyproject.toml +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/__init__.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/cli/__init__.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/cli/main.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/cli/search.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/cli/worker.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/dirsql.toml +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/embedding/__init__.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/embedding/cache.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/embedding/model.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/embedding/values.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/embedding/worker.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/search/__init__.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/search/output.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/search/run.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/src/dirsql_plugin_embeddings/search/sql.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/testing-conventions.toml +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/tests/conftest.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/tests/e2e/__init__.py +0 -0
- {dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/tests/integration/__init__.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
**Fixed** the `resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown: {'/loky-…'}` warning that every embedding run printed on stderr. model2vec's encode loop constructs a (disabled) tqdm bar whose default write lock allocates a multiprocessing semaphore, and the dirsql core tears the worker down with a kill, so the semaphore was never released. The worker now installs a process-local tqdm write lock at startup, so no semaphore exists to leak.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
import threading
|
|
4
|
+
|
|
5
|
+
from tqdm import tqdm
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def stderr_is_tty():
|
|
9
|
+
return sys.stderr.isatty()
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def configure():
|
|
13
|
+
# Hugging Face hub download bars honor this variable; setdefault keeps an
|
|
14
|
+
# explicit user choice in force.
|
|
15
|
+
if not stderr_is_tty():
|
|
16
|
+
os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
|
|
17
|
+
# tqdm's first bar (model2vec's encode loop constructs one even when
|
|
18
|
+
# disabled) lazily allocates a multiprocessing RLock -- a named semaphore
|
|
19
|
+
# registered with the resource tracker. The dirsql core tears this worker
|
|
20
|
+
# down with a kill, not a graceful exit, so that semaphore is never
|
|
21
|
+
# unregistered and the tracker prints a "leaked semaphore" warning after
|
|
22
|
+
# every run. A single worker process needs no cross-process bar
|
|
23
|
+
# coordination: a process-local lock means no semaphore exists at all.
|
|
24
|
+
tqdm.set_lock(threading.RLock())
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def stderr_is_tty():
|
|
6
|
-
return sys.stderr.isatty()
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def configure():
|
|
10
|
-
# Hugging Face hub download bars honor this variable; setdefault keeps an
|
|
11
|
-
# explicit user choice in force.
|
|
12
|
-
if not stderr_is_tty():
|
|
13
|
-
os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
|
|
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
|
{dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/testing-conventions.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql_plugin_embeddings-0.1.16 → dirsql_plugin_embeddings-0.1.17}/tests/integration/__init__.py
RENAMED
|
File without changes
|