calkit-python 0.48.1__tar.gz → 0.48.2__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 (1142) hide show
  1. calkit_python-0.48.2/.calkit/env-locks/tex/amd64.json +27 -0
  2. calkit_python-0.48.2/.calkit/env-locks/tex/arm64.json +27 -0
  3. {calkit_python-0.48.1 → calkit_python-0.48.2}/.pre-commit-config.yaml +4 -3
  4. {calkit_python-0.48.1 → calkit_python-0.48.2}/PKG-INFO +2 -1
  5. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/latex.py +454 -0
  6. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/git.py +4 -2
  7. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/latex.py +260 -10
  8. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/markdown.py +156 -5
  9. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/models/pipeline.py +104 -1
  10. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/pipeline.py +4 -1
  11. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/devcontainer.json +1 -1
  12. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/vscode/settings.json +1 -1
  13. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/main/test_core.py +15 -0
  14. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_latex.py +239 -0
  15. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_docx.py +37 -3
  16. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_git.py +29 -0
  17. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_markdown.py +88 -0
  18. calkit_python-0.48.2/calkit.yaml +241 -0
  19. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/cli-reference.md +46 -0
  20. calkit_python-0.48.2/docs/img/.gitignore +3 -0
  21. calkit_python-0.48.2/docs/img/latex-word-round-trip.png +0 -0
  22. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/latex.md +87 -1
  23. calkit_python-0.48.2/docs/one-pager/2027-budget.csv +7 -0
  24. calkit_python-0.48.2/docs/one-pager/main.md +110 -0
  25. calkit_python-0.48.2/docs/one-pager/one-pager.lua +66 -0
  26. calkit_python-0.48.2/docs/one-pager/template.tex +88 -0
  27. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/pipeline/index.md +26 -8
  28. calkit_python-0.48.2/docs/roi/index.md +24 -0
  29. calkit_python-0.48.2/docs/roi/research_flow.py +939 -0
  30. calkit_python-0.48.2/docs/roi/simulator.css +352 -0
  31. calkit_python-0.48.2/docs/roi/simulator.js +742 -0
  32. calkit_python-0.48.2/docs/roi/simulator.py +488 -0
  33. calkit_python-0.48.2/docs/roi/worker.js +27 -0
  34. {calkit_python-0.48.1/vscode-ext → calkit_python-0.48.2/docs}/schemas/calkit.json +82 -0
  35. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/existing-project.md +1 -1
  36. calkit_python-0.48.2/dvc.lock +323 -0
  37. calkit_python-0.48.2/dvc.yaml +111 -0
  38. calkit_python-0.48.2/examples/latex-word/paper/.gitignore +29 -0
  39. calkit_python-0.48.2/hub/backend/app/alembic/versions/e6b898df78ed_mark_comments_moved_into_latex_source.py +26 -0
  40. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/__init__.py +3 -0
  41. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/core.py +16 -0
  42. calkit_python-0.48.2/hub/backend/app/api/routes/projects/latex_comments.py +849 -0
  43. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/git.py +50 -0
  44. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/models/core.py +3 -0
  45. calkit_python-0.48.2/hub/backend/app/pdftext.py +414 -0
  46. calkit_python-0.48.2/hub/backend/app/tests/api/routes/projects/test_latex_comments.py +439 -0
  47. calkit_python-0.48.2/hub/backend/app/tests/test_pdftext.py +156 -0
  48. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/pyproject.toml +1 -1
  49. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/index.ts +37 -0
  50. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/schemas.gen.ts +307 -0
  51. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/sdk.gen.ts +304 -0
  52. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/types.gen.ts +423 -0
  53. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/CodeEditorPane.tsx +5 -1
  54. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/CommentsPanel.tsx +10 -1
  55. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/PdfDocumentViewer.tsx +8 -0
  56. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/LatexEditor.tsx +194 -1
  57. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/PdfAnnotator.tsx +299 -40
  58. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/environments.ts +1 -1
  59. calkit_python-0.48.2/hub/frontend/src/lib/latexComments.test.ts +151 -0
  60. calkit_python-0.48.2/hub/frontend/src/lib/latexComments.ts +318 -0
  61. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/publications.tsx +134 -28
  62. {calkit_python-0.48.1 → calkit_python-0.48.2}/images/latex/README.md +2 -2
  63. calkit_python-0.48.2/images/latex/sizes.json +16 -0
  64. {calkit_python-0.48.1 → calkit_python-0.48.2}/mkdocs.yml +1 -0
  65. {calkit_python-0.48.1 → calkit_python-0.48.2}/pyproject.toml +6 -0
  66. calkit_python-0.48.2/references.bib +126 -0
  67. calkit_python-0.48.2/results/2027-budget.json +71 -0
  68. calkit_python-0.48.2/results/research-flow.json +2399 -0
  69. calkit_python-0.48.2/scripts/budget.py +57 -0
  70. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/generate-docs-references.py +4 -1
  71. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/latex-word-round-trip.py +17 -1
  72. calkit_python-0.48.2/scripts/plot-research-flow.py +364 -0
  73. calkit_python-0.48.2/scripts/research-flow.py +399 -0
  74. calkit_python-0.48.2/test/latex-comments/intro.tex +5 -0
  75. calkit_python-0.48.2/test/latex-comments/main.pdf +0 -0
  76. calkit_python-0.48.2/test/latex-comments/main.tex +17 -0
  77. {calkit_python-0.48.1 → calkit_python-0.48.2}/uv.lock +20 -68
  78. calkit_python-0.48.2/vscode-ext/.vscodeignore +19 -0
  79. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/README.md +7 -0
  80. calkit_python-0.48.2/vscode-ext/package-lock.json +340 -0
  81. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/package.json +86 -0
  82. {calkit_python-0.48.1/docs → calkit_python-0.48.2/vscode-ext}/schemas/calkit.json +82 -0
  83. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/extension.ts +113 -6
  84. calkit_python-0.48.2/vscode-ext/src/latex/core.ts +536 -0
  85. calkit_python-0.48.2/vscode-ext/src/latex/review.ts +1466 -0
  86. calkit_python-0.48.2/vscode-ext/src/test/latex.test.ts +264 -0
  87. calkit_python-0.48.1/calkit.yaml +0 -106
  88. calkit_python-0.48.1/docs/img/latex-word-round-trip.png +0 -0
  89. calkit_python-0.48.1/dvc.lock +0 -126
  90. calkit_python-0.48.1/dvc.yaml +0 -53
  91. calkit_python-0.48.1/hub/backend/app/pdftext.py +0 -131
  92. calkit_python-0.48.1/hub/backend/app/tests/test_pdftext.py +0 -79
  93. calkit_python-0.48.1/images/latex/sizes.json +0 -16
  94. calkit_python-0.48.1/vscode-ext/.vscodeignore +0 -5
  95. calkit_python-0.48.1/vscode-ext/package-lock.json +0 -77
  96. calkit_python-0.48.1/vscode-ext/src/latex/core.ts +0 -125
  97. calkit_python-0.48.1/vscode-ext/src/test/latex.test.ts +0 -72
  98. {calkit_python-0.48.1 → calkit_python-0.48.2}/.claude-plugin/marketplace.json +0 -0
  99. {calkit_python-0.48.1 → calkit_python-0.48.2}/.dockerignore +0 -0
  100. {calkit_python-0.48.1 → calkit_python-0.48.2}/.dvc/.gitignore +0 -0
  101. {calkit_python-0.48.1 → calkit_python-0.48.2}/.dvc/config +0 -0
  102. {calkit_python-0.48.1 → calkit_python-0.48.2}/.dvcignore +0 -0
  103. {calkit_python-0.48.1 → calkit_python-0.48.2}/.gitattributes +0 -0
  104. {calkit_python-0.48.1 → calkit_python-0.48.2}/.gitignore +0 -0
  105. {calkit_python-0.48.1 → calkit_python-0.48.2}/.gitmodules +0 -0
  106. {calkit_python-0.48.1 → calkit_python-0.48.2}/.prettierignore +0 -0
  107. {calkit_python-0.48.1 → calkit_python-0.48.2}/.prettierrc.json +0 -0
  108. {calkit_python-0.48.1 → calkit_python-0.48.2}/.python-version +0 -0
  109. {calkit_python-0.48.1 → calkit_python-0.48.2}/.vscode/launch.json +0 -0
  110. {calkit_python-0.48.1 → calkit_python-0.48.2}/.vscode/tasks.json +0 -0
  111. {calkit_python-0.48.1 → calkit_python-0.48.2}/AGENTS.md +0 -0
  112. {calkit_python-0.48.1 → calkit_python-0.48.2}/CITATION.cff +0 -0
  113. {calkit_python-0.48.1 → calkit_python-0.48.2}/CODE_OF_CONDUCT.md +0 -0
  114. {calkit_python-0.48.1 → calkit_python-0.48.2}/CONTRIBUTING.md +0 -0
  115. {calkit_python-0.48.1 → calkit_python-0.48.2}/LICENSE +0 -0
  116. {calkit_python-0.48.1 → calkit_python-0.48.2}/Makefile +0 -0
  117. {calkit_python-0.48.1 → calkit_python-0.48.2}/README.md +0 -0
  118. {calkit_python-0.48.1 → calkit_python-0.48.2}/actions/run/README.md +0 -0
  119. {calkit_python-0.48.1 → calkit_python-0.48.2}/actions/run/action.yml +0 -0
  120. {calkit_python-0.48.1 → calkit_python-0.48.2}/actions/run/example.yml +0 -0
  121. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/.claude-plugin/plugin.json +0 -0
  122. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/skills/add-pipeline-stage/SKILL.md +0 -0
  123. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/skills/build-paper-pipeline/SKILL.md +0 -0
  124. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/skills/check-questions/SKILL.md +0 -0
  125. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/skills/check-reproducibility/SKILL.md +0 -0
  126. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/skills/conventions/SKILL.md +0 -0
  127. {calkit_python-0.48.1 → calkit_python-0.48.2}/agent-plugin/skills/create-pipeline/SKILL.md +0 -0
  128. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/.gitignore +0 -0
  129. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/.python-version +0 -0
  130. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/Makefile +0 -0
  131. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/README.md +0 -0
  132. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/main.py +0 -0
  133. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/pyproject.toml +0 -0
  134. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/resources/icon.ico +0 -0
  135. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/resources/screenshot.png +0 -0
  136. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/tests/test_main.py +0 -0
  137. {calkit_python-0.48.1 → calkit_python-0.48.2}/assistant/uv.lock +0 -0
  138. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/.gitignore +0 -0
  139. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/README.md +0 -0
  140. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/options.html +0 -0
  141. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/package-lock.json +0 -0
  142. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/package.json +0 -0
  143. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/popup.html +0 -0
  144. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/public/icons/calkit-128.png +0 -0
  145. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/public/icons/calkit-16.png +0 -0
  146. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/public/icons/calkit-32.png +0 -0
  147. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/public/icons/calkit-48.png +0 -0
  148. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/public/icons/calkit.svg +0 -0
  149. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/public/manifest.json +0 -0
  150. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/scripts/build-content.mjs +0 -0
  151. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/scripts/package-manifest.mjs +0 -0
  152. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/scripts/store-screenshots.py +0 -0
  153. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/scripts/watch.mjs +0 -0
  154. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/background/index.ts +0 -0
  155. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/content/github.ts +0 -0
  156. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/content/overleaf.ts +0 -0
  157. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/content/references.ts +0 -0
  158. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/api.ts +0 -0
  159. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/auth.ts +0 -0
  160. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/calkit-yaml.test.ts +0 -0
  161. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/calkit-yaml.ts +0 -0
  162. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/detect.test.ts +0 -0
  163. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/detect.ts +0 -0
  164. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/hub-url.ts +0 -0
  165. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/hubs.test.ts +0 -0
  166. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/hubs.ts +0 -0
  167. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/latex.test.ts +0 -0
  168. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/latex.ts +0 -0
  169. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/lifecycle.ts +0 -0
  170. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/messages.test.ts +0 -0
  171. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/messages.ts +0 -0
  172. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/pickers.ts +0 -0
  173. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/storage.ts +0 -0
  174. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/types.ts +0 -0
  175. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/ui.test.ts +0 -0
  176. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/core/ui.ts +0 -0
  177. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/options/options.ts +0 -0
  178. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/popup/popup.css +0 -0
  179. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/popup/popup.ts +0 -0
  180. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/src/viewer/viewer.ts +0 -0
  181. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/tsconfig.json +0 -0
  182. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/viewer.html +0 -0
  183. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/vite.config.ts +0 -0
  184. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/vite.content.config.ts +0 -0
  185. {calkit_python-0.48.1 → calkit_python-0.48.2}/browser-ext/vitest.config.ts +0 -0
  186. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/__init__.py +0 -0
  187. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/__main__.py +0 -0
  188. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/calc.py +0 -0
  189. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/__init__.py +0 -0
  190. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/check.py +0 -0
  191. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/config.py +0 -0
  192. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/core.py +0 -0
  193. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/delete.py +0 -0
  194. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/describe.py +0 -0
  195. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/dev.py +0 -0
  196. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/hub.py +0 -0
  197. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/import_.py +0 -0
  198. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/list.py +0 -0
  199. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/main/__init__.py +0 -0
  200. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/main/core.py +0 -0
  201. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/main/xr.py +0 -0
  202. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/new.py +0 -0
  203. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/notebooks.py +0 -0
  204. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/office.py +0 -0
  205. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/overleaf.py +0 -0
  206. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/scheduler.py +0 -0
  207. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/show.py +0 -0
  208. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/sync.py +0 -0
  209. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/cli/update.py +0 -0
  210. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/conda.py +0 -0
  211. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/config.py +0 -0
  212. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/core.py +0 -0
  213. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/datasets.py +0 -0
  214. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/dependencies.py +0 -0
  215. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/detect.py +0 -0
  216. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/docker.py +0 -0
  217. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/docx.py +0 -0
  218. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/dvc/__init__.py +0 -0
  219. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/dvc/core.py +0 -0
  220. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/dvc/zip.py +0 -0
  221. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/environments.py +0 -0
  222. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/fs.py +0 -0
  223. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/github.py +0 -0
  224. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/gui.py +0 -0
  225. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/hub.py +0 -0
  226. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/install.py +0 -0
  227. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/invenio.py +0 -0
  228. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/julia.py +0 -0
  229. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/jupyter.py +0 -0
  230. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/jupyterlab/__init__.py +0 -0
  231. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/jupyterlab/routes.py +0 -0
  232. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/package.json +0 -0
  233. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
  234. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/schemas/calkit/plugin.json +0 -0
  235. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/506.c34b070098184e33.js +0 -0
  236. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/57d13a7399cec3c5.png +0 -0
  237. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/616.528427eb54a4a0c0.js +0 -0
  238. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/740.6bf87276e9e5788a.js +0 -0
  239. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/899.f9b9f9bf705a6493.js +0 -0
  240. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/935.46ecc6bf99aa593a.js +0 -0
  241. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/remoteEntry.109a3a8379365e59.js +0 -0
  242. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/style.js +0 -0
  243. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/labextension/static/third-party-licenses.json +0 -0
  244. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/licenses.py +0 -0
  245. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/magics.py +0 -0
  246. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/matlab.py +0 -0
  247. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/models/__init__.py +0 -0
  248. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/models/core.py +0 -0
  249. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/models/docx.py +0 -0
  250. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/models/io.py +0 -0
  251. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/models/iteration.py +0 -0
  252. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/notebooks.py +0 -0
  253. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/office.py +0 -0
  254. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/ops.py +0 -0
  255. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/overleaf.py +0 -0
  256. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/procedures.py +0 -0
  257. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/provenance.py +0 -0
  258. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/questions.py +0 -0
  259. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/releases.py +0 -0
  260. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/reproducibility.py +0 -0
  261. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/README.md +0 -0
  262. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/__init__.py +0 -0
  263. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/Dockerfile +0 -0
  264. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/README.md +0 -0
  265. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/base.json +0 -0
  266. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/scripts/check-envs.sh +0 -0
  267. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/scripts/post-create.sh +0 -0
  268. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/scripts/post-start.sh +0 -0
  269. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/devcontainer/scripts/update-content.sh +0 -0
  270. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/github-actions/example.yml +0 -0
  271. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/vscode/README.md +0 -0
  272. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/resources/vscode/extensions.json +0 -0
  273. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/schema.py +0 -0
  274. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/server.py +0 -0
  275. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/__init__.py +0 -0
  276. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/core.py +0 -0
  277. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/__init__.py +0 -0
  278. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/article/paper.tex +0 -0
  279. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/core.py +0 -0
  280. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/ieee-conference/paper.tex +0 -0
  281. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/jfm/jfm.bst +0 -0
  282. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/jfm/jfm.cls +0 -0
  283. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
  284. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/jfm/paper.tex +0 -0
  285. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/jfm/upmath.sty +0 -0
  286. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/templates/latex/report/paper.tex +0 -0
  287. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/__init__.py +0 -0
  288. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/__init__.py +0 -0
  289. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/main/__init__.py +0 -0
  290. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/main/test_lock.py +0 -0
  291. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/main/test_subprojects.py +0 -0
  292. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/main/test_xr.py +0 -0
  293. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_check.py +0 -0
  294. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_config.py +0 -0
  295. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_core.py +0 -0
  296. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_delete.py +0 -0
  297. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_describe.py +0 -0
  298. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_hub.py +0 -0
  299. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_import.py +0 -0
  300. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_list.py +0 -0
  301. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_new.py +0 -0
  302. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_notebooks.py +0 -0
  303. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_overleaf.py +0 -0
  304. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_scheduler.py +0 -0
  305. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_show.py +0 -0
  306. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_sync.py +0 -0
  307. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/cli/test_update.py +0 -0
  308. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/dvc/__init__.py +0 -0
  309. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/dvc/test_core.py +0 -0
  310. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/dvc/test_zip.py +0 -0
  311. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/jupyterlab/__init__.py +0 -0
  312. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/jupyterlab/conftest.py +0 -0
  313. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/jupyterlab/test_routes.py +0 -0
  314. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/models/__init__.py +0 -0
  315. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/models/test_core.py +0 -0
  316. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/models/test_iteration.py +0 -0
  317. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/models/test_pipeline.py +0 -0
  318. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_calc.py +0 -0
  319. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_conda.py +0 -0
  320. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_config.py +0 -0
  321. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_core.py +0 -0
  322. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_dependencies.py +0 -0
  323. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_detect.py +0 -0
  324. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_docker.py +0 -0
  325. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_docs_references.py +0 -0
  326. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_environments.py +0 -0
  327. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_fs.py +0 -0
  328. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_hub.py +0 -0
  329. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_install.py +0 -0
  330. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_invenio.py +0 -0
  331. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_julia.py +0 -0
  332. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_jupyter.py +0 -0
  333. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_keyring_windows.py +0 -0
  334. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_licenses.py +0 -0
  335. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_magics.py +0 -0
  336. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_matlab.py +0 -0
  337. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_models.py +0 -0
  338. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_notebooks.py +0 -0
  339. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_overleaf.py +0 -0
  340. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_pipeline.py +0 -0
  341. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_procedures.py +0 -0
  342. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_provenance.py +0 -0
  343. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_questions.py +0 -0
  344. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_releases.py +0 -0
  345. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_reproducibility.py +0 -0
  346. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_resources.py +0 -0
  347. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_schema.py +0 -0
  348. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_templates.py +0 -0
  349. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_upgrade.py +0 -0
  350. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/tests/test_workspace.py +0 -0
  351. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/upgrade.py +0 -0
  352. {calkit_python-0.48.1 → calkit_python-0.48.2}/calkit/workspace.py +0 -0
  353. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/CNAME +0 -0
  354. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/acknowledgements.md +0 -0
  355. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/ai-tools.md +0 -0
  356. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/apps.md +0 -0
  357. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/browser-ext/index.md +0 -0
  358. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/browser-ext/privacy.md +0 -0
  359. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/calculations.md +0 -0
  360. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/calkit-yaml.md +0 -0
  361. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/cloud-integration.md +0 -0
  362. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/comparisons.md +0 -0
  363. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/datasets.md +0 -0
  364. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/dev/latex-word.md +0 -0
  365. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/environments.md +0 -0
  366. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/examples.md +0 -0
  367. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/governance.md +0 -0
  368. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/help.md +0 -0
  369. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/hpc.md +0 -0
  370. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/hub/index.md +0 -0
  371. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/hub/self-hosting.md +0 -0
  372. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/c-to-the-k-white.svg +0 -0
  373. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/calkit-fragmentation-compendium.png +0 -0
  374. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/calkit-no-bg.png +0 -0
  375. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/caltech.png +0 -0
  376. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/connect-zenodo.png +0 -0
  377. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/jupyterlab/all-green.png +0 -0
  378. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/jupyterlab/collect-data-stale.png +0 -0
  379. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/jupyterlab/new-env.png +0 -0
  380. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/jupyterlab/new-notebook.png +0 -0
  381. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/jupyterlab/pipeline-badge.png +0 -0
  382. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/jupyterlab-params.png +0 -0
  383. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/pipeline.png +0 -0
  384. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/plos-osi-code-2024-03.png +0 -0
  385. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/schmidt-sciences.png +0 -0
  386. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/img/vscode-nb-params.png +0 -0
  387. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/index.md +0 -0
  388. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/installation.md +0 -0
  389. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/jupyterlab.md +0 -0
  390. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/local-server.md +0 -0
  391. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/notebooks.md +0 -0
  392. {calkit_python-0.48.1/examples/latex-word/paper → calkit_python-0.48.2/docs/one-pager}/.gitignore +0 -0
  393. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/overleaf.md +0 -0
  394. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/pipeline/manual-steps.md +0 -0
  395. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/pipeline/markdown.md +0 -0
  396. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/pipeline/running-and-logging.md +0 -0
  397. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/privacy.md +0 -0
  398. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/provenance.md +0 -0
  399. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/questions.md +0 -0
  400. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/quickstart.md +0 -0
  401. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/references.md +0 -0
  402. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/releases.md +0 -0
  403. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/reproducibility.md +0 -0
  404. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/requirements.md +0 -0
  405. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/subprojects.md +0 -0
  406. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/adding-latex-pub-docker.md +0 -0
  407. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/ai-agents.md +0 -0
  408. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/conda-envs.md +0 -0
  409. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/first-project.md +0 -0
  410. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/github-actions.md +0 -0
  411. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/actions-repo-secrets.png +0 -0
  412. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
  413. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
  414. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
  415. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
  416. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
  417. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
  418. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
  419. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
  420. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
  421. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
  422. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/push.png +0 -0
  423. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
  424. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
  425. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/chart-more-rows.png +0 -0
  426. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/create-project.png +0 -0
  427. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
  428. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/excel-chart.png +0 -0
  429. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/excel-data.png +0 -0
  430. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
  431. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/needs-clone.png +0 -0
  432. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/new-stage.png +0 -0
  433. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
  434. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
  435. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/status-more-rows.png +0 -0
  436. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
  437. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/untracked-data.png +0 -0
  438. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/updated-publication.png +0 -0
  439. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
  440. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/office/workflow-page.png +0 -0
  441. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/clone.png +0 -0
  442. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/create-project.png +0 -0
  443. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
  444. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
  445. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
  446. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/new-token.png +0 -0
  447. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/reclone.png +0 -0
  448. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
  449. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/quick-actions.png +0 -0
  450. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/run-proc.png +0 -0
  451. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/create-calkit-env.png +0 -0
  452. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/create-inner-env.png +0 -0
  453. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/create-new-calkit-env.png +0 -0
  454. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/select-calkit-env.png +0 -0
  455. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/slurm-job-running.png +0 -0
  456. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/slurm-launch-options.png +0 -0
  457. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/img/vscode-slurm-notebook/starting-slurm-job.png +0 -0
  458. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/index.md +0 -0
  459. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/jupyterlab.md +0 -0
  460. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/latex-codespaces.md +0 -0
  461. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/latex-word.md +0 -0
  462. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/matlab.md +0 -0
  463. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/notebook-pipeline.md +0 -0
  464. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/office.md +0 -0
  465. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/openfoam.md +0 -0
  466. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/procedures.md +0 -0
  467. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/runnable-readme.md +0 -0
  468. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/vscode-slurm-notebook.md +0 -0
  469. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/tutorials/writing-first.md +0 -0
  470. {calkit_python-0.48.1 → calkit_python-0.48.2}/docs/version-control.md +0 -0
  471. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/.gitignore +0 -0
  472. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/README.md +0 -0
  473. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-authoring/.gitignore +0 -0
  474. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-authoring/authoring/Dockerfile +0 -0
  475. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-authoring/calkit.yaml +0 -0
  476. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-variant/solution/calkit.yaml +0 -0
  477. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-variant/solution/make_design_report.py +0 -0
  478. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-variant/solution/solve.sh +0 -0
  479. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/overlay-variant/tests/test_calkit.py +0 -0
  480. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/patch_variant.py +0 -0
  481. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/setup.sh +0 -0
  482. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/harbor-tb-science/tamper.sh +0 -0
  483. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.calkit/env-locks/py/osx-arm64.txt +0 -0
  484. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.calkit/env-locks/py/win-64.txt +0 -0
  485. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.calkit/env-locks/tex/amd64.json +0 -0
  486. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.calkit/env-locks/tex/arm64.json +0 -0
  487. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.dvc/.gitignore +0 -0
  488. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.dvc/config +0 -0
  489. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.dvcignore +0 -0
  490. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.gitattributes +0 -0
  491. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/.gitignore +0 -0
  492. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/README.md +0 -0
  493. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/calkit.yaml +0 -0
  494. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/dvc.lock +0 -0
  495. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/dvc.yaml +0 -0
  496. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/figures/.gitignore +0 -0
  497. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/paper/figures/.gitignore +0 -0
  498. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/paper/main.tex +0 -0
  499. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/paper/methods.tex +0 -0
  500. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/paper/refs.bib +0 -0
  501. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/requirements.txt +0 -0
  502. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/latex-word/scripts/plot-wake.py +0 -0
  503. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/jl/Manifest.toml +0 -0
  504. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/jl/Project.toml +0 -0
  505. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/py/.python-version +0 -0
  506. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/py/pyproject.toml +0 -0
  507. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/py/uv.lock +0 -0
  508. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/.Rbuildignore +0 -0
  509. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/.Rprofile +0 -0
  510. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/DESCRIPTION +0 -0
  511. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/renv/.gitignore +0 -0
  512. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/renv/activate.R +0 -0
  513. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/renv/settings.json +0 -0
  514. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.calkit/envs/r/renv.lock +0 -0
  515. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.dvc/.gitignore +0 -0
  516. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.dvc/config +0 -0
  517. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.dvcignore +0 -0
  518. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/.gitignore +0 -0
  519. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/README.md +0 -0
  520. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/calkit.yaml +0 -0
  521. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/data/data.csv +0 -0
  522. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/data/data2.csv +0 -0
  523. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/dvc.lock +0 -0
  524. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/dvc.yaml +0 -0
  525. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/figures/data2.png +0 -0
  526. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/figures/figure.png +0 -0
  527. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown/results/fit.json +0 -0
  528. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/.dvc/.gitignore +0 -0
  529. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/.dvc/config +0 -0
  530. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/.dvcignore +0 -0
  531. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/.gitignore +0 -0
  532. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/.python-version +0 -0
  533. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/README.md +0 -0
  534. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/calkit.yaml +0 -0
  535. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/dvc.lock +0 -0
  536. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/dvc.yaml +0 -0
  537. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/figures/waves.png +0 -0
  538. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/pyproject.toml +0 -0
  539. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/src/wavetools/__init__.py +0 -0
  540. {calkit_python-0.48.1 → calkit_python-0.48.2}/examples/markdown-python/uv.lock +0 -0
  541. {calkit_python-0.48.1 → calkit_python-0.48.2}/flake.lock +0 -0
  542. {calkit_python-0.48.1 → calkit_python-0.48.2}/flake.nix +0 -0
  543. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/.env.example +0 -0
  544. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/.gitattributes +0 -0
  545. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/.gitignore +0 -0
  546. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/.vscode/launch.json +0 -0
  547. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/AGENTS.md +0 -0
  548. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/LICENSE +0 -0
  549. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/Makefile +0 -0
  550. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/README.md +0 -0
  551. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/.gitignore +0 -0
  552. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/.python-version +0 -0
  553. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/Dockerfile +0 -0
  554. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/Makefile +0 -0
  555. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/README.md +0 -0
  556. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/alembic.ini +0 -0
  557. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/__init__.py +0 -0
  558. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/README +0 -0
  559. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/env.py +0 -0
  560. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/script.py.mako +0 -0
  561. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/.keep +0 -0
  562. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/07c8236476c4_add_fields_to_usertoken.py +0 -0
  563. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/10a05eaedfbd_add_dataset_table.py +0 -0
  564. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/1546aa334cd5_make_project_description_nullable.py +0 -0
  565. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/1a31ce608336_add_cascade_delete_relationships.py +0 -0
  566. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/1fb6e38eb0e9_add_deviceauth_table.py +0 -0
  567. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/208e7457f3ba_add_title_to_project.py +0 -0
  568. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/2e7c25a00842_add_is_public_to_project.py +0 -0
  569. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/38e178698db2_update_subscription_model_to_use_plan_.py +0 -0
  570. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/3b1e67e9c318_add_usertoken_table.py +0 -0
  571. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/4dac15c0282a_add_stripe_customer_id_to_user.py +0 -0
  572. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/4e1c917fcca4_add_status_columns_to_project_table.py +0 -0
  573. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/5ba89308431f_add_project_table.py +0 -0
  574. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/5d6f8217c890_add_subscriber_user_id_to_org_.py +0 -0
  575. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/65b2d15cc702_add_github_username_field_to_user.py +0 -0
  576. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/697c3c1a8a27_add_git_repo_url_to_project.py +0 -0
  577. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/6f3a3afbea8b_add_number_field_to_question.py +0 -0
  578. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/7076d9b5c887_use_account_for_project_owner.py +0 -0
  579. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/71e1d1e69bbd_add_table_for_storing_user_github_tokens.py +0 -0
  580. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/799476973bce_add_created_ts_to_user_github_token_.py +0 -0
  581. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/7cacee34034c_add_parent_child_relationship_to_.py +0 -0
  582. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/97762605447f_add_onboarding_flags_and_feedback.py +0 -0
  583. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/9c0a54914c78_add_max_length_for_string_varchar_.py +0 -0
  584. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/9c4f70636d73_add_fields_to_usertoken.py +0 -0
  585. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/a333fc5aa994_index_project_folders_synced_with_.py +0 -0
  586. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/a4af19842927_create_table_to_store_user_zenodo_tokens.py +0 -0
  587. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/ab7816be480b_drop_items.py +0 -0
  588. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/ac622559475f_save_timestamps_for_github_token_.py +0 -0
  589. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/af024967630d_lowercase_account_names.py +0 -0
  590. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/c1f9a3e27d48_consolidate_comment_tables.py +0 -0
  591. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/c46a78ba506c_add_created_column_to_account.py +0 -0
  592. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/c4e1d7a92b35_add_analytics_consent_to_user.py +0 -0
  593. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/c749b39072d3_add_figurecomment.py +0 -0
  594. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/c7c41c3f0d22_add_user_external_credential_table.py +0 -0
  595. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/d01ce914143d_make_question_a_table.py +0 -0
  596. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/d21ed1c9537e_add_zenodo_user_id_column_to_user.py +0 -0
  597. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/d3a8021fb433_add_table_for_user_project_access.py +0 -0
  598. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/d4e5f6a7b8c9_ghless_membership_and_invitations.py +0 -0
  599. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/d6366015af35_add_discount_code_table.py +0 -0
  600. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/d98dd8ec85a3_edit_replace_id_integers_in_all_models_.py +0 -0
  601. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/dcef842dee10_add_refreshtoken_table.py +0 -0
  602. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/e1b0fa2a6d34_backfill_external_credentials_from_legacy_.py +0 -0
  603. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/e2412789c190_initialize_models.py +0 -0
  604. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/e7671197c00b_add_account_table.py +0 -0
  605. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/ed74edb0a9e6_create_table_for_user_overleaf_token.py +0 -0
  606. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/edcabfca98df_add_subscription_and_org_membership_.py +0 -0
  607. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/f0e23e048b1b_add_fields_to_project.py +0 -0
  608. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/f3a9c1b7e240_add_releases_feature.py +0 -0
  609. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/f5ad6445ad03_enable_user_project_access_to_be_null.py +0 -0
  610. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/alembic/versions/f74a96172dbd_add_table_for_locking_project_files.py +0 -0
  611. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/__init__.py +0 -0
  612. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/deps.py +0 -0
  613. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/main.py +0 -0
  614. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/__init__.py +0 -0
  615. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/accounts.py +0 -0
  616. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/analytics.py +0 -0
  617. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/datasets.py +0 -0
  618. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/feedback.py +0 -0
  619. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/login.py +0 -0
  620. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/misc.py +0 -0
  621. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/orgs.py +0 -0
  622. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/activity.py +0 -0
  623. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/datasets.py +0 -0
  624. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/dvc.py +0 -0
  625. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/figures.py +0 -0
  626. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/fs.py +0 -0
  627. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/pipeline.py +0 -0
  628. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/projects/releases.py +0 -0
  629. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/references.py +0 -0
  630. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/api/routes/users.py +0 -0
  631. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/arxiv.py +0 -0
  632. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/cache.py +0 -0
  633. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/client.py +0 -0
  634. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/config.py +0 -0
  635. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/core.py +0 -0
  636. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/db.py +0 -0
  637. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/dvc.py +0 -0
  638. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/build/new_account.html +0 -0
  639. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/build/project_invitation.html +0 -0
  640. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/build/release_share.html +0 -0
  641. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/build/reset_password.html +0 -0
  642. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/build/test_email.html +0 -0
  643. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/build/verify_email.html +0 -0
  644. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/src/new_account.mjml +0 -0
  645. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/src/project_invitation.mjml +0 -0
  646. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/src/release_share.mjml +0 -0
  647. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/src/reset_password.mjml +0 -0
  648. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/src/test_email.mjml +0 -0
  649. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/email-templates/src/verify_email.mjml +0 -0
  650. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/formatting.py +0 -0
  651. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/github.py +0 -0
  652. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/imports.py +0 -0
  653. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/index.py +0 -0
  654. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/main.py +0 -0
  655. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/messaging.py +0 -0
  656. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/mixpanel.py +0 -0
  657. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/models/__init__.py +0 -0
  658. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/models/projects.py +0 -0
  659. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/models/releases.py +0 -0
  660. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/orgs.py +0 -0
  661. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/pipeline.py +0 -0
  662. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/projects.py +0 -0
  663. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/security.py +0 -0
  664. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/storage.py +0 -0
  665. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/stripe.py +0 -0
  666. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/subscriptions.py +0 -0
  667. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tasks.py +0 -0
  668. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/__init__.py +0 -0
  669. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/__init__.py +0 -0
  670. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/__init__.py +0 -0
  671. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/__init__.py +0 -0
  672. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_activity.py +0 -0
  673. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_core.py +0 -0
  674. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_datasets.py +0 -0
  675. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_dvc.py +0 -0
  676. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_figure_upload.py +0 -0
  677. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_figures.py +0 -0
  678. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_fs.py +0 -0
  679. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_misc.py +0 -0
  680. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_overleaf_links.py +0 -0
  681. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_pipeline.py +0 -0
  682. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_publications.py +0 -0
  683. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_reference_items.py +0 -0
  684. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/projects/test_templates.py +0 -0
  685. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_analytics.py +0 -0
  686. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_feedback.py +0 -0
  687. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_login.py +0 -0
  688. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_misc.py +0 -0
  689. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_orgs.py +0 -0
  690. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_releases.py +0 -0
  691. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/api/routes/test_users.py +0 -0
  692. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/conftest.py +0 -0
  693. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_arxiv.py +0 -0
  694. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_cache.py +0 -0
  695. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_client.py +0 -0
  696. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_core.py +0 -0
  697. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_db.py +0 -0
  698. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_dvc.py +0 -0
  699. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_formatting.py +0 -0
  700. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_git.py +0 -0
  701. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_index.py +0 -0
  702. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_mixpanel.py +0 -0
  703. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_pipeline.py +0 -0
  704. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_projects.py +0 -0
  705. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_stripe.py +0 -0
  706. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_tasks.py +0 -0
  707. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_users.py +0 -0
  708. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/tests/test_version.py +0 -0
  709. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/thumbnails.py +0 -0
  710. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/users.py +0 -0
  711. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/version.py +0 -0
  712. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/warm.py +0 -0
  713. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/zenodo.py +0 -0
  714. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/app/zotero.py +0 -0
  715. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/prestart.sh +0 -0
  716. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/backend-pre-start.py +0 -0
  717. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/create-initial-data.py +0 -0
  718. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/delete-user.py +0 -0
  719. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/format.sh +0 -0
  720. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/generate-client.py +0 -0
  721. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/lint.sh +0 -0
  722. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/rotate-fernet-secrets.py +0 -0
  723. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/scripts/test.sh +0 -0
  724. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/backend/tests-start.sh +0 -0
  725. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/alloy/config.alloy +0 -0
  726. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/grafana/provisioning/dashboards/dashboards.yml +0 -0
  727. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/grafana/provisioning/dashboards/fastapi.json +0 -0
  728. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/grafana/provisioning/dashboards/warm-queue.json +0 -0
  729. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/grafana/provisioning/datasources/datasources.yml +0 -0
  730. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/loki/loki.yml +0 -0
  731. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/config/prometheus/prometheus.yml +0 -0
  732. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/docker-compose.override.yml +0 -0
  733. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/docker-compose.traefik.yml +0 -0
  734. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/docker-compose.yml +0 -0
  735. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/docs/dev/database-migrations.md +0 -0
  736. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/docs/dev/deployment.md +0 -0
  737. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/docs/dev/development.md +0 -0
  738. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/.dockerignore +0 -0
  739. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/.gitignore +0 -0
  740. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/.nvmrc +0 -0
  741. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/Dockerfile +0 -0
  742. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/Makefile +0 -0
  743. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/README.md +0 -0
  744. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/biome.json +0 -0
  745. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/index.html +0 -0
  746. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/modify-openapi-operationids.js +0 -0
  747. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/nginx-backend-not-found.conf +0 -0
  748. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/nginx.conf +0 -0
  749. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/openapi-ts.config.ts +0 -0
  750. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/package-lock.json +0 -0
  751. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/package.json +0 -0
  752. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/playwright.config.ts +0 -0
  753. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/assets/images/c-to-the-k.svg +0 -0
  754. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/assets/images/calkit-no-bg.svg +0 -0
  755. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/assets/images/calkit.svg +0 -0
  756. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/assets/images/fastapi-logo.svg +0 -0
  757. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/assets/images/favicon.png +0 -0
  758. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/assets/images/kdot.svg +0 -0
  759. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/tex/.gitignore +0 -0
  760. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/tex/LICENSE-busytex +0 -0
  761. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/tex/busytex.js +0 -0
  762. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/tex/busytex.wasm +0 -0
  763. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/tex/busytex_pipeline.js +0 -0
  764. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/public/tex/busytex_worker.js +0 -0
  765. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/scripts/download-tex-engine.sh +0 -0
  766. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/client/client.gen.ts +0 -0
  767. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/client/index.ts +0 -0
  768. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/client/types.gen.ts +0 -0
  769. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/client/utils.gen.ts +0 -0
  770. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/client.gen.ts +0 -0
  771. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/auth.gen.ts +0 -0
  772. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/bodySerializer.gen.ts +0 -0
  773. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/params.gen.ts +0 -0
  774. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/pathSerializer.gen.ts +0 -0
  775. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/queryKeySerializer.gen.ts +0 -0
  776. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/serverSentEvents.gen.ts +0 -0
  777. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/types.gen.ts +0 -0
  778. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/client/core/utils.gen.ts +0 -0
  779. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Admin/AddUser.tsx +0 -0
  780. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Admin/EditUser.tsx +0 -0
  781. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Admin/EditUserSubscription.tsx +0 -0
  782. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Admin/FeatureVotesTable.tsx +0 -0
  783. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Admin/FeedbackTable.tsx +0 -0
  784. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/ActionsMenu.tsx +0 -0
  785. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/ArtifactCompareModal.tsx +0 -0
  786. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/ClearableInput.tsx +0 -0
  787. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/ConnectGitHubPrompt.tsx +0 -0
  788. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/ConnectZoteroPrompt.tsx +0 -0
  789. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/DeleteAlert.tsx +0 -0
  790. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/DiscardChangesDialog.tsx +0 -0
  791. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/FeatureVoteButton.tsx +0 -0
  792. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/FilterableSelect.tsx +0 -0
  793. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/GlobalSearch.tsx +0 -0
  794. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/HelpFeedback.tsx +0 -0
  795. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/InputsRow.tsx +0 -0
  796. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/LoadingSpinner.tsx +0 -0
  797. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Markdown.test.tsx +0 -0
  798. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Markdown.tsx +0 -0
  799. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Mermaid.tsx +0 -0
  800. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Navbar.tsx +0 -0
  801. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/NoArtifactFound.tsx +0 -0
  802. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/NotBuiltAlert.tsx +0 -0
  803. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/NotFound.tsx +0 -0
  804. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/NotificationBell.tsx +0 -0
  805. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/OAuthButtons.tsx +0 -0
  806. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/PageMenu.tsx +0 -0
  807. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/PdfCanvas.tsx +0 -0
  808. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/ProjectCommandPalette.tsx +0 -0
  809. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/RefPicker.tsx +0 -0
  810. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/SandboxedHtml.test.tsx +0 -0
  811. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/SandboxedHtml.tsx +0 -0
  812. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Sidebar.tsx +0 -0
  813. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/SidebarItems.tsx +0 -0
  814. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/TexText.test.tsx +0 -0
  815. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/TexText.tsx +0 -0
  816. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Tooltip.tsx +0 -0
  817. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/Topbar.tsx +0 -0
  818. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Common/UserMenu.tsx +0 -0
  819. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Datasets/BrowseDatasets.tsx +0 -0
  820. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Datasets/DataEntryGrid.tsx +0 -0
  821. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Datasets/DatasetViewer.tsx +0 -0
  822. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Datasets/NewDataset.tsx +0 -0
  823. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Environments/NewEnvironment.tsx +0 -0
  824. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Environments/ViewEnvironment.tsx +0 -0
  825. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Figures/FigureEditLauncher.tsx +0 -0
  826. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Figures/FigureEditor.tsx +0 -0
  827. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Figures/FigureFromExisting.tsx +0 -0
  828. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Figures/FigureView.tsx +0 -0
  829. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Figures/UploadFigure.tsx +0 -0
  830. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Files/EditFileInfo.tsx +0 -0
  831. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Files/FileContent.test.tsx +0 -0
  832. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Files/FileContent.tsx +0 -0
  833. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Files/FileEditorModal.tsx +0 -0
  834. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Files/SelectedItemInfo.tsx +0 -0
  835. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Files/UploadFile.tsx +0 -0
  836. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Local/AddPath.tsx +0 -0
  837. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Local/DiscardChanges.tsx +0 -0
  838. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Local/IgnorePath.tsx +0 -0
  839. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Local/NewStage.tsx +0 -0
  840. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Local/SaveFiles.tsx +0 -0
  841. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Notebooks/NotebookRunLauncher.tsx +0 -0
  842. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Notebooks/NotebookRunner.tsx +0 -0
  843. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Notebooks/NotebookView.tsx +0 -0
  844. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/AccountSetupCard.tsx +0 -0
  845. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/ChecklistCard.tsx +0 -0
  846. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/CommandBlock.tsx +0 -0
  847. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/FeaturedProjects.tsx +0 -0
  848. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/ProjectChecklist.tsx +0 -0
  849. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/ReproAudit.test.ts +0 -0
  850. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/ReproAudit.tsx +0 -0
  851. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Onboarding/StartPaths.tsx +0 -0
  852. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Orgs/AddMember.tsx +0 -0
  853. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Orgs/NewOrg.tsx +0 -0
  854. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Pipeline/PipelineEditorModal.tsx +0 -0
  855. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Pipeline/StageEditorModal.tsx +0 -0
  856. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Presentations/PresentationView.tsx +0 -0
  857. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/AddCollaborator.tsx +0 -0
  858. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/CloneProject.tsx +0 -0
  859. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/CreateIssue.tsx +0 -0
  860. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/CreateQuestion.tsx +0 -0
  861. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/EditProject.tsx +0 -0
  862. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/EditQuestion.tsx +0 -0
  863. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/HelpContent.tsx +0 -0
  864. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/InviteLinks.tsx +0 -0
  865. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/MakeProjectPublic.tsx +0 -0
  866. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/NewProjectModal.tsx +0 -0
  867. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/ProjectShowcase.tsx +0 -0
  868. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/ProjectStatus.tsx +0 -0
  869. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/QuestionModal.tsx +0 -0
  870. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/RecentChanges.test.ts +0 -0
  871. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Projects/RecentChanges.tsx +0 -0
  872. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/ImportOverleaf.test.ts +0 -0
  873. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/ImportOverleaf.tsx +0 -0
  874. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/NewPublication.tsx +0 -0
  875. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/PublicationComponents.test.ts +0 -0
  876. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/PublicationComponents.tsx +0 -0
  877. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Publications/PublicationView.tsx +0 -0
  878. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/DeleteReferenceItemDialog.tsx +0 -0
  879. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/DeleteReferencesCollectionDialog.tsx +0 -0
  880. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/EditReferenceItemModal.tsx +0 -0
  881. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/FileViewModal.tsx +0 -0
  882. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/ImportFromZoteroModal.tsx +0 -0
  883. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/LabelExistingReferences.tsx +0 -0
  884. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/NewReferencesCollection.tsx +0 -0
  885. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/ReferenceItemModal.tsx +0 -0
  886. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/References/ReferencesInfoPanel.tsx +0 -0
  887. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/ArtifactReleasesPanel.tsx +0 -0
  888. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/NewRelease.tsx +0 -0
  889. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/PathPicker.tsx +0 -0
  890. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/ReleasePdfAnnotator.tsx +0 -0
  891. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/ReleaseViewer.tsx +0 -0
  892. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/ReleasesTable.tsx +0 -0
  893. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/ShareDialog.tsx +0 -0
  894. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Releases/releaseSort.ts +0 -0
  895. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Tables/TableThumbnail.tsx +0 -0
  896. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Tables/TableView.test.tsx +0 -0
  897. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/Tables/TableView.tsx +0 -0
  898. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/Appearance.tsx +0 -0
  899. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/ChangePassword.tsx +0 -0
  900. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/ConnectedAccounts.tsx +0 -0
  901. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/DeleteAccount.tsx +0 -0
  902. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/DeleteConfirmation.tsx +0 -0
  903. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/NewToken.tsx +0 -0
  904. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/OnboardingChecklists.tsx +0 -0
  905. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/PickSubscription.tsx +0 -0
  906. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/Privacy.tsx +0 -0
  907. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/Subscription.tsx +0 -0
  908. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/UpdateOverleafToken.tsx +0 -0
  909. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/UserInformation.tsx +0 -0
  910. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/components/UserSettings/UserTokens.tsx +0 -0
  911. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useAuth.ts +0 -0
  912. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useCustomToast.ts +0 -0
  913. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useOnboarding.ts +0 -0
  914. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useProject.ts +0 -0
  915. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useRefreshProject.ts +0 -0
  916. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useSubmitOnCmdEnter.test.ts +0 -0
  917. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/hooks/useSubmitOnCmdEnter.ts +0 -0
  918. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/analytics.test.ts +0 -0
  919. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/analytics.ts +0 -0
  920. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/api.test.ts +0 -0
  921. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/api.ts +0 -0
  922. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/auth.test.ts +0 -0
  923. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/auth.ts +0 -0
  924. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/bibtex.test.ts +0 -0
  925. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/bibtex.ts +0 -0
  926. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/core.ts +0 -0
  927. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/csv.test.ts +0 -0
  928. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/csv.ts +0 -0
  929. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/environments.test.ts +0 -0
  930. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/errors.ts +0 -0
  931. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/figureScript.test.ts +0 -0
  932. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/figureScript.ts +0 -0
  933. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/fuzzy.test.ts +0 -0
  934. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/fuzzy.ts +0 -0
  935. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/github.test.ts +0 -0
  936. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/github.ts +0 -0
  937. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/google.ts +0 -0
  938. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/keyboard.ts +0 -0
  939. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/latexCompiler.ts +0 -0
  940. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/latexProject.mapPaths.test.ts +0 -0
  941. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/latexProject.test.ts +0 -0
  942. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/latexProject.ts +0 -0
  943. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/layout.ts +0 -0
  944. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/notebook.test.ts +0 -0
  945. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/notebook.ts +0 -0
  946. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/onboarding.test.ts +0 -0
  947. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/onboarding.ts +0 -0
  948. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/pipelineYaml.test.ts +0 -0
  949. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/pipelineYaml.ts +0 -0
  950. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/projectFiles.ts +0 -0
  951. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/provenance.test.ts +0 -0
  952. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/provenance.ts +0 -0
  953. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/pyodide.test.ts +0 -0
  954. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/pyodide.ts +0 -0
  955. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/releases.ts +0 -0
  956. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/staleChunks.test.ts +0 -0
  957. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/staleChunks.ts +0 -0
  958. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/strings.test.ts +0 -0
  959. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/strings.ts +0 -0
  960. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/tables.test.ts +0 -0
  961. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/tables.ts +0 -0
  962. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/tex.test.ts +0 -0
  963. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/tex.ts +0 -0
  964. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/zenodo.ts +0 -0
  965. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/lib/zotero.ts +0 -0
  966. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/main.tsx +0 -0
  967. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routeTree.gen.ts +0 -0
  968. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/__root.tsx +0 -0
  969. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/app.tsx +0 -0
  970. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/apps/$appName.tsx +0 -0
  971. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/apps/index.tsx +0 -0
  972. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/apps.tsx +0 -0
  973. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/collaborators.tsx +0 -0
  974. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/datasets.tsx +0 -0
  975. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/environments.tsx +0 -0
  976. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/figures.tsx +0 -0
  977. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/files.tsx +0 -0
  978. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/history.tsx +0 -0
  979. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/index.tsx +0 -0
  980. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/local.tsx +0 -0
  981. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/notebooks.tsx +0 -0
  982. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/pipeline.tsx +0 -0
  983. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/presentations.tsx +0 -0
  984. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/questions.$questionNumber.tsx +0 -0
  985. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/references.tsx +0 -0
  986. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/releases.tsx +0 -0
  987. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/software.tsx +0 -0
  988. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/tables.tsx +0 -0
  989. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout.tsx +0 -0
  990. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/$projectName/releases/$releaseName.tsx +0 -0
  991. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/$accountName/index.tsx +0 -0
  992. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/admin.tsx +0 -0
  993. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/datasets.tsx +0 -0
  994. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/index.tsx +0 -0
  995. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/new.tsx +0 -0
  996. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/orgs.tsx +0 -0
  997. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/projects.tsx +0 -0
  998. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout/settings.tsx +0 -0
  999. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/_layout.tsx +0 -0
  1000. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/auth/google.tsx +0 -0
  1001. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/auth/zenodo.tsx +0 -0
  1002. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/auth/zotero.tsx +0 -0
  1003. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/checkout.tsx +0 -0
  1004. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/join/$token.tsx +0 -0
  1005. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/login/device.tsx +0 -0
  1006. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/login/index.tsx +0 -0
  1007. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/recover-password.tsx +0 -0
  1008. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/reset-password.tsx +0 -0
  1009. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/signup.tsx +0 -0
  1010. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/routes/verify-email.tsx +0 -0
  1011. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/theme.tsx +0 -0
  1012. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/src/vite-env.d.ts +0 -0
  1013. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/auth.setup.ts +0 -0
  1014. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/config.ts +0 -0
  1015. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/figures-pagination.spec.ts +0 -0
  1016. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/login.spec.ts +0 -0
  1017. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/reset-password.spec.ts +0 -0
  1018. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/user-settings.spec.ts +0 -0
  1019. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/utils/mailcatcher.ts +0 -0
  1020. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/utils/random.ts +0 -0
  1021. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tests/utils/user.ts +0 -0
  1022. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tsconfig.json +0 -0
  1023. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/tsconfig.node.json +0 -0
  1024. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/vite.config.ts +0 -0
  1025. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/frontend/vitest.config.ts +0 -0
  1026. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/scripts/build-push.sh +0 -0
  1027. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/scripts/build.sh +0 -0
  1028. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/scripts/deploy.sh +0 -0
  1029. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/scripts/pem-to-env.sh +0 -0
  1030. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/scripts/test-local.sh +0 -0
  1031. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/scripts/test.sh +0 -0
  1032. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/texmf-proxy/Dockerfile +0 -0
  1033. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/texmf-proxy/README.md +0 -0
  1034. {calkit_python-0.48.1 → calkit_python-0.48.2}/hub/texmf-proxy/proxy.py +0 -0
  1035. {calkit_python-0.48.1 → calkit_python-0.48.2}/images/latex/Dockerfile +0 -0
  1036. {calkit_python-0.48.1 → calkit_python-0.48.2}/images/latex/entrypoint.sh +0 -0
  1037. {calkit_python-0.48.1 → calkit_python-0.48.2}/images/latex/packages.txt +0 -0
  1038. {calkit_python-0.48.1 → calkit_python-0.48.2}/images/latex/scan-arxiv.py +0 -0
  1039. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/.yarnrc.yml +0 -0
  1040. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/babel.config.js +0 -0
  1041. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/install.json +0 -0
  1042. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/jest.config.js +0 -0
  1043. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/jupyter-config/server-config/calkit.json +0 -0
  1044. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/package.json +0 -0
  1045. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/schema/plugin.json +0 -0
  1046. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/__tests__/useQueries.spec.ts +0 -0
  1047. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/calkit-config.ts +0 -0
  1048. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/cell-output-marker.ts +0 -0
  1049. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/commit-dialog.tsx +0 -0
  1050. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/environment-editor.tsx +0 -0
  1051. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/notebook-registration.tsx +0 -0
  1052. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/notebook-toolbar.tsx +0 -0
  1053. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/pipeline-status-bar.tsx +0 -0
  1054. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/project-info-editor.tsx +0 -0
  1055. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/sidebar-settings.tsx +0 -0
  1056. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/sidebar.tsx +0 -0
  1057. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/components/stage-editor.tsx +0 -0
  1058. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/feature-flags.ts +0 -0
  1059. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/file-browser-menu.ts +0 -0
  1060. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/hooks/__tests__/useQueries.test.tsx +0 -0
  1061. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/hooks/useQueries.ts +0 -0
  1062. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/icons.ts +0 -0
  1063. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/index.ts +0 -0
  1064. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/io-tracker.ts +0 -0
  1065. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/pipeline-state.ts +0 -0
  1066. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/queryClient.ts +0 -0
  1067. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/request.ts +0 -0
  1068. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/src/shims-mainmenu.d.ts +0 -0
  1069. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/base.css +0 -0
  1070. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/cell-output-marker.css +0 -0
  1071. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/environment-editor.css +0 -0
  1072. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/environment-selector.css +0 -0
  1073. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/img/calkit-no-bg.png +0 -0
  1074. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/index.css +0 -0
  1075. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/index.js +0 -0
  1076. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/notebook-toolbar.css +0 -0
  1077. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/pipeline-status-bar.css +0 -0
  1078. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/style/sidebar.css +0 -0
  1079. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/tsconfig.json +0 -0
  1080. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/tsconfig.test.json +0 -0
  1081. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/.gitignore +0 -0
  1082. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/README.md +0 -0
  1083. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/jupyter_server_test_config.py +0 -0
  1084. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/package.json +0 -0
  1085. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/playwright.config.js +0 -0
  1086. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/tests/calkit.spec.ts +0 -0
  1087. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/ui-tests/yarn.lock +0 -0
  1088. {calkit_python-0.48.1 → calkit_python-0.48.2}/jupyterlab-ext/yarn.lock +0 -0
  1089. {calkit_python-0.48.1 → calkit_python-0.48.2}/results/latex-word-round-trip/.gitignore +0 -0
  1090. {calkit_python-0.48.1 → calkit_python-0.48.2}/results/latex-word-round-trip.json +0 -0
  1091. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/install.ps1 +0 -0
  1092. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/install.sh +0 -0
  1093. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/list-changes.py +0 -0
  1094. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/make-ck9.sh +0 -0
  1095. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/plot-latex-word-round-trip.py +0 -0
  1096. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/sync-docs.py +0 -0
  1097. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/sync-resources.py +0 -0
  1098. {calkit_python-0.48.1 → calkit_python-0.48.2}/scripts/update-latex-image-tag.sh +0 -0
  1099. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/README.md +0 -0
  1100. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/accepted.docx +0 -0
  1101. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/export.docx +0 -0
  1102. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/libreoffice-accepted.docx +0 -0
  1103. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/libreoffice-returned.docx +0 -0
  1104. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/main.tex +0 -0
  1105. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/make-libreoffice-fixtures.py +0 -0
  1106. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/methods.tex +0 -0
  1107. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/resolved.docx +0 -0
  1108. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/returned.docx +0 -0
  1109. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/docx/word-import.docx +0 -0
  1110. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/dvc-md5-dir/osx-arm64.txt +0 -0
  1111. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/nb-julia.ipynb +0 -0
  1112. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/nb-params.ipynb +0 -0
  1113. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/nb-subdir.ipynb +0 -0
  1114. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/pipeline.ipynb +0 -0
  1115. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/script.py +0 -0
  1116. {calkit_python-0.48.1 → calkit_python-0.48.2}/test/test-log.log +0 -0
  1117. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/.gitignore +0 -0
  1118. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/LICENSE +0 -0
  1119. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/changelog-notes.md +0 -0
  1120. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/images/calkit-icon.svg +0 -0
  1121. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/images/calkit-no-bg.png +0 -0
  1122. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/scripts/gen-changelog.js +0 -0
  1123. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/scripts/set-proposed-api.js +0 -0
  1124. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/environments.ts +0 -0
  1125. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/figures/core.ts +0 -0
  1126. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/figures/view.ts +0 -0
  1127. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/markdown/core.ts +0 -0
  1128. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/markdown/view.ts +0 -0
  1129. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/notebooks.ts +0 -0
  1130. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/pipeline/core.ts +0 -0
  1131. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/sidebar.ts +0 -0
  1132. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/environments.test.ts +0 -0
  1133. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/figures.test.ts +0 -0
  1134. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/kernel-selection.test.ts +0 -0
  1135. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/markdown.test.ts +0 -0
  1136. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/notebooks.test.ts +0 -0
  1137. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/pipeline.test.ts +0 -0
  1138. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/sidebar.test.ts +0 -0
  1139. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/test/yaml.test.ts +0 -0
  1140. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/types.ts +0 -0
  1141. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/src/yaml.ts +0 -0
  1142. {calkit_python-0.48.1 → calkit_python-0.48.2}/vscode-ext/tsconfig.json +0 -0
@@ -0,0 +1,27 @@
1
+ {
2
+ "RepoDigests": [
3
+ "sha256:a6df16eb0634a94defc9c794f6a4a94addca2cc41857f2e89c4db332591676c0"
4
+ ],
5
+ "Architecture": "amd64",
6
+ "Os": "linux",
7
+ "RootFS": {
8
+ "Type": "layers",
9
+ "Layers": [
10
+ "sha256:d81fb2a7c6ee3be05fdefaa7fd223be219c1ab172083ec1b994c3ecda33ac0a8",
11
+ "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
12
+ "sha256:05364db6671946629d30df5e2b0e64ac1ddf9584c850821e1310798b81dae7a6",
13
+ "sha256:eca883d1959b8c01c3803666dd78acfab745385c182f0134f57d6b13b0eaa5a8",
14
+ "sha256:b3f81a4dd621eb52ef44f1fd2708b2551d657e13f6ddcd08ebb07c072bff71ed",
15
+ "sha256:827badad9c1d1c760a817bd906551372d602a9d4f09326f36a91db0c97a8bad1",
16
+ "sha256:c9e8d9eec8adf285383a9342d7d3f5eb17ff30c83678505135caffe2d2685b1d",
17
+ "sha256:e2dcd8f807ab6625ede0dffebdd2280a48bdeba51fe464b5e8bceb15dd33d384",
18
+ "sha256:a7896112a0671141d2eb2860c8bf898f671bc9bdd32444d85a6cb0b11d095ded",
19
+ "sha256:a7080e7b80de5013eacc71c8d75a7160ff39e0f255a86138b0bbe2e7ed74a064",
20
+ "sha256:b29c7c1282fc0ab03ceb8cb5b0011ee14bdef43aa8a3f34a76d806f56dbeb41f",
21
+ "sha256:267d6598e62980803a111eaf396233bb26c552794580d0f9e3d622a717574e09",
22
+ "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
23
+ ]
24
+ },
25
+ "DockerfileMD5": null,
26
+ "DepsMD5s": {}
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "RepoDigests": [
3
+ "sha256:a6df16eb0634a94defc9c794f6a4a94addca2cc41857f2e89c4db332591676c0"
4
+ ],
5
+ "Architecture": "arm64",
6
+ "Os": "linux",
7
+ "RootFS": {
8
+ "Type": "layers",
9
+ "Layers": [
10
+ "sha256:1e9178dc90058fa454a60803300219ee8c17e515be8718817ed824b96fa1207b",
11
+ "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
12
+ "sha256:1b7eb283ff126198a9f292a2511133a8ab8c82bda9c4d4819cbe6f4be53f6dc4",
13
+ "sha256:eb05c3b16772fda838693e3621020572ef46903a9480f57cd7347bd6e30f5cfc",
14
+ "sha256:608ed5df5926ca9cf8ea98ee0c4b06b8cd7fae822caeaa9153d6a88569707e74",
15
+ "sha256:e23d740627c00ac7d052a5ba064c71e07ebf6a97a335c259f44feb0bd3c1c4e8",
16
+ "sha256:921b4a27c98023d4ee54c3713d11ed094201b1448a590eebb8739296b9978799",
17
+ "sha256:7449d2f5a570e6301afc4b03a710a7006950d9d85372e20fde07f863a8aee3b0",
18
+ "sha256:e28e00624817a4447d03fbd25e6533747ce1ce6bbbc08cc157050bcc88129b30",
19
+ "sha256:bae81d2da5d28845b37687b158dc3c03b6fb7d1629c475432d35166a3dd0ad1b",
20
+ "sha256:d4c5c89019ab226aac376b4574f957689a126740a2e759a02be63157e11a292c",
21
+ "sha256:e9db30e578d1626eb17b4121b169932e7935bf41660e5a7be2b2627d6d4870c1",
22
+ "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
23
+ ]
24
+ },
25
+ "DockerfileMD5": null,
26
+ "DepsMD5s": {}
27
+ }
@@ -85,9 +85,10 @@ repos:
85
85
  # the pipeline changes. Prettier and ruamel disagree about where a
86
86
  # long 'desc:' value goes, so formatting it here just means the two
87
87
  # take turns reformatting the same file.
88
- # Likewise the example projects' results files, which are stage
89
- # outputs and have to match what the stage wrote byte for byte.
90
- exclude: calkit|^hub/|(^|/)dvc\.yaml$|^examples/.*/results/
88
+ # Likewise results files, here and in the example projects, which
89
+ # are stage outputs and have to match what the stage wrote byte for
90
+ # byte.
91
+ exclude: calkit|^hub/|(^|/)dvc\.yaml$|^(examples/.*/)?results/
91
92
 
92
93
  - repo: local
93
94
  hooks:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: calkit-python
3
- Version: 0.48.1
3
+ Version: 0.48.2
4
4
  Summary: Reproducibility simplified.
5
5
  Project-URL: Homepage, https://calkit.org
6
6
  Project-URL: Issues, https://github.com/calkit/calkit/issues
@@ -47,6 +47,7 @@ Requires-Dist: python-dotenv>=1
47
47
  Requires-Dist: pywin32; platform_system == 'Windows'
48
48
  Requires-Dist: requests
49
49
  Requires-Dist: rich
50
+ Requires-Dist: ruamel-yaml<0.20,>=0.19.1
50
51
  Requires-Dist: sqlitedict>=2.1.0
51
52
  Requires-Dist: texsoup>=0.3.3
52
53
  Requires-Dist: toml>=0.10.2
@@ -10,6 +10,7 @@ import shutil
10
10
  import string
11
11
  import subprocess
12
12
  import sys
13
+ from collections.abc import Callable
13
14
  from copy import deepcopy
14
15
  from pathlib import Path
15
16
 
@@ -189,6 +190,186 @@ def from_questions(
189
190
  json2latex.dump(command_name, values, f)
190
191
 
191
192
 
193
+ @latex_app.command(name="from-markdown")
194
+ def from_markdown(
195
+ md_path: Annotated[
196
+ str, typer.Argument(help="The Markdown file to build.")
197
+ ],
198
+ outputs: Annotated[
199
+ list[str],
200
+ typer.Option(
201
+ "--output",
202
+ "-o",
203
+ help="Where to write the PDF, or the LaTeX with a .tex "
204
+ "extension; can be given more than once.",
205
+ ),
206
+ ],
207
+ environment: Annotated[
208
+ str | None,
209
+ typer.Option(
210
+ "--environment",
211
+ "-e",
212
+ help="Environment to run pandoc and LaTeX in, e.g., one using "
213
+ "Calkit's LaTeX image, which includes both.",
214
+ ),
215
+ ] = None,
216
+ template_path: Annotated[
217
+ str | None, typer.Option("--template", help="Pandoc template.")
218
+ ] = None,
219
+ filters: Annotated[
220
+ list[str] | None,
221
+ typer.Option(
222
+ "--filter", help="Pandoc Lua filter; can be given more than once."
223
+ ),
224
+ ] = None,
225
+ pandoc_args: Annotated[
226
+ list[str] | None,
227
+ typer.Option(
228
+ "--pandoc-arg",
229
+ help="Another argument for pandoc; can be given more than once.",
230
+ ),
231
+ ] = None,
232
+ no_check: Annotated[
233
+ bool,
234
+ typer.Option("--no-check", help="Don't check the environment first."),
235
+ ] = False,
236
+ verbose: Annotated[
237
+ bool, typer.Option("--verbose", "-v", help="Print commands.")
238
+ ] = False,
239
+ ) -> None:
240
+ """Build a Markdown file into a PDF with pandoc and LaTeX.
241
+
242
+ Value markers are filled from their results files, which keeps the
243
+ Markdown itself current too, and each value links to the question on
244
+ the project's hub whose evidence cites it. The template gets the Calkit
245
+ version and the project's URL as the ``calkit-version``,
246
+ ``project-url``, and ``project`` variables.
247
+ """
248
+ import calkit.docx
249
+ import calkit.markdown
250
+
251
+ def question_url(value: calkit.markdown.MarkdownValue) -> str | None:
252
+ # The question whose evidence cites this value, or failing that,
253
+ # the first to cite its file
254
+ if project_url is None:
255
+ return None
256
+ first = None
257
+ for n, q in enumerate(ck_info.get("questions") or [], start=1):
258
+ evidence = q.get("evidence") if isinstance(q, dict) else None
259
+ for ev in evidence or []:
260
+ if not isinstance(ev, dict) or ev.get("path") != value.path:
261
+ continue
262
+ keys = [ev.get("key"), *(ev.get("values") or {}).values()]
263
+ if value.key in keys:
264
+ return f"{project_url}/questions/{n}"
265
+ first = first or n
266
+ return f"{project_url}/questions/{first}" if first else None
267
+
268
+ def to_latex(tex_path: str) -> None:
269
+ # Images are pointed at from where the LaTeX is, by a filter that
270
+ # runs before the others, so they see the paths LaTeX will
271
+ build_dir = os.path.dirname(tex_path) or "."
272
+ os.makedirs(build_dir, exist_ok=True)
273
+ stem = Path(tex_path).stem
274
+ src_path = f"{build_dir}/{stem}.pandoc.md"
275
+ with open(src_path, "w", encoding="utf-8", newline="\n") as f:
276
+ f.write(
277
+ calkit.markdown.prepare_for_pdf(
278
+ text, md_path, link=question_url
279
+ )
280
+ )
281
+ prefix = Path(os.path.relpath(md_dir, build_dir)).as_posix()
282
+ repoint = f"{build_dir}/{stem}.images.lua"
283
+ with open(repoint, "w", encoding="utf-8", newline="\n") as f:
284
+ f.write(calkit.markdown.image_prefix_filter(prefix))
285
+ args = [src_path, "-o", tex_path, "--standalone"]
286
+ if template_path is not None:
287
+ args += ["--template", template_path]
288
+ for path in [repoint, *(filters or [])]:
289
+ args += ["--lua-filter", path]
290
+ args += [f"--variable=calkit-version:{version}"]
291
+ if project_url is not None:
292
+ args += [
293
+ f"--variable=project-url:{project_url}",
294
+ f"--variable=project:{project_url.split('://', 1)[1]}",
295
+ ]
296
+ args += pandoc_args or []
297
+ if environment is not None:
298
+ cmd = _tex_cmd(
299
+ ["pandoc", *args], environment, no_check, verbose, dep="pandoc"
300
+ )
301
+ else:
302
+ pandoc = calkit.docx.find_pandoc()
303
+ if pandoc is None:
304
+ raise_error(
305
+ "Pandoc is needed; name an environment that has it, "
306
+ "e.g., one using Calkit's LaTeX image, or install it"
307
+ )
308
+ cmd = [pandoc, *args]
309
+ try:
310
+ subprocess.check_call(cmd)
311
+ except subprocess.CalledProcessError:
312
+ raise_error(f"Pandoc failed to convert {md_path}")
313
+
314
+ for output in outputs:
315
+ if not output.endswith((".pdf", ".tex")):
316
+ raise_error("Outputs must be .pdf or .tex files")
317
+ # Paths go into the build directory's, so they have to be the
318
+ # project's own
319
+ rel = os.path.relpath(md_path)
320
+ if rel == ".." or rel.startswith(".." + os.sep) or os.path.isabs(rel):
321
+ raise_error(f"{md_path} isn't in this project")
322
+ md_path = Path(rel).as_posix()
323
+ md_dir = os.path.dirname(md_path) or "."
324
+ ck_info = calkit.load_calkit_info()
325
+ project_url = None
326
+ if ck_info.get("owner") and ck_info.get("name"):
327
+ hub = str(ck_info.get("hub") or "calkit.io").rstrip("/")
328
+ if "://" not in hub:
329
+ hub = "https://" + hub
330
+ project_url = f"{hub}/{ck_info['owner']}/{ck_info['name']}"
331
+ # A local version's commit is the project's own, which isn't Calkit's
332
+ version = calkit.__version__.split("+")[0]
333
+ with open(md_path, encoding="utf-8") as f:
334
+ text = f.read()
335
+ try:
336
+ text, changed = calkit.markdown.set_values(text, md_path)
337
+ except calkit.markdown.MarkdownParseError as e:
338
+ raise_error(str(e))
339
+ if changed:
340
+ with open(md_path, "w", encoding="utf-8", newline="\n") as f:
341
+ f.write(text)
342
+ for output in outputs:
343
+ if output.endswith(".tex"):
344
+ to_latex(output)
345
+ if not any(o.endswith(".pdf") for o in outputs):
346
+ return
347
+ # A PDF is built where Calkit keeps what it derives from the file, and
348
+ # dated by the file's last commit rather than the build directory's,
349
+ # which has none of its own
350
+ build_dir = Path(".calkit", "markdown", md_path, "pdf").as_posix()
351
+ tex_path = f"{build_dir}/{Path(md_path).stem}.tex"
352
+ to_latex(tex_path)
353
+ cmd = [sys.executable, "-m", "calkit", "latex", "build"]
354
+ if environment is not None:
355
+ cmd += ["-e", environment]
356
+ if no_check:
357
+ cmd += ["--no-check"]
358
+ env = os.environ.copy()
359
+ epoch = calkit.latex.get_source_date_epoch(md_path)
360
+ if epoch is not None:
361
+ env["SOURCE_DATE_EPOCH"] = epoch
362
+ try:
363
+ subprocess.check_call(cmd + [tex_path], env=env)
364
+ except subprocess.CalledProcessError:
365
+ raise_error(f"LaTeX failed to build {tex_path}")
366
+ for output in outputs:
367
+ if output.endswith(".pdf"):
368
+ if os.path.dirname(output):
369
+ os.makedirs(os.path.dirname(output), exist_ok=True)
370
+ shutil.copyfile(Path(tex_path).with_suffix(".pdf"), output)
371
+
372
+
192
373
  def _tex_cmd(
193
374
  tex_cmd: list[str],
194
375
  environment: str | None,
@@ -2773,6 +2954,12 @@ def merge_docx(
2773
2954
  and existing.resolved == tc.resolved
2774
2955
  ):
2775
2956
  continue
2957
+ # Word can't carry these, so they come from the source
2958
+ tc.id, tc.issue, tc.attrs = (
2959
+ existing.id,
2960
+ existing.issue,
2961
+ existing.attrs,
2962
+ )
2776
2963
  # Word knows neither emails nor what the source already
2777
2964
  # recorded, so carry those over for unchanged messages
2778
2965
  known = {(e.author, e.text): e for e in existing.entries}
@@ -2850,3 +3037,270 @@ def merge_docx(
2850
3037
  f"already there, {counts['pending']} pending, {counts['unplaced']} "
2851
3038
  f"unplaced); {added} comments added, {updated} updated"
2852
3039
  )
3040
+
3041
+
3042
+ comments_app = typer.Typer(no_args_is_help=True)
3043
+ latex_app.add_typer(
3044
+ comments_app,
3045
+ name="comments",
3046
+ help="Work with review comments in LaTeX source.",
3047
+ )
3048
+
3049
+ _ID_OPTION = typer.Option("--id", help="ID of the thread.")
3050
+ _LINE_OPTION = typer.Option(
3051
+ "--line", "-l", help="Number of any line in the thread."
3052
+ )
3053
+
3054
+
3055
+ def _new_entry(
3056
+ text: str, author: str | None, email: str | None
3057
+ ) -> calkit.latex.Entry:
3058
+ import datetime
3059
+
3060
+ import git
3061
+
3062
+ if author is None:
3063
+ try:
3064
+ author = git.Git().config("--get", "user.name").strip()
3065
+ email = email or git.Git().config("--get", "user.email").strip()
3066
+ except git.GitCommandError:
3067
+ raise_error("Set --author, or Git's user.name")
3068
+ date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
3069
+ return calkit.latex.Entry(author, text, email or None, date)
3070
+
3071
+
3072
+ def _edit_comment(
3073
+ tex_path: str,
3074
+ id: str | None,
3075
+ line: int | None,
3076
+ edit: Callable[[calkit.latex.TexComment], None],
3077
+ ) -> calkit.latex.TexComment:
3078
+ """Apply an edit to one thread and write the file back, giving the
3079
+ thread an ID if it had none."""
3080
+ if (id is None) == (line is None):
3081
+ raise_error("Specify one of --id or --line")
3082
+ if not os.path.isfile(tex_path):
3083
+ raise_error(f"{tex_path} does not exist")
3084
+ lines = Path(tex_path).read_text(encoding="utf-8").split("\n")
3085
+ tc = calkit.latex.find_comment(lines, id=id, lineno=line)
3086
+ if tc is None:
3087
+ raise_error(f"No comment thread in {tex_path} at {id or line}")
3088
+ edit(tc)
3089
+ tc.id = tc.id or calkit.latex.new_comment_id()
3090
+ calkit.latex.write_comment(lines, tc)
3091
+ Path(tex_path).write_text("\n".join(lines), encoding="utf-8")
3092
+ return tc
3093
+
3094
+
3095
+ @comments_app.command(name="list")
3096
+ def list_comments(
3097
+ tex_path: Annotated[
3098
+ str,
3099
+ typer.Argument(
3100
+ help="Document to list comments from, including files it inputs."
3101
+ ),
3102
+ ],
3103
+ unresolved: Annotated[
3104
+ bool,
3105
+ typer.Option("--unresolved", "-u", help="Only list open threads."),
3106
+ ] = False,
3107
+ as_json: Annotated[
3108
+ bool, typer.Option("--json", help="Output result as JSON.")
3109
+ ] = False,
3110
+ ) -> None:
3111
+ """List the comment threads in a LaTeX document."""
3112
+ if not os.path.isfile(tex_path):
3113
+ raise_error(f"{tex_path} does not exist")
3114
+ out = [
3115
+ c
3116
+ for c in calkit.latex.list_comments(tex_path)
3117
+ if not (unresolved and c["resolved"])
3118
+ ]
3119
+ if as_json:
3120
+ typer.echo(json.dumps(out, indent=2))
3121
+ return
3122
+ for c in out:
3123
+ status = " (resolved)" if c["resolved"] else ""
3124
+ typer.echo(f"{c['path']}:{c['line']} [{c['id'] or '-'}]{status}")
3125
+ if c["highlight"]:
3126
+ typer.echo(f' On "{c["highlight"]["text"]}"')
3127
+ for m in c["messages"]:
3128
+ typer.echo(f" {m['author']}: {m['text']}")
3129
+
3130
+
3131
+ @comments_app.command(name="locate")
3132
+ def locate_paragraph(
3133
+ tex_path: Annotated[
3134
+ str,
3135
+ typer.Argument(help="Document to search, including files it inputs."),
3136
+ ],
3137
+ text: Annotated[
3138
+ str | None,
3139
+ typer.Option(
3140
+ "--text", help="Rendered text, e.g., a line copied from the PDF."
3141
+ ),
3142
+ ] = None,
3143
+ path: Annotated[
3144
+ str | None,
3145
+ typer.Option("--path", help="File with the line to look up."),
3146
+ ] = None,
3147
+ line: Annotated[
3148
+ int | None,
3149
+ typer.Option("--line", "-l", help="Line to look up in --path."),
3150
+ ] = None,
3151
+ as_json: Annotated[
3152
+ bool, typer.Option("--json", help="Output result as JSON.")
3153
+ ] = False,
3154
+ ) -> None:
3155
+ """Find the paragraph some rendered text is in, or a source line is in.
3156
+
3157
+ This is how a place in a PDF built without SyncTeX, or by someone else,
3158
+ can be matched to the source.
3159
+ """
3160
+ if (text is None) == (line is None):
3161
+ raise_error("Specify one of --text or --path and --line")
3162
+ if not os.path.isfile(tex_path):
3163
+ raise_error(f"{tex_path} does not exist")
3164
+ found = calkit.latex.locate_block(tex_path, text, path, line)
3165
+ if found is None:
3166
+ raise_error("No matching paragraph found")
3167
+ out = {
3168
+ "path": found.path,
3169
+ "line": found.lineno,
3170
+ "end_line": found.lines[-1].lineno,
3171
+ "text": found.text or calkit.latex.display_text(found),
3172
+ }
3173
+ if as_json:
3174
+ typer.echo(json.dumps(out, indent=2))
3175
+ else:
3176
+ typer.echo(f"{out['path']}:{out['line']}")
3177
+
3178
+
3179
+ @comments_app.command(name="add")
3180
+ def add_comment(
3181
+ tex_path: Annotated[str, typer.Argument(help="File to comment in.")],
3182
+ line: Annotated[
3183
+ int,
3184
+ typer.Option(
3185
+ "--line",
3186
+ "-l",
3187
+ help="A line in, or just above, the paragraph to comment on.",
3188
+ ),
3189
+ ],
3190
+ text: Annotated[str, typer.Option("--text", "-m", help="The comment.")],
3191
+ highlight: Annotated[
3192
+ str | None,
3193
+ typer.Option(
3194
+ "--highlight", help="Rendered text in the paragraph it's about."
3195
+ ),
3196
+ ] = None,
3197
+ occ: Annotated[
3198
+ int,
3199
+ typer.Option(
3200
+ "--occ", help="Which occurrence of the highlight text, from 0."
3201
+ ),
3202
+ ] = 0,
3203
+ author: Annotated[
3204
+ str | None,
3205
+ typer.Option("--author", help="Defaults to Git's user.name."),
3206
+ ] = None,
3207
+ email: Annotated[
3208
+ str | None,
3209
+ typer.Option("--email", help="Defaults to Git's user.email."),
3210
+ ] = None,
3211
+ as_json: Annotated[
3212
+ bool, typer.Option("--json", help="Output the thread as JSON.")
3213
+ ] = False,
3214
+ ) -> None:
3215
+ """Start a comment thread above a paragraph, printing its ID."""
3216
+ if not os.path.isfile(tex_path):
3217
+ raise_error(f"{tex_path} does not exist")
3218
+ lines = Path(tex_path).read_text(encoding="utf-8").split("\n")
3219
+ tc = calkit.latex.TexComment(
3220
+ [_new_entry(text, author, email)],
3221
+ highlight=highlight or None,
3222
+ highlight_occ=occ,
3223
+ id=calkit.latex.new_comment_id(),
3224
+ )
3225
+ try:
3226
+ calkit.latex.add_comment(lines, line, tc)
3227
+ except ValueError as e:
3228
+ raise_error(str(e))
3229
+ Path(tex_path).write_text("\n".join(lines), encoding="utf-8")
3230
+ if as_json:
3231
+ blks = calkit.latex.file_blocks(tex_path, lines)
3232
+ typer.echo(
3233
+ json.dumps(
3234
+ calkit.latex.comment_to_dict(tex_path, tc, blks), indent=2
3235
+ )
3236
+ )
3237
+ else:
3238
+ typer.echo(tc.id)
3239
+
3240
+
3241
+ @comments_app.command(name="reply")
3242
+ def reply_to_comment(
3243
+ tex_path: Annotated[str, typer.Argument(help="File the thread is in.")],
3244
+ text: Annotated[str, typer.Option("--text", "-m", help="The reply.")],
3245
+ id: Annotated[str | None, _ID_OPTION] = None,
3246
+ line: Annotated[int | None, _LINE_OPTION] = None,
3247
+ author: Annotated[
3248
+ str | None,
3249
+ typer.Option("--author", help="Defaults to Git's user.name."),
3250
+ ] = None,
3251
+ email: Annotated[
3252
+ str | None,
3253
+ typer.Option("--email", help="Defaults to Git's user.email."),
3254
+ ] = None,
3255
+ ) -> None:
3256
+ """Reply to a comment thread."""
3257
+ entry = _new_entry(text, author, email)
3258
+ tc = _edit_comment(tex_path, id, line, lambda tc: tc.entries.append(entry))
3259
+ typer.echo(tc.id)
3260
+
3261
+
3262
+ @comments_app.command(name="resolve")
3263
+ def resolve_comment(
3264
+ tex_path: Annotated[str, typer.Argument(help="File the thread is in.")],
3265
+ id: Annotated[str | None, _ID_OPTION] = None,
3266
+ line: Annotated[int | None, _LINE_OPTION] = None,
3267
+ ) -> None:
3268
+ """Mark a comment thread resolved."""
3269
+
3270
+ def edit(tc: calkit.latex.TexComment) -> None:
3271
+ tc.resolved = True
3272
+
3273
+ typer.echo(_edit_comment(tex_path, id, line, edit).id)
3274
+
3275
+
3276
+ @comments_app.command(name="reopen")
3277
+ def reopen_comment(
3278
+ tex_path: Annotated[str, typer.Argument(help="File the thread is in.")],
3279
+ id: Annotated[str | None, _ID_OPTION] = None,
3280
+ line: Annotated[int | None, _LINE_OPTION] = None,
3281
+ ) -> None:
3282
+ """Mark a resolved comment thread open again."""
3283
+
3284
+ def edit(tc: calkit.latex.TexComment) -> None:
3285
+ tc.resolved = False
3286
+
3287
+ typer.echo(_edit_comment(tex_path, id, line, edit).id)
3288
+
3289
+
3290
+ @comments_app.command(name="delete")
3291
+ def delete_comment(
3292
+ tex_path: Annotated[str, typer.Argument(help="File the thread is in.")],
3293
+ id: Annotated[str | None, _ID_OPTION] = None,
3294
+ line: Annotated[int | None, _LINE_OPTION] = None,
3295
+ ) -> None:
3296
+ """Delete a comment thread and its replies."""
3297
+ if (id is None) == (line is None):
3298
+ raise_error("Specify one of --id or --line")
3299
+ if not os.path.isfile(tex_path):
3300
+ raise_error(f"{tex_path} does not exist")
3301
+ lines = Path(tex_path).read_text(encoding="utf-8").split("\n")
3302
+ tc = calkit.latex.find_comment(lines, id=id, lineno=line)
3303
+ if tc is None:
3304
+ raise_error(f"No comment thread in {tex_path} at {id or line}")
3305
+ del lines[tc.lineno - 1 : tc.lineno - 1 + tc.nlines]
3306
+ Path(tex_path).write_text("\n".join(lines), encoding="utf-8")
@@ -131,7 +131,8 @@ def get_staged_files(
131
131
  repo = get_repo(path)
132
132
  cmd = ["--staged", "--name-only"]
133
133
  if path is not None:
134
- cmd.append(path)
134
+ # A staged deletion's path is gone, so Git would read it as a ref
135
+ cmd += ["--", path]
135
136
  diff = repo.git.diff(cmd)
136
137
  paths = diff.split("\n")
137
138
  return [p for p in paths if p]
@@ -166,7 +167,8 @@ def get_staged_files_with_status(
166
167
  repo = get_repo(path)
167
168
  cmd = ["--staged", "--name-status"]
168
169
  if path is not None:
169
- cmd.append(path)
170
+ # A staged deletion's path is gone, so Git would read it as a ref
171
+ cmd += ["--", path]
170
172
  diff = repo.git.diff(cmd)
171
173
  paths = diff.split("\n")
172
174
  res = []