dirsql-plugin-embeddings 0.1.3__tar.gz → 0.1.5__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.
Files changed (19) hide show
  1. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/PKG-INFO +3 -2
  2. dirsql_plugin_embeddings-0.1.3/e2e-attestations/claude-on-file-integration-e2e-lpeicb-read-content.json → dirsql_plugin_embeddings-0.1.5/e2e-attestations/claude-699-read-pdf.json +3 -3
  3. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/pyproject.toml +4 -1
  4. dirsql_plugin_embeddings-0.1.5/src/dirsql_plugin_embeddings/on_file/read_pdf.py +16 -0
  5. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/.gitignore +0 -0
  6. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/README.md +0 -0
  7. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/__init__.py +0 -0
  8. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/dirsql.toml +0 -0
  9. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/embedder.py +0 -0
  10. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/on_file/__init__.py +0 -0
  11. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/on_file/build_rows.py +0 -0
  12. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/on_file/on_file.py +0 -0
  13. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/on_file/read_content.py +0 -0
  14. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/on_file/read_text.py +0 -0
  15. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/src/dirsql_plugin_embeddings/pre_query.py +0 -0
  16. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/testing-conventions.toml +0 -0
  17. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/tests/conftest.py +0 -0
  18. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/tests/e2e/__init__.py +0 -0
  19. {dirsql_plugin_embeddings-0.1.3 → dirsql_plugin_embeddings-0.1.5}/tests/integration/__init__.py +0 -0
@@ -1,8 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirsql-plugin-embeddings
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: First-party dirsql plugin: semantic search via an OpenAI-compatible embeddings endpoint.
5
- Requires-Python: >=3.11
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: pypdf>=6
6
7
  Description-Content-Type: text/markdown
7
8
 
8
9
  # dirsql-plugin-embeddings
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "command": "uv run --with sqlite-vec --with-editable . --with-editable ../../packages/python python -m pytest tests/e2e -x -q",
3
- "ran_at": 1785324484,
3
+ "ran_at": 1785327111,
4
4
  "exit_code": 0,
5
- "commit": "e8600a3672b0ecd9c604c3c22ecc5be49adc5df5",
6
- "branch": "claude/on-file-integration-e2e-lpeicb-read-content"
5
+ "commit": "b59ad4bf5dce929e2172cde15888918de9d277fd",
6
+ "branch": "claude/699-read-pdf"
7
7
  }
@@ -11,7 +11,10 @@ name = "dirsql-plugin-embeddings"
11
11
  dynamic = ["version"]
12
12
  description = "First-party dirsql plugin: semantic search via an OpenAI-compatible embeddings endpoint."
13
13
  readme = "README.md"
14
- requires-python = ">=3.11"
14
+ requires-python = ">=3.10"
15
+ # pypdf, not pymupdf: pymupdf is AGPL-3.0, and a runtime dependency of this
16
+ # MIT-licensed package propagates to everyone who installs it.
17
+ dependencies = ["pypdf>=6"]
15
18
 
16
19
  [tool.hatch.version]
17
20
  source = "vcs"
@@ -0,0 +1,16 @@
1
+ """Extract a PDF's text.
2
+
3
+ pypdf rather than pymupdf: pymupdf is AGPL-3.0, and a runtime dependency of
4
+ this MIT-licensed package propagates to everyone who installs it.
5
+
6
+ Annotations are evaluated at runtime (no ``from __future__ import
7
+ annotations``) so a mutated ``X | None`` union in a signature fails at import
8
+ rather than surviving as an inert string.
9
+ """
10
+
11
+ from pypdf import PdfReader
12
+
13
+
14
+ def read_pdf(path: str) -> str:
15
+ reader = PdfReader(path)
16
+ return "\n".join(page.extract_text() for page in reader.pages)