zotero-cli-ai 0.11.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.
Files changed (199) hide show
  1. zotero_cli_ai-0.11.0/.github/workflows/ci.yml +38 -0
  2. zotero_cli_ai-0.11.0/.github/workflows/docs.yml +52 -0
  3. zotero_cli_ai-0.11.0/.github/workflows/publish.yml +31 -0
  4. zotero_cli_ai-0.11.0/.gitignore +30 -0
  5. zotero_cli_ai-0.11.0/.pre-commit-config.yaml +21 -0
  6. zotero_cli_ai-0.11.0/CHANGELOG.md +519 -0
  7. zotero_cli_ai-0.11.0/CLAUDE.md +100 -0
  8. zotero_cli_ai-0.11.0/CONTRIBUTING.md +39 -0
  9. zotero_cli_ai-0.11.0/LICENSE +235 -0
  10. zotero_cli_ai-0.11.0/LICENSE-COMMERCIAL +33 -0
  11. zotero_cli_ai-0.11.0/PKG-INFO +33 -0
  12. zotero_cli_ai-0.11.0/README.md +133 -0
  13. zotero_cli_ai-0.11.0/README_CN.md +143 -0
  14. zotero_cli_ai-0.11.0/ROADMAP.md +49 -0
  15. zotero_cli_ai-0.11.0/asserts/architecture.png +0 -0
  16. zotero_cli_ai-0.11.0/asserts/banner_official.png +0 -0
  17. zotero_cli_ai-0.11.0/asserts/claude_icon.png +0 -0
  18. zotero_cli_ai-0.11.0/asserts/zotero_logo.png +0 -0
  19. zotero_cli_ai-0.11.0/docs/agent-interface.md +651 -0
  20. zotero_cli_ai-0.11.0/docs/assets/architecture.png +0 -0
  21. zotero_cli_ai-0.11.0/docs/assets/banner_official.png +0 -0
  22. zotero_cli_ai-0.11.0/docs/en/changelog.md +145 -0
  23. zotero_cli_ai-0.11.0/docs/en/comparison.md +35 -0
  24. zotero_cli_ai-0.11.0/docs/en/getting-started/installation.md +60 -0
  25. zotero_cli_ai-0.11.0/docs/en/getting-started/quickstart.md +63 -0
  26. zotero_cli_ai-0.11.0/docs/en/getting-started/setup.md +90 -0
  27. zotero_cli_ai-0.11.0/docs/en/guide/citations.md +37 -0
  28. zotero_cli_ai-0.11.0/docs/en/guide/collections.md +65 -0
  29. zotero_cli_ai-0.11.0/docs/en/guide/item-management.md +69 -0
  30. zotero_cli_ai-0.11.0/docs/en/guide/notes-tags.md +45 -0
  31. zotero_cli_ai-0.11.0/docs/en/guide/pdf.md +41 -0
  32. zotero_cli_ai-0.11.0/docs/en/guide/search.md +96 -0
  33. zotero_cli_ai-0.11.0/docs/en/guide/update-status.md +41 -0
  34. zotero_cli_ai-0.11.0/docs/en/guide/workspace.md +92 -0
  35. zotero_cli_ai-0.11.0/docs/en/index.md +33 -0
  36. zotero_cli_ai-0.11.0/docs/en/mcp/claude-code.md +76 -0
  37. zotero_cli_ai-0.11.0/docs/en/mcp/setup.md +68 -0
  38. zotero_cli_ai-0.11.0/docs/en/mcp/tools.md +66 -0
  39. zotero_cli_ai-0.11.0/docs/en/reference/agent-interface.md +273 -0
  40. zotero_cli_ai-0.11.0/docs/en/reference/cli.md +10 -0
  41. zotero_cli_ai-0.11.0/docs/zh/changelog.md +145 -0
  42. zotero_cli_ai-0.11.0/docs/zh/comparison.md +35 -0
  43. zotero_cli_ai-0.11.0/docs/zh/getting-started/installation.md +60 -0
  44. zotero_cli_ai-0.11.0/docs/zh/getting-started/quickstart.md +63 -0
  45. zotero_cli_ai-0.11.0/docs/zh/getting-started/setup.md +90 -0
  46. zotero_cli_ai-0.11.0/docs/zh/guide/citations.md +37 -0
  47. zotero_cli_ai-0.11.0/docs/zh/guide/collections.md +65 -0
  48. zotero_cli_ai-0.11.0/docs/zh/guide/item-management.md +69 -0
  49. zotero_cli_ai-0.11.0/docs/zh/guide/notes-tags.md +45 -0
  50. zotero_cli_ai-0.11.0/docs/zh/guide/pdf.md +41 -0
  51. zotero_cli_ai-0.11.0/docs/zh/guide/search.md +96 -0
  52. zotero_cli_ai-0.11.0/docs/zh/guide/update-status.md +41 -0
  53. zotero_cli_ai-0.11.0/docs/zh/guide/workspace.md +92 -0
  54. zotero_cli_ai-0.11.0/docs/zh/index.md +33 -0
  55. zotero_cli_ai-0.11.0/docs/zh/mcp/claude-code.md +75 -0
  56. zotero_cli_ai-0.11.0/docs/zh/mcp/setup.md +68 -0
  57. zotero_cli_ai-0.11.0/docs/zh/mcp/tools.md +66 -0
  58. zotero_cli_ai-0.11.0/docs/zh/reference/agent-interface.md +273 -0
  59. zotero_cli_ai-0.11.0/docs/zh/reference/cli.md +10 -0
  60. zotero_cli_ai-0.11.0/extension/zot-cli-bridge/README.md +88 -0
  61. zotero_cli_ai-0.11.0/extension/zot-cli-bridge/bootstrap.js +395 -0
  62. zotero_cli_ai-0.11.0/extension/zot-cli-bridge/icon.png +0 -0
  63. zotero_cli_ai-0.11.0/extension/zot-cli-bridge/manifest.json +20 -0
  64. zotero_cli_ai-0.11.0/mkdocs.yml +85 -0
  65. zotero_cli_ai-0.11.0/pyproject.toml +93 -0
  66. zotero_cli_ai-0.11.0/skill/zotero-cli/SKILL.md +86 -0
  67. zotero_cli_ai-0.11.0/skill/zotero-cli/references/commands.md +253 -0
  68. zotero_cli_ai-0.11.0/skill/zotero-cli/references/windows-encoding.md +90 -0
  69. zotero_cli_ai-0.11.0/skill/zotero-cli/references/workflows.md +96 -0
  70. zotero_cli_ai-0.11.0/skill/zotero-cli/references/workspaces.md +105 -0
  71. zotero_cli_ai-0.11.0/src/zotero_cli_cc/__init__.py +9 -0
  72. zotero_cli_ai-0.11.0/src/zotero_cli_cc/cli.py +318 -0
  73. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/__init__.py +0 -0
  74. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/_helpers.py +45 -0
  75. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/add.py +374 -0
  76. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/ask.py +87 -0
  77. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/attach.py +160 -0
  78. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/attachment.py +140 -0
  79. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/bridge.py +127 -0
  80. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/cite.py +227 -0
  81. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/collection.py +288 -0
  82. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/completions.py +54 -0
  83. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/config.py +234 -0
  84. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/delete.py +119 -0
  85. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/duplicates.py +45 -0
  86. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/enrich.py +142 -0
  87. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/export.py +60 -0
  88. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/find_pdf.py +112 -0
  89. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/list_cmd.py +68 -0
  90. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/mcp.py +25 -0
  91. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/note.py +95 -0
  92. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/open_cmd.py +82 -0
  93. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/orphans.py +218 -0
  94. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/pdf.py +285 -0
  95. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/read.py +35 -0
  96. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/recent.py +47 -0
  97. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/relate.py +35 -0
  98. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/rename.py +206 -0
  99. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/schema.py +244 -0
  100. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/search.py +77 -0
  101. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/stats.py +41 -0
  102. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/summarize.py +82 -0
  103. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/summarize_all.py +50 -0
  104. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/tag.py +91 -0
  105. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/trash.py +99 -0
  106. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/update.py +112 -0
  107. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/update_status.py +254 -0
  108. zotero_cli_ai-0.11.0/src/zotero_cli_cc/commands/workspace.py +748 -0
  109. zotero_cli_ai-0.11.0/src/zotero_cli_cc/config.py +327 -0
  110. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/__init__.py +0 -0
  111. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/attachment_resolver.py +120 -0
  112. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/bridge_install.py +93 -0
  113. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/embedding_provider.py +17 -0
  114. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/embedding_router.py +47 -0
  115. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/enrich.py +103 -0
  116. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/idempotency.py +76 -0
  117. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/local_bridge.py +385 -0
  118. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/metadata_resolver.py +193 -0
  119. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/path_utils.py +47 -0
  120. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/pdf_cache.py +67 -0
  121. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/pdf_errors.py +3 -0
  122. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/pdf_extractor.py +987 -0
  123. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/providers/__init__.py +5 -0
  124. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/providers/aliyun.py +92 -0
  125. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/providers/jina.py +92 -0
  126. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/rag.py +394 -0
  127. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/rag_index.py +142 -0
  128. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/reader.py +1245 -0
  129. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/rename.py +210 -0
  130. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/semantic_scholar.py +185 -0
  131. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/version_check.py +70 -0
  132. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/workspace.py +125 -0
  133. zotero_cli_ai-0.11.0/src/zotero_cli_cc/core/writer.py +289 -0
  134. zotero_cli_ai-0.11.0/src/zotero_cli_cc/exit_codes.py +72 -0
  135. zotero_cli_ai-0.11.0/src/zotero_cli_cc/formatter.py +485 -0
  136. zotero_cli_ai-0.11.0/src/zotero_cli_cc/mcp_server.py +1905 -0
  137. zotero_cli_ai-0.11.0/src/zotero_cli_cc/models.py +101 -0
  138. zotero_cli_ai-0.11.0/tests/conftest.py +31 -0
  139. zotero_cli_ai-0.11.0/tests/fixtures/create_test_db.py +250 -0
  140. zotero_cli_ai-0.11.0/tests/fixtures/sensors-21-05067-v2.pdf:Zone.Identifier +4 -0
  141. zotero_cli_ai-0.11.0/tests/fixtures/storage/ATCH005/attention.pdf +47 -0
  142. zotero_cli_ai-0.11.0/tests/fixtures/storage/ATTN001/attention.pdf +47 -0
  143. zotero_cli_ai-0.11.0/tests/fixtures/test.pdf +47 -0
  144. zotero_cli_ai-0.11.0/tests/fixtures/test2.pdf +0 -0
  145. zotero_cli_ai-0.11.0/tests/fixtures/test3.pdf +0 -0
  146. zotero_cli_ai-0.11.0/tests/fixtures/zotero.sqlite +0 -0
  147. zotero_cli_ai-0.11.0/tests/test_add_pdf.py +80 -0
  148. zotero_cli_ai-0.11.0/tests/test_agent_interface.py +288 -0
  149. zotero_cli_ai-0.11.0/tests/test_agent_p1.py +200 -0
  150. zotero_cli_ai-0.11.0/tests/test_agent_p2.py +105 -0
  151. zotero_cli_ai-0.11.0/tests/test_ask.py +132 -0
  152. zotero_cli_ai-0.11.0/tests/test_attach.py +392 -0
  153. zotero_cli_ai-0.11.0/tests/test_attachment_resolver.py +129 -0
  154. zotero_cli_ai-0.11.0/tests/test_bridge_install.py +110 -0
  155. zotero_cli_ai-0.11.0/tests/test_cli_attachment.py +210 -0
  156. zotero_cli_ai-0.11.0/tests/test_cli_config.py +128 -0
  157. zotero_cli_ai-0.11.0/tests/test_cli_note.py +66 -0
  158. zotero_cli_ai-0.11.0/tests/test_cli_p0.py +195 -0
  159. zotero_cli_ai-0.11.0/tests/test_cli_p1.py +194 -0
  160. zotero_cli_ai-0.11.0/tests/test_cli_p2.py +86 -0
  161. zotero_cli_ai-0.11.0/tests/test_cli_p3.py +100 -0
  162. zotero_cli_ai-0.11.0/tests/test_cli_stats_open.py +92 -0
  163. zotero_cli_ai-0.11.0/tests/test_completions.py +13 -0
  164. zotero_cli_ai-0.11.0/tests/test_config.py +241 -0
  165. zotero_cli_ai-0.11.0/tests/test_duplicates.py +107 -0
  166. zotero_cli_ai-0.11.0/tests/test_enrich.py +188 -0
  167. zotero_cli_ai-0.11.0/tests/test_extractor_fallback.py +141 -0
  168. zotero_cli_ai-0.11.0/tests/test_extractor_grobid.py +114 -0
  169. zotero_cli_ai-0.11.0/tests/test_extractor_pdfium.py +56 -0
  170. zotero_cli_ai-0.11.0/tests/test_extractor_pdfplumber.py +82 -0
  171. zotero_cli_ai-0.11.0/tests/test_extractor_pymupdf.py +57 -0
  172. zotero_cli_ai-0.11.0/tests/test_find_pdf.py +238 -0
  173. zotero_cli_ai-0.11.0/tests/test_formatter.py +149 -0
  174. zotero_cli_ai-0.11.0/tests/test_group_library.py +130 -0
  175. zotero_cli_ai-0.11.0/tests/test_integration.py +69 -0
  176. zotero_cli_ai-0.11.0/tests/test_mcp_server.py +1335 -0
  177. zotero_cli_ai-0.11.0/tests/test_metadata_resolver.py +162 -0
  178. zotero_cli_ai-0.11.0/tests/test_models.py +42 -0
  179. zotero_cli_ai-0.11.0/tests/test_new_features.py +375 -0
  180. zotero_cli_ai-0.11.0/tests/test_orphans.py +182 -0
  181. zotero_cli_ai-0.11.0/tests/test_path_utils.py +51 -0
  182. zotero_cli_ai-0.11.0/tests/test_pdf_cache.py +54 -0
  183. zotero_cli_ai-0.11.0/tests/test_pdf_extractor.py +22 -0
  184. zotero_cli_ai-0.11.0/tests/test_pdf_integration.py +226 -0
  185. zotero_cli_ai-0.11.0/tests/test_rag.py +283 -0
  186. zotero_cli_ai-0.11.0/tests/test_reader.py +289 -0
  187. zotero_cli_ai-0.11.0/tests/test_rename.py +291 -0
  188. zotero_cli_ai-0.11.0/tests/test_summarize_all.py +31 -0
  189. zotero_cli_ai-0.11.0/tests/test_tier1_annotations.py +80 -0
  190. zotero_cli_ai-0.11.0/tests/test_tier1_recent.py +80 -0
  191. zotero_cli_ai-0.11.0/tests/test_tier1_search.py +108 -0
  192. zotero_cli_ai-0.11.0/tests/test_tier1_update.py +142 -0
  193. zotero_cli_ai-0.11.0/tests/test_trash.py +136 -0
  194. zotero_cli_ai-0.11.0/tests/test_update_status.py +124 -0
  195. zotero_cli_ai-0.11.0/tests/test_version_check.py +137 -0
  196. zotero_cli_ai-0.11.0/tests/test_workspace.py +291 -0
  197. zotero_cli_ai-0.11.0/tests/test_workspace_rag.py +238 -0
  198. zotero_cli_ai-0.11.0/tests/test_writer.py +144 -0
  199. zotero_cli_ai-0.11.0/uv.lock +2343 -0
@@ -0,0 +1,38 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: astral-sh/setup-uv@v4
18
+ with:
19
+ python-version: ${{ matrix.python-version }}
20
+ enable-cache: true
21
+ - run: uv sync --locked --group dev --extra mcp
22
+ - run: uv run ruff check src/ tests/
23
+ - run: uv run ruff format --check src/ tests/
24
+ - run: uv run mypy src/zotero_cli_cc/
25
+ - run: uv run pytest tests/ -v
26
+
27
+ build:
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - uses: astral-sh/setup-uv@v4
32
+ with:
33
+ enable-cache: true
34
+ # The wheel force-includes the Zotero bridge plugin assets; fail here
35
+ # rather than at release time if they go missing.
36
+ - run: uv build
37
+ - name: Verify bridge assets are bundled
38
+ run: unzip -l dist/*.whl | grep bridge_assets
@@ -0,0 +1,52 @@
1
+ name: Deploy Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - "docs/**"
8
+ - "mkdocs.yml"
9
+ - "CHANGELOG.md"
10
+ - "src/zotero_cli_cc/**"
11
+ workflow_dispatch:
12
+
13
+ permissions:
14
+ contents: read
15
+ pages: write
16
+ id-token: write
17
+
18
+ concurrency:
19
+ group: "pages"
20
+ cancel-in-progress: false
21
+
22
+ jobs:
23
+ build:
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+
28
+ - uses: astral-sh/setup-uv@v4
29
+ with:
30
+ python-version: "3.12"
31
+
32
+ - name: Install dependencies
33
+ run: uv sync --extra docs
34
+
35
+ - name: Build docs
36
+ run: uv run mkdocs build --strict
37
+
38
+ - name: Upload artifact
39
+ uses: actions/upload-pages-artifact@v3
40
+ with:
41
+ path: ./site
42
+
43
+ deploy:
44
+ environment:
45
+ name: github-pages
46
+ url: ${{ steps.deployment.outputs.page_url }}
47
+ runs-on: ubuntu-latest
48
+ needs: build
49
+ steps:
50
+ - name: Deploy to GitHub Pages
51
+ id: deployment
52
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,31 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ lint:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: astral-sh/setup-uv@v4
14
+ - run: uv sync --group dev --extra mcp
15
+ - run: uv run ruff check src/ tests/
16
+ - run: uv run ruff format --check src/ tests/
17
+ - run: uv run mypy src/zotero_cli_cc/
18
+
19
+ publish:
20
+ needs: lint
21
+ runs-on: ubuntu-latest
22
+ environment: pypi
23
+ permissions:
24
+ id-token: write
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: astral-sh/setup-uv@v4
28
+ - run: uv build
29
+ - uses: pypa/gh-action-pypi-publish@release/v1
30
+ with:
31
+ skip-existing: true
@@ -0,0 +1,30 @@
1
+ __pycache__/
2
+ *.pyc
3
+ .venv/
4
+ # Built Zotero bridge plugin (produced by `zot bridge install`)
5
+ extension/*.xpi
6
+ *.egg-info/
7
+ dist/
8
+ build/
9
+ .pytest_cache/
10
+ .coverage
11
+ htmlcov/
12
+ .mypy_cache/
13
+ .ruff_cache/
14
+ *.log
15
+ # Docs build output
16
+ site/
17
+ # Internal dev docs (plans, specs)
18
+ docs/superpowers/
19
+ docs/gap-analysis.md
20
+ plan/
21
+ logs/
22
+ .vscode/
23
+ my-docs/
24
+ .sisyphus/
25
+ .claude/
26
+ .DS_Store
27
+ # Local-only assets and notes (not part of the published repo)
28
+ asserts/banner_cn.png
29
+ asserts/banner_en.png
30
+ goal-pdf-extraction-tiers.md
@@ -0,0 +1,21 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.9.10
4
+ hooks:
5
+ - id: ruff
6
+ args: [--fix]
7
+ - id: ruff-format
8
+
9
+ - repo: https://github.com/pre-commit/mirrors-mypy
10
+ rev: v1.14.1
11
+ hooks:
12
+ - id: mypy
13
+ args: [--ignore-missing-imports]
14
+ additional_dependencies:
15
+ - click>=8.1
16
+ - pyzotero>=1.5
17
+ - rich>=13.0
18
+ - platformdirs>=4.0
19
+ - markdownify>=1.2.2
20
+ pass_filenames: false
21
+ entry: mypy src/zotero_cli_cc/