calkit-python 0.41.25__tar.gz → 0.42.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. {calkit_python-0.41.25 → calkit_python-0.42.0}/.dockerignore +4 -1
  2. {calkit_python-0.41.25 → calkit_python-0.42.0}/.prettierignore +1 -0
  3. {calkit_python-0.41.25 → calkit_python-0.42.0}/AGENTS.md +1 -0
  4. {calkit_python-0.41.25 → calkit_python-0.42.0}/CONTRIBUTING.md +27 -0
  5. {calkit_python-0.41.25 → calkit_python-0.42.0}/Makefile +36 -0
  6. {calkit_python-0.41.25 → calkit_python-0.42.0}/PKG-INFO +1 -1
  7. calkit_python-0.42.0/browser-ext/.gitignore +6 -0
  8. calkit_python-0.42.0/browser-ext/README.md +200 -0
  9. calkit_python-0.42.0/browser-ext/options.html +12 -0
  10. calkit_python-0.42.0/browser-ext/package-lock.json +2065 -0
  11. calkit_python-0.42.0/browser-ext/package.json +31 -0
  12. calkit_python-0.42.0/browser-ext/popup.html +12 -0
  13. calkit_python-0.42.0/browser-ext/public/icons/calkit-128.png +0 -0
  14. calkit_python-0.42.0/browser-ext/public/icons/calkit-16.png +0 -0
  15. calkit_python-0.42.0/browser-ext/public/icons/calkit-32.png +0 -0
  16. calkit_python-0.42.0/browser-ext/public/icons/calkit-48.png +0 -0
  17. calkit_python-0.42.0/browser-ext/public/manifest.json +95 -0
  18. calkit_python-0.42.0/browser-ext/scripts/build-content.mjs +10 -0
  19. calkit_python-0.42.0/browser-ext/scripts/package-manifest.mjs +27 -0
  20. calkit_python-0.42.0/browser-ext/scripts/store-screenshots.py +77 -0
  21. calkit_python-0.42.0/browser-ext/scripts/watch.mjs +23 -0
  22. calkit_python-0.42.0/browser-ext/src/background/index.ts +356 -0
  23. calkit_python-0.42.0/browser-ext/src/content/github.ts +1227 -0
  24. calkit_python-0.42.0/browser-ext/src/content/overleaf.ts +854 -0
  25. calkit_python-0.42.0/browser-ext/src/content/references.ts +539 -0
  26. calkit_python-0.42.0/browser-ext/src/core/api.ts +229 -0
  27. calkit_python-0.42.0/browser-ext/src/core/auth.ts +159 -0
  28. calkit_python-0.42.0/browser-ext/src/core/calkit-yaml.test.ts +49 -0
  29. calkit_python-0.42.0/browser-ext/src/core/calkit-yaml.ts +24 -0
  30. calkit_python-0.42.0/browser-ext/src/core/detect.test.ts +268 -0
  31. calkit_python-0.42.0/browser-ext/src/core/detect.ts +285 -0
  32. calkit_python-0.42.0/browser-ext/src/core/hub-url.ts +30 -0
  33. calkit_python-0.42.0/browser-ext/src/core/hubs.test.ts +143 -0
  34. calkit_python-0.42.0/browser-ext/src/core/hubs.ts +184 -0
  35. calkit_python-0.42.0/browser-ext/src/core/latex.test.ts +32 -0
  36. calkit_python-0.42.0/browser-ext/src/core/latex.ts +27 -0
  37. calkit_python-0.42.0/browser-ext/src/core/lifecycle.ts +63 -0
  38. calkit_python-0.42.0/browser-ext/src/core/messages.test.ts +30 -0
  39. calkit_python-0.42.0/browser-ext/src/core/messages.ts +334 -0
  40. calkit_python-0.42.0/browser-ext/src/core/pickers.ts +221 -0
  41. calkit_python-0.42.0/browser-ext/src/core/storage.ts +144 -0
  42. calkit_python-0.42.0/browser-ext/src/core/types.ts +226 -0
  43. calkit_python-0.42.0/browser-ext/src/core/ui.test.ts +125 -0
  44. calkit_python-0.42.0/browser-ext/src/core/ui.ts +602 -0
  45. calkit_python-0.42.0/browser-ext/src/options/options.ts +275 -0
  46. calkit_python-0.42.0/browser-ext/src/popup/popup.css +217 -0
  47. calkit_python-0.42.0/browser-ext/src/popup/popup.ts +282 -0
  48. calkit_python-0.42.0/browser-ext/src/viewer/viewer.ts +155 -0
  49. calkit_python-0.42.0/browser-ext/tsconfig.json +21 -0
  50. calkit_python-0.42.0/browser-ext/viewer.html +12 -0
  51. calkit_python-0.42.0/browser-ext/vite.config.ts +39 -0
  52. calkit_python-0.42.0/browser-ext/vite.content.config.ts +32 -0
  53. calkit_python-0.42.0/browser-ext/vitest.config.ts +8 -0
  54. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/config.py +3 -1
  55. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/hub.py +8 -32
  56. calkit_python-0.42.0/calkit/cli/latex.py +590 -0
  57. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/main/core.py +33 -3
  58. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/main/xr.py +3 -5
  59. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/new.py +49 -10
  60. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/config.py +112 -41
  61. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/detect.py +39 -0
  62. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/fs.py +6 -6
  63. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/git.py +81 -0
  64. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/hub.py +29 -10
  65. calkit_python-0.42.0/calkit/latex.py +274 -0
  66. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/models/pipeline.py +136 -7
  67. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/overleaf.py +261 -14
  68. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/pipeline.py +58 -0
  69. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/main/test_core.py +36 -1
  70. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_config.py +17 -1
  71. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_hub.py +20 -30
  72. calkit_python-0.42.0/calkit/tests/cli/test_latex.py +327 -0
  73. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_new.py +103 -0
  74. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_overleaf.py +192 -0
  75. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/models/test_pipeline.py +78 -0
  76. calkit_python-0.42.0/calkit/tests/test_config.py +326 -0
  77. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_detect.py +55 -0
  78. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_fs.py +18 -14
  79. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_git.py +62 -0
  80. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_hub.py +42 -1
  81. calkit_python-0.42.0/calkit/tests/test_keyring_windows.py +195 -0
  82. calkit_python-0.42.0/calkit/tests/test_overleaf.py +152 -0
  83. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_pipeline.py +77 -0
  84. calkit_python-0.42.0/docs/browser-ext/index.md +124 -0
  85. calkit_python-0.42.0/docs/browser-ext/privacy.md +82 -0
  86. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/cli-reference.md +44 -4
  87. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/hub/index.md +7 -0
  88. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/hub/self-hosting.md +37 -6
  89. calkit_python-0.42.0/docs/latex.md +194 -0
  90. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/overleaf.md +17 -4
  91. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/pipeline/index.md +2 -0
  92. calkit_python-0.42.0/docs/references.md +20 -0
  93. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/Makefile +6 -0
  94. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/Dockerfile +7 -7
  95. calkit_python-0.42.0/hub/backend/app/alembic/versions/a333fc5aa994_index_project_folders_synced_with_.py +55 -0
  96. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/main.py +2 -0
  97. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/misc.py +87 -1
  98. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/projects/core.py +845 -7
  99. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/projects/releases.py +3 -6
  100. calkit_python-0.42.0/hub/backend/app/api/routes/references.py +225 -0
  101. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/users.py +1 -0
  102. calkit_python-0.42.0/hub/backend/app/arxiv.py +54 -0
  103. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/config.py +4 -0
  104. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/git.py +37 -5
  105. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/models/core.py +70 -0
  106. calkit_python-0.42.0/hub/backend/app/pdftext.py +131 -0
  107. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/projects.py +237 -2
  108. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/projects/test_core.py +222 -0
  109. calkit_python-0.42.0/hub/backend/app/tests/api/routes/projects/test_overleaf_links.py +459 -0
  110. calkit_python-0.42.0/hub/backend/app/tests/api/routes/test_misc.py +86 -0
  111. calkit_python-0.42.0/hub/backend/app/tests/test_arxiv.py +70 -0
  112. calkit_python-0.42.0/hub/backend/app/tests/test_pdftext.py +79 -0
  113. calkit_python-0.42.0/hub/backend/app/tests/test_version.py +55 -0
  114. calkit_python-0.42.0/hub/backend/app/version.py +70 -0
  115. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/pyproject.toml +23 -2
  116. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/docker-compose.override.yml +4 -0
  117. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/package-lock.json +104 -39
  118. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/package.json +3 -0
  119. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/index.ts +72 -0
  120. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/schemas.gen.ts +555 -0
  121. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/sdk.gen.ts +603 -0
  122. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/types.gen.ts +874 -4
  123. calkit_python-0.42.0/hub/frontend/src/components/Common/CodeEditorPane.tsx +166 -0
  124. calkit_python-0.42.0/hub/frontend/src/components/Common/ConnectZoteroPrompt.tsx +64 -0
  125. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/Mermaid.tsx +73 -0
  126. calkit_python-0.42.0/hub/frontend/src/components/Common/NotBuiltAlert.tsx +83 -0
  127. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/Topbar.tsx +32 -1
  128. calkit_python-0.42.0/hub/frontend/src/components/Files/FileEditorModal.tsx +297 -0
  129. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Files/SelectedItemInfo.tsx +29 -22
  130. calkit_python-0.42.0/hub/frontend/src/components/Pipeline/StageEditorModal.tsx +338 -0
  131. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Presentations/PresentationView.tsx +6 -5
  132. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Publications/LatexEditor.tsx +93 -60
  133. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Publications/PublicationView.tsx +8 -15
  134. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/ImportFromZoteroModal.tsx +8 -2
  135. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/ReferenceItemModal.tsx +34 -10
  136. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/ReferencesInfoPanel.tsx +33 -2
  137. calkit_python-0.42.0/hub/frontend/src/lib/api.ts +54 -0
  138. calkit_python-0.42.0/hub/frontend/src/lib/errors.ts +30 -0
  139. calkit_python-0.42.0/hub/frontend/src/lib/latexProject.mapPaths.test.ts +156 -0
  140. calkit_python-0.42.0/hub/frontend/src/lib/latexProject.test.ts +93 -0
  141. calkit_python-0.42.0/hub/frontend/src/lib/latexProject.ts +359 -0
  142. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/pipelineYaml.test.ts +22 -0
  143. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/pipelineYaml.ts +17 -0
  144. calkit_python-0.42.0/hub/frontend/src/lib/strings.test.ts +41 -0
  145. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/strings.ts +29 -0
  146. calkit_python-0.42.0/hub/frontend/src/lib/zotero.ts +48 -0
  147. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/files.tsx +52 -7
  148. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/pipeline.tsx +73 -5
  149. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/references.tsx +8 -9
  150. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/auth/zotero.tsx +8 -6
  151. {calkit_python-0.41.25 → calkit_python-0.42.0}/mkdocs.yml +4 -0
  152. {calkit_python-0.41.25 → calkit_python-0.42.0}/uv.lock +14 -1
  153. calkit_python-0.42.0/vscode-ext/images/calkit-icon.svg +22 -0
  154. calkit_python-0.41.25/calkit/cli/latex.py +0 -250
  155. calkit_python-0.41.25/calkit/tests/cli/test_latex.py +0 -167
  156. calkit_python-0.41.25/calkit/tests/test_config.py +0 -176
  157. calkit_python-0.41.25/docs/references.md +0 -6
  158. calkit_python-0.41.25/hub/frontend/src/lib/api.ts +0 -22
  159. calkit_python-0.41.25/hub/frontend/src/lib/errors.ts +0 -12
  160. calkit_python-0.41.25/hub/frontend/src/lib/latexProject.ts +0 -220
  161. {calkit_python-0.41.25 → calkit_python-0.42.0}/.claude-plugin/marketplace.json +0 -0
  162. {calkit_python-0.41.25 → calkit_python-0.42.0}/.gitattributes +0 -0
  163. {calkit_python-0.41.25 → calkit_python-0.42.0}/.gitignore +0 -0
  164. {calkit_python-0.41.25 → calkit_python-0.42.0}/.gitmodules +0 -0
  165. {calkit_python-0.41.25 → calkit_python-0.42.0}/.pre-commit-config.yaml +0 -0
  166. {calkit_python-0.41.25 → calkit_python-0.42.0}/.prettierrc.json +0 -0
  167. {calkit_python-0.41.25 → calkit_python-0.42.0}/.python-version +0 -0
  168. {calkit_python-0.41.25 → calkit_python-0.42.0}/.vscode/launch.json +0 -0
  169. {calkit_python-0.41.25 → calkit_python-0.42.0}/.vscode/tasks.json +0 -0
  170. {calkit_python-0.41.25 → calkit_python-0.42.0}/CITATION.cff +0 -0
  171. {calkit_python-0.41.25 → calkit_python-0.42.0}/CODE_OF_CONDUCT.md +0 -0
  172. {calkit_python-0.41.25 → calkit_python-0.42.0}/LICENSE +0 -0
  173. {calkit_python-0.41.25 → calkit_python-0.42.0}/README.md +0 -0
  174. {calkit_python-0.41.25 → calkit_python-0.42.0}/agent-plugin/.claude-plugin/plugin.json +0 -0
  175. {calkit_python-0.41.25 → calkit_python-0.42.0}/agent-plugin/skills/add-pipeline-stage/SKILL.md +0 -0
  176. {calkit_python-0.41.25 → calkit_python-0.42.0}/agent-plugin/skills/conventions/SKILL.md +0 -0
  177. {calkit_python-0.41.25 → calkit_python-0.42.0}/agent-plugin/skills/create-pipeline/SKILL.md +0 -0
  178. /calkit_python-0.41.25/vscode-ext/images/calkit-icon.svg → /calkit_python-0.42.0/browser-ext/public/icons/calkit.svg +0 -0
  179. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/__init__.py +0 -0
  180. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/__main__.py +0 -0
  181. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/calc.py +0 -0
  182. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/check.py +0 -0
  183. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/__init__.py +0 -0
  184. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/check.py +0 -0
  185. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/core.py +0 -0
  186. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/delete.py +0 -0
  187. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/describe.py +0 -0
  188. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/dev.py +0 -0
  189. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/import_.py +0 -0
  190. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/list.py +0 -0
  191. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/main/__init__.py +0 -0
  192. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/notebooks.py +0 -0
  193. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/office.py +0 -0
  194. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/overleaf.py +0 -0
  195. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/scheduler.py +0 -0
  196. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/sync.py +0 -0
  197. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/cli/update.py +0 -0
  198. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/conda.py +0 -0
  199. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/core.py +0 -0
  200. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/datasets.py +0 -0
  201. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/dependencies.py +0 -0
  202. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/docker.py +0 -0
  203. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/dvc/__init__.py +0 -0
  204. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/dvc/core.py +0 -0
  205. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/dvc/zip.py +0 -0
  206. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/environments.py +0 -0
  207. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/github.py +0 -0
  208. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/gui.py +0 -0
  209. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/install.py +0 -0
  210. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/invenio.py +0 -0
  211. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/julia.py +0 -0
  212. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/jupyter.py +0 -0
  213. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/jupyterlab/__init__.py +0 -0
  214. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/jupyterlab/routes.py +0 -0
  215. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/package.json +0 -0
  216. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
  217. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/schemas/calkit/plugin.json +0 -0
  218. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/502.9a2c5772a15466e923ef.js +0 -0
  219. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/695.2c41003a452d43d2b358.js +0 -0
  220. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/867.a42a046aa5108f54f8fb.js +0 -0
  221. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/909.e3f9cc3408834a7fdcc3.js +0 -0
  222. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js +0 -0
  223. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js.LICENSE.txt +0 -0
  224. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/b2f1c3efe70cb539d121.png +0 -0
  225. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/remoteEntry.ac9035764d5b2adbb542.js +0 -0
  226. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/style.js +0 -0
  227. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/labextension/static/third-party-licenses.json +0 -0
  228. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/licenses.py +0 -0
  229. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/magics.py +0 -0
  230. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/matlab.py +0 -0
  231. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/models/__init__.py +0 -0
  232. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/models/core.py +0 -0
  233. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/models/io.py +0 -0
  234. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/models/iteration.py +0 -0
  235. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/notebooks.py +0 -0
  236. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/office.py +0 -0
  237. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/ops.py +0 -0
  238. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/releases.py +0 -0
  239. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/server.py +0 -0
  240. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/__init__.py +0 -0
  241. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/core.py +0 -0
  242. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/__init__.py +0 -0
  243. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/article/paper.tex +0 -0
  244. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/core.py +0 -0
  245. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/jfm/jfm.bst +0 -0
  246. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/jfm/jfm.cls +0 -0
  247. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
  248. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/jfm/paper.tex +0 -0
  249. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/templates/latex/jfm/upmath.sty +0 -0
  250. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/__init__.py +0 -0
  251. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/__init__.py +0 -0
  252. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/main/__init__.py +0 -0
  253. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/main/test_lock.py +0 -0
  254. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/main/test_subprojects.py +0 -0
  255. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/main/test_xr.py +0 -0
  256. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_check.py +0 -0
  257. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_core.py +0 -0
  258. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_delete.py +0 -0
  259. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_describe.py +0 -0
  260. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_import.py +0 -0
  261. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_list.py +0 -0
  262. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_notebooks.py +0 -0
  263. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_scheduler.py +0 -0
  264. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_sync.py +0 -0
  265. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/cli/test_update.py +0 -0
  266. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/dvc/__init__.py +0 -0
  267. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/dvc/test_core.py +0 -0
  268. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/dvc/test_zip.py +0 -0
  269. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/jupyterlab/__init__.py +0 -0
  270. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/jupyterlab/conftest.py +0 -0
  271. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/jupyterlab/test_routes.py +0 -0
  272. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/models/__init__.py +0 -0
  273. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/models/test_core.py +0 -0
  274. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/models/test_iteration.py +0 -0
  275. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_calc.py +0 -0
  276. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_check.py +0 -0
  277. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_conda.py +0 -0
  278. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_core.py +0 -0
  279. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_dependencies.py +0 -0
  280. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_docker.py +0 -0
  281. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_environments.py +0 -0
  282. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_install.py +0 -0
  283. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_invenio.py +0 -0
  284. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_julia.py +0 -0
  285. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_jupyter.py +0 -0
  286. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_licenses.py +0 -0
  287. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_magics.py +0 -0
  288. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_matlab.py +0 -0
  289. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_notebooks.py +0 -0
  290. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_releases.py +0 -0
  291. {calkit_python-0.41.25 → calkit_python-0.42.0}/calkit/tests/test_templates.py +0 -0
  292. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/CNAME +0 -0
  293. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/acknowledgements.md +0 -0
  294. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/ai-tools.md +0 -0
  295. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/apps.md +0 -0
  296. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/calculations.md +0 -0
  297. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/calkit-yaml.md +0 -0
  298. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/cloud-integration.md +0 -0
  299. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/datasets.md +0 -0
  300. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/dependencies.md +0 -0
  301. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/environments.md +0 -0
  302. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/examples.md +0 -0
  303. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/governance.md +0 -0
  304. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/help.md +0 -0
  305. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/hpc.md +0 -0
  306. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/c-to-the-k-white.svg +0 -0
  307. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/calkit-fragmentation-compendium.png +0 -0
  308. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/calkit-no-bg.png +0 -0
  309. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/caltech.png +0 -0
  310. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/connect-zenodo.png +0 -0
  311. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/jupyterlab/all-green.png +0 -0
  312. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/jupyterlab/collect-data-stale.png +0 -0
  313. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/jupyterlab/new-env.png +0 -0
  314. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/jupyterlab/new-notebook.png +0 -0
  315. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/jupyterlab/pipeline-badge.png +0 -0
  316. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/jupyterlab-params.png +0 -0
  317. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/pipeline.png +0 -0
  318. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/plos-osi-code-2024-03.png +0 -0
  319. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/schmidt-sciences.png +0 -0
  320. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/img/vscode-nb-params.png +0 -0
  321. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/index.md +0 -0
  322. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/installation.md +0 -0
  323. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/jupyterlab.md +0 -0
  324. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/local-server.md +0 -0
  325. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/notebooks.md +0 -0
  326. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/pipeline/manual-steps.md +0 -0
  327. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/pipeline/running-and-logging.md +0 -0
  328. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/questions.md +0 -0
  329. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/quickstart.md +0 -0
  330. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/releases.md +0 -0
  331. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/reproducibility.md +0 -0
  332. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/subprojects.md +0 -0
  333. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/adding-latex-pub-docker.md +0 -0
  334. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/ai-agents.md +0 -0
  335. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/conda-envs.md +0 -0
  336. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/existing-project.md +0 -0
  337. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/first-project.md +0 -0
  338. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/github-actions.md +0 -0
  339. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/actions-repo-secrets.png +0 -0
  340. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
  341. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
  342. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
  343. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
  344. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
  345. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
  346. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
  347. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
  348. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
  349. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
  350. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/push.png +0 -0
  351. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
  352. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
  353. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/chart-more-rows.png +0 -0
  354. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/create-project.png +0 -0
  355. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
  356. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/excel-chart.png +0 -0
  357. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/excel-data.png +0 -0
  358. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
  359. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/needs-clone.png +0 -0
  360. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/new-stage.png +0 -0
  361. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
  362. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
  363. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/status-more-rows.png +0 -0
  364. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
  365. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/untracked-data.png +0 -0
  366. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/updated-publication.png +0 -0
  367. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
  368. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/office/workflow-page.png +0 -0
  369. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/clone.png +0 -0
  370. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/create-project.png +0 -0
  371. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
  372. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
  373. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
  374. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/new-token.png +0 -0
  375. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/reclone.png +0 -0
  376. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
  377. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/quick-actions.png +0 -0
  378. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/run-proc.png +0 -0
  379. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/create-calkit-env.png +0 -0
  380. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/create-inner-env.png +0 -0
  381. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/create-new-calkit-env.png +0 -0
  382. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/select-calkit-env.png +0 -0
  383. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/slurm-job-running.png +0 -0
  384. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/slurm-launch-options.png +0 -0
  385. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/img/vscode-slurm-notebook/starting-slurm-job.png +0 -0
  386. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/index.md +0 -0
  387. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/jupyterlab.md +0 -0
  388. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/latex-codespaces.md +0 -0
  389. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/matlab.md +0 -0
  390. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/notebook-pipeline.md +0 -0
  391. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/office.md +0 -0
  392. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/openfoam.md +0 -0
  393. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/procedures.md +0 -0
  394. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/tutorials/vscode-slurm-notebook.md +0 -0
  395. {calkit_python-0.41.25 → calkit_python-0.42.0}/docs/version-control.md +0 -0
  396. {calkit_python-0.41.25 → calkit_python-0.42.0}/flake.lock +0 -0
  397. {calkit_python-0.41.25 → calkit_python-0.42.0}/flake.nix +0 -0
  398. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/.env.example +0 -0
  399. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/.gitattributes +0 -0
  400. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/.gitignore +0 -0
  401. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/.vscode/launch.json +0 -0
  402. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/AGENTS.md +0 -0
  403. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/LICENSE +0 -0
  404. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/README.md +0 -0
  405. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/.gitignore +0 -0
  406. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/.python-version +0 -0
  407. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/Makefile +0 -0
  408. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/README.md +0 -0
  409. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/alembic.ini +0 -0
  410. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/__init__.py +0 -0
  411. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/README +0 -0
  412. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/env.py +0 -0
  413. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/script.py.mako +0 -0
  414. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/.keep +0 -0
  415. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/07c8236476c4_add_fields_to_usertoken.py +0 -0
  416. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/10a05eaedfbd_add_dataset_table.py +0 -0
  417. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/1546aa334cd5_make_project_description_nullable.py +0 -0
  418. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/1a31ce608336_add_cascade_delete_relationships.py +0 -0
  419. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/1fb6e38eb0e9_add_deviceauth_table.py +0 -0
  420. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/208e7457f3ba_add_title_to_project.py +0 -0
  421. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/2e7c25a00842_add_is_public_to_project.py +0 -0
  422. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/38e178698db2_update_subscription_model_to_use_plan_.py +0 -0
  423. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/3b1e67e9c318_add_usertoken_table.py +0 -0
  424. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/4dac15c0282a_add_stripe_customer_id_to_user.py +0 -0
  425. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/4e1c917fcca4_add_status_columns_to_project_table.py +0 -0
  426. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/5ba89308431f_add_project_table.py +0 -0
  427. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/5d6f8217c890_add_subscriber_user_id_to_org_.py +0 -0
  428. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/65b2d15cc702_add_github_username_field_to_user.py +0 -0
  429. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/697c3c1a8a27_add_git_repo_url_to_project.py +0 -0
  430. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/6f3a3afbea8b_add_number_field_to_question.py +0 -0
  431. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/7076d9b5c887_use_account_for_project_owner.py +0 -0
  432. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/71e1d1e69bbd_add_table_for_storing_user_github_tokens.py +0 -0
  433. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/799476973bce_add_created_ts_to_user_github_token_.py +0 -0
  434. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/7cacee34034c_add_parent_child_relationship_to_.py +0 -0
  435. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/9c0a54914c78_add_max_length_for_string_varchar_.py +0 -0
  436. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/9c4f70636d73_add_fields_to_usertoken.py +0 -0
  437. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/a4af19842927_create_table_to_store_user_zenodo_tokens.py +0 -0
  438. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/ab7816be480b_drop_items.py +0 -0
  439. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/ac622559475f_save_timestamps_for_github_token_.py +0 -0
  440. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/af024967630d_lowercase_account_names.py +0 -0
  441. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/c1f9a3e27d48_consolidate_comment_tables.py +0 -0
  442. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/c46a78ba506c_add_created_column_to_account.py +0 -0
  443. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/c749b39072d3_add_figurecomment.py +0 -0
  444. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/c7c41c3f0d22_add_user_external_credential_table.py +0 -0
  445. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/d01ce914143d_make_question_a_table.py +0 -0
  446. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/d21ed1c9537e_add_zenodo_user_id_column_to_user.py +0 -0
  447. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/d3a8021fb433_add_table_for_user_project_access.py +0 -0
  448. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/d4e5f6a7b8c9_ghless_membership_and_invitations.py +0 -0
  449. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/d6366015af35_add_discount_code_table.py +0 -0
  450. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/d98dd8ec85a3_edit_replace_id_integers_in_all_models_.py +0 -0
  451. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/dcef842dee10_add_refreshtoken_table.py +0 -0
  452. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/e1b0fa2a6d34_backfill_external_credentials_from_legacy_.py +0 -0
  453. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/e2412789c190_initialize_models.py +0 -0
  454. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/e7671197c00b_add_account_table.py +0 -0
  455. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/ed74edb0a9e6_create_table_for_user_overleaf_token.py +0 -0
  456. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/edcabfca98df_add_subscription_and_org_membership_.py +0 -0
  457. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/f0e23e048b1b_add_fields_to_project.py +0 -0
  458. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/f3a9c1b7e240_add_releases_feature.py +0 -0
  459. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/f5ad6445ad03_enable_user_project_access_to_be_null.py +0 -0
  460. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/alembic/versions/f74a96172dbd_add_table_for_locking_project_files.py +0 -0
  461. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/__init__.py +0 -0
  462. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/deps.py +0 -0
  463. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/__init__.py +0 -0
  464. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/accounts.py +0 -0
  465. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/datasets.py +0 -0
  466. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/feature_votes.py +0 -0
  467. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/login.py +0 -0
  468. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/orgs.py +0 -0
  469. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/projects/__init__.py +0 -0
  470. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/projects/dvc.py +0 -0
  471. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/api/routes/projects/fs.py +0 -0
  472. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/client.py +0 -0
  473. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/core.py +0 -0
  474. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/db.py +0 -0
  475. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/dvc.py +0 -0
  476. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/build/new_account.html +0 -0
  477. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/build/project_invitation.html +0 -0
  478. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/build/release_share.html +0 -0
  479. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/build/reset_password.html +0 -0
  480. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/build/test_email.html +0 -0
  481. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/src/new_account.mjml +0 -0
  482. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/src/project_invitation.mjml +0 -0
  483. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/src/release_share.mjml +0 -0
  484. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/src/reset_password.mjml +0 -0
  485. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/email-templates/src/test_email.mjml +0 -0
  486. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/github.py +0 -0
  487. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/main.py +0 -0
  488. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/messaging.py +0 -0
  489. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/mixpanel.py +0 -0
  490. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/models/__init__.py +0 -0
  491. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/models/projects.py +0 -0
  492. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/models/releases.py +0 -0
  493. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/orgs.py +0 -0
  494. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/pipeline.py +0 -0
  495. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/security.py +0 -0
  496. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/storage.py +0 -0
  497. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/stripe.py +0 -0
  498. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/subscriptions.py +0 -0
  499. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/__init__.py +0 -0
  500. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/__init__.py +0 -0
  501. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/__init__.py +0 -0
  502. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/projects/__init__.py +0 -0
  503. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/projects/test_dvc.py +0 -0
  504. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/projects/test_fs.py +0 -0
  505. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/test_feature_votes.py +0 -0
  506. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/test_login.py +0 -0
  507. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/test_releases.py +0 -0
  508. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/api/routes/test_users.py +0 -0
  509. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/conftest.py +0 -0
  510. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_client.py +0 -0
  511. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_core.py +0 -0
  512. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_db.py +0 -0
  513. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_dvc.py +0 -0
  514. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_git.py +0 -0
  515. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_pipeline.py +0 -0
  516. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_projects.py +0 -0
  517. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/tests/test_users.py +0 -0
  518. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/users.py +0 -0
  519. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/zenodo.py +0 -0
  520. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/app/zotero.py +0 -0
  521. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/prestart.sh +0 -0
  522. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/backend-pre-start.py +0 -0
  523. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/create-initial-data.py +0 -0
  524. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/format.sh +0 -0
  525. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/generate-client.py +0 -0
  526. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/lint.sh +0 -0
  527. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/rotate-fernet-secrets.py +0 -0
  528. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/scripts/test.sh +0 -0
  529. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/backend/tests-start.sh +0 -0
  530. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/config/alloy/config.alloy +0 -0
  531. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/config/grafana/provisioning/dashboards/dashboards.yml +0 -0
  532. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/config/grafana/provisioning/dashboards/fastapi.json +0 -0
  533. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/config/grafana/provisioning/datasources/datasources.yml +0 -0
  534. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/config/loki/loki.yml +0 -0
  535. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/config/prometheus/prometheus.yml +0 -0
  536. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/docker-compose.traefik.yml +0 -0
  537. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/docker-compose.yml +0 -0
  538. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/docs/dev/database-migrations.md +0 -0
  539. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/docs/dev/deployment.md +0 -0
  540. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/docs/dev/development.md +0 -0
  541. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/.dockerignore +0 -0
  542. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/.gitignore +0 -0
  543. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/.nvmrc +0 -0
  544. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/Dockerfile +0 -0
  545. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/Makefile +0 -0
  546. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/README.md +0 -0
  547. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/biome.json +0 -0
  548. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/index.html +0 -0
  549. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/modify-openapi-operationids.js +0 -0
  550. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/nginx-backend-not-found.conf +0 -0
  551. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/nginx.conf +0 -0
  552. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/openapi-ts.config.ts +0 -0
  553. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/playwright.config.ts +0 -0
  554. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/assets/images/c-to-the-k.svg +0 -0
  555. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/assets/images/calkit-no-bg.svg +0 -0
  556. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/assets/images/calkit.svg +0 -0
  557. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/assets/images/fastapi-logo.svg +0 -0
  558. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/assets/images/favicon.png +0 -0
  559. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/assets/images/kdot.svg +0 -0
  560. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/tex/.gitignore +0 -0
  561. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/tex/LICENSE-busytex +0 -0
  562. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/tex/busytex.js +0 -0
  563. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/tex/busytex.wasm +0 -0
  564. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/tex/busytex_pipeline.js +0 -0
  565. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/public/tex/busytex_worker.js +0 -0
  566. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/scripts/download-tex-engine.sh +0 -0
  567. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/client/client.gen.ts +0 -0
  568. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/client/index.ts +0 -0
  569. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/client/types.gen.ts +0 -0
  570. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/client/utils.gen.ts +0 -0
  571. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/client.gen.ts +0 -0
  572. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/auth.gen.ts +0 -0
  573. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/bodySerializer.gen.ts +0 -0
  574. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/params.gen.ts +0 -0
  575. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/pathSerializer.gen.ts +0 -0
  576. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/queryKeySerializer.gen.ts +0 -0
  577. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/serverSentEvents.gen.ts +0 -0
  578. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/types.gen.ts +0 -0
  579. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/client/core/utils.gen.ts +0 -0
  580. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Admin/AddUser.tsx +0 -0
  581. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Admin/EditUser.tsx +0 -0
  582. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/ActionsMenu.tsx +0 -0
  583. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/ArtifactCompareModal.tsx +0 -0
  584. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/ClearableInput.tsx +0 -0
  585. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/CommentsPanel.tsx +0 -0
  586. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/ConnectGitHubPrompt.tsx +0 -0
  587. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/DeleteAlert.tsx +0 -0
  588. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/GlobalSearch.tsx +0 -0
  589. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/LoadingSpinner.tsx +0 -0
  590. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/Markdown.tsx +0 -0
  591. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/Navbar.tsx +0 -0
  592. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/NotFound.tsx +0 -0
  593. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/NotificationBell.tsx +0 -0
  594. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/PageMenu.tsx +0 -0
  595. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/PdfCanvas.tsx +0 -0
  596. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/PdfDocumentViewer.tsx +0 -0
  597. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/ProjectCommandPalette.tsx +0 -0
  598. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/RefPicker.tsx +0 -0
  599. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/Sidebar.tsx +0 -0
  600. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/SidebarItems.tsx +0 -0
  601. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/Tooltip.tsx +0 -0
  602. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Common/UserMenu.tsx +0 -0
  603. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Datasets/DatasetFromExisting.tsx +0 -0
  604. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Datasets/UploadDataset.tsx +0 -0
  605. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Environments/ViewEnvironment.tsx +0 -0
  606. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Figures/FigureFromExisting.tsx +0 -0
  607. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Figures/FigureView.tsx +0 -0
  608. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Figures/UploadFigure.tsx +0 -0
  609. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Files/EditFileInfo.tsx +0 -0
  610. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Files/FileContent.tsx +0 -0
  611. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Files/UploadFile.tsx +0 -0
  612. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Local/AddPath.tsx +0 -0
  613. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Local/DiscardChanges.tsx +0 -0
  614. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Local/IgnorePath.tsx +0 -0
  615. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Local/NewStage.tsx +0 -0
  616. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Local/SaveFiles.tsx +0 -0
  617. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Notebooks/NotebookView.tsx +0 -0
  618. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Orgs/AddMember.tsx +0 -0
  619. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Orgs/NewOrg.tsx +0 -0
  620. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/AddCollaborator.tsx +0 -0
  621. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/CloneProject.tsx +0 -0
  622. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/CreateIssue.tsx +0 -0
  623. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/CreateQuestion.tsx +0 -0
  624. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/EditProject.tsx +0 -0
  625. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/EditQuestion.tsx +0 -0
  626. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/HelpContent.tsx +0 -0
  627. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/InviteLinks.tsx +0 -0
  628. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/MakeProjectPublic.tsx +0 -0
  629. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/NewProject.tsx +0 -0
  630. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/ProjectShowcase.tsx +0 -0
  631. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Projects/ProjectStatus.tsx +0 -0
  632. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Publications/ImportOverleaf.tsx +0 -0
  633. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Publications/NewPublication.tsx +0 -0
  634. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Publications/PdfAnnotator.tsx +0 -0
  635. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/DeleteReferenceItemDialog.tsx +0 -0
  636. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/DeleteReferencesCollectionDialog.tsx +0 -0
  637. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/EditReferenceItemModal.tsx +0 -0
  638. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/FileViewModal.tsx +0 -0
  639. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/LabelExistingReferences.tsx +0 -0
  640. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/References/NewReferencesCollection.tsx +0 -0
  641. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/ArtifactReleasesPanel.tsx +0 -0
  642. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/NewRelease.tsx +0 -0
  643. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/PathPicker.tsx +0 -0
  644. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/ReleasePdfAnnotator.tsx +0 -0
  645. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/ReleaseViewer.tsx +0 -0
  646. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/ReleasesTable.tsx +0 -0
  647. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/ShareDialog.tsx +0 -0
  648. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/Releases/releaseSort.ts +0 -0
  649. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/Appearance.tsx +0 -0
  650. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/ChangePassword.tsx +0 -0
  651. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/ConnectedAccounts.tsx +0 -0
  652. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/DeleteAccount.tsx +0 -0
  653. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/DeleteConfirmation.tsx +0 -0
  654. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/NewToken.tsx +0 -0
  655. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/PickSubscription.tsx +0 -0
  656. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/Subscription.tsx +0 -0
  657. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/UpdateOverleafToken.tsx +0 -0
  658. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/UserInformation.tsx +0 -0
  659. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/components/UserSettings/UserTokens.tsx +0 -0
  660. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/hooks/useAuth.ts +0 -0
  661. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/hooks/useCustomToast.ts +0 -0
  662. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/hooks/useProject.ts +0 -0
  663. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/analytics.test.ts +0 -0
  664. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/analytics.ts +0 -0
  665. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/api.test.ts +0 -0
  666. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/auth.test.ts +0 -0
  667. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/auth.ts +0 -0
  668. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/bibtex.test.ts +0 -0
  669. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/bibtex.ts +0 -0
  670. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/core.ts +0 -0
  671. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/github.test.ts +0 -0
  672. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/github.ts +0 -0
  673. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/google.ts +0 -0
  674. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/keyboard.ts +0 -0
  675. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/latexCompiler.ts +0 -0
  676. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/layout.ts +0 -0
  677. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/releases.ts +0 -0
  678. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/lib/zenodo.ts +0 -0
  679. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/main.tsx +0 -0
  680. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routeTree.gen.ts +0 -0
  681. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/__root.tsx +0 -0
  682. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/app.tsx +0 -0
  683. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/collaborators.tsx +0 -0
  684. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/datasets.tsx +0 -0
  685. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/environments.tsx +0 -0
  686. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/figures.tsx +0 -0
  687. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/history.tsx +0 -0
  688. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/index.tsx +0 -0
  689. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/local.tsx +0 -0
  690. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/notebooks.tsx +0 -0
  691. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/presentations.tsx +0 -0
  692. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/publications.tsx +0 -0
  693. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/releases.tsx +0 -0
  694. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/software.tsx +0 -0
  695. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout.tsx +0 -0
  696. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/$projectName/releases/$releaseName.tsx +0 -0
  697. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/$accountName/index.tsx +0 -0
  698. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/admin.tsx +0 -0
  699. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/datasets.tsx +0 -0
  700. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/index.tsx +0 -0
  701. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/learn.tsx +0 -0
  702. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/orgs.tsx +0 -0
  703. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/projects.tsx +0 -0
  704. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout/settings.tsx +0 -0
  705. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/_layout.tsx +0 -0
  706. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/auth/google.tsx +0 -0
  707. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/auth/zenodo.tsx +0 -0
  708. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/checkout.tsx +0 -0
  709. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/join/$token.tsx +0 -0
  710. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/login/device.tsx +0 -0
  711. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/login/index.tsx +0 -0
  712. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/recover-password.tsx +0 -0
  713. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/reset-password.tsx +0 -0
  714. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/routes/signup.tsx +0 -0
  715. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/theme.tsx +0 -0
  716. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/src/vite-env.d.ts +0 -0
  717. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/auth.setup.ts +0 -0
  718. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/config.ts +0 -0
  719. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/login.spec.ts +0 -0
  720. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/reset-password.spec.ts +0 -0
  721. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/user-settings.spec.ts +0 -0
  722. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/utils/mailcatcher.ts +0 -0
  723. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/utils/random.ts +0 -0
  724. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tests/utils/user.ts +0 -0
  725. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tsconfig.json +0 -0
  726. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/tsconfig.node.json +0 -0
  727. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/vite.config.ts +0 -0
  728. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/frontend/vitest.config.ts +0 -0
  729. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/scripts/build-push.sh +0 -0
  730. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/scripts/build.sh +0 -0
  731. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/scripts/deploy.sh +0 -0
  732. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/scripts/pem-to-env.sh +0 -0
  733. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/scripts/test-local.sh +0 -0
  734. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/scripts/test.sh +0 -0
  735. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/texmf-proxy/Dockerfile +0 -0
  736. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/texmf-proxy/README.md +0 -0
  737. {calkit_python-0.41.25 → calkit_python-0.42.0}/hub/texmf-proxy/proxy.py +0 -0
  738. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/.yarnrc.yml +0 -0
  739. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/babel.config.js +0 -0
  740. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/install.json +0 -0
  741. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/jest.config.js +0 -0
  742. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/jupyter-config/server-config/calkit.json +0 -0
  743. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/package.json +0 -0
  744. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/schema/plugin.json +0 -0
  745. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/__tests__/useQueries.spec.ts +0 -0
  746. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/calkit-config.ts +0 -0
  747. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/cell-output-marker.ts +0 -0
  748. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/commit-dialog.tsx +0 -0
  749. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/environment-editor.tsx +0 -0
  750. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/notebook-registration.tsx +0 -0
  751. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/notebook-toolbar.tsx +0 -0
  752. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/pipeline-status-bar.tsx +0 -0
  753. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/project-info-editor.tsx +0 -0
  754. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/sidebar-settings.tsx +0 -0
  755. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/sidebar.tsx +0 -0
  756. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/components/stage-editor.tsx +0 -0
  757. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/feature-flags.ts +0 -0
  758. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/file-browser-menu.ts +0 -0
  759. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/hooks/__tests__/useQueries.test.tsx +0 -0
  760. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/hooks/useQueries.ts +0 -0
  761. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/icons.ts +0 -0
  762. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/index.ts +0 -0
  763. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/io-tracker.ts +0 -0
  764. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/pipeline-state.ts +0 -0
  765. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/queryClient.ts +0 -0
  766. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/request.ts +0 -0
  767. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/src/shims-mainmenu.d.ts +0 -0
  768. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/base.css +0 -0
  769. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/cell-output-marker.css +0 -0
  770. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/environment-editor.css +0 -0
  771. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/environment-selector.css +0 -0
  772. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/img/calkit-no-bg.png +0 -0
  773. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/index.css +0 -0
  774. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/index.js +0 -0
  775. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/notebook-toolbar.css +0 -0
  776. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/pipeline-status-bar.css +0 -0
  777. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/style/sidebar.css +0 -0
  778. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/tsconfig.json +0 -0
  779. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/tsconfig.test.json +0 -0
  780. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/.gitignore +0 -0
  781. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/README.md +0 -0
  782. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/jupyter_server_test_config.py +0 -0
  783. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/package.json +0 -0
  784. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/playwright.config.js +0 -0
  785. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/tests/calkit.spec.ts +0 -0
  786. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/ui-tests/yarn.lock +0 -0
  787. {calkit_python-0.41.25 → calkit_python-0.42.0}/jupyterlab-ext/yarn.lock +0 -0
  788. {calkit_python-0.41.25 → calkit_python-0.42.0}/pyproject.toml +0 -0
  789. {calkit_python-0.41.25 → calkit_python-0.42.0}/scripts/generate-docs-references.py +0 -0
  790. {calkit_python-0.41.25 → calkit_python-0.42.0}/scripts/install.ps1 +0 -0
  791. {calkit_python-0.41.25 → calkit_python-0.42.0}/scripts/install.sh +0 -0
  792. {calkit_python-0.41.25 → calkit_python-0.42.0}/scripts/make-calk9.sh +0 -0
  793. {calkit_python-0.41.25 → calkit_python-0.42.0}/scripts/sync-docs.py +0 -0
  794. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/dvc-md5-dir/osx-arm64.txt +0 -0
  795. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/nb-julia.ipynb +0 -0
  796. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/nb-params.ipynb +0 -0
  797. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/nb-subdir.ipynb +0 -0
  798. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/pipeline.ipynb +0 -0
  799. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/script.py +0 -0
  800. {calkit_python-0.41.25 → calkit_python-0.42.0}/test/test-log.log +0 -0
  801. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/.gitignore +0 -0
  802. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/.vscodeignore +0 -0
  803. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/CHANGELOG.md +0 -0
  804. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/LICENSE +0 -0
  805. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/README.md +0 -0
  806. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/images/calkit-no-bg.png +0 -0
  807. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/package-lock.json +0 -0
  808. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/package.json +0 -0
  809. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/scripts/set-proposed-api.js +0 -0
  810. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/environments.ts +0 -0
  811. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/extension.ts +0 -0
  812. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/figures/core.ts +0 -0
  813. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/figures/view.ts +0 -0
  814. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/notebooks.ts +0 -0
  815. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/pipeline/core.ts +0 -0
  816. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/sidebar.ts +0 -0
  817. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/test/environments.test.ts +0 -0
  818. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/test/figures.test.ts +0 -0
  819. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/test/kernel-selection.test.ts +0 -0
  820. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/test/notebooks.test.ts +0 -0
  821. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/test/pipeline.test.ts +0 -0
  822. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/test/sidebar.test.ts +0 -0
  823. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/src/types.ts +0 -0
  824. {calkit_python-0.41.25 → calkit_python-0.42.0}/vscode-ext/tsconfig.json +0 -0
@@ -1,7 +1,10 @@
1
1
  # The hub backend image builds with this directory as its context so it can
2
2
  # install the calkit-python workspace member; keep everything it doesn't need
3
3
  # out of the context
4
- .git
4
+ #
5
+ # .git is deliberately NOT excluded: hatch-vcs reads the release tags out of
6
+ # it to version calkit-python and the hub backend at install time. It is
7
+ # bind-mounted into the one RUN that needs it, so it never lands in a layer.
5
8
  .venv
6
9
  .env
7
10
  **/__pycache__
@@ -7,3 +7,4 @@ calkit
7
7
  .pytest_cache
8
8
  .ruff_cache
9
9
  .venv
10
+ browser-ext/dist
@@ -5,6 +5,7 @@
5
5
  - The main Python package/CLI lives in `calkit`
6
6
  - The JupyterLab extension lives in `src`
7
7
  - The VS Code extension lives in `vscode-ext`
8
+ - The Chrome extension lives in `browser-ext`
8
9
 
9
10
  ## Working
10
11
 
@@ -89,6 +89,33 @@ This guide will help you get started.
89
89
  to the description.
90
90
  - Wait for a review and make necessary changes.
91
91
 
92
+ ## Releasing the browser extension
93
+
94
+ Publishing a GitHub release tagged `browser-ext/vX.Y.Z` builds and tests the
95
+ extension, stamps that version into `manifest.json` and `package.json`,
96
+ strips source maps, and attaches a store-ready zip to the release.
97
+ The version comes from the tag because the Chrome Web Store rejects an
98
+ upload whose manifest version isn't higher than the last one, and a version
99
+ kept in sync by hand eventually isn't.
100
+ Uncheck "set as the latest release" for these, since they aren't
101
+ calkit-python releases.
102
+
103
+ The same workflow uploads to the Chrome Web Store once the
104
+ `CHROME_EXTENSION_ID` repository variable is set, using the
105
+ `CHROME_CLIENT_ID`, `CHROME_CLIENT_SECRET`, and `CHROME_REFRESH_TOKEN`
106
+ secrets (an OAuth client for the Web Store API, authorized for the
107
+ publishing account).
108
+ Until that variable exists the upload step is skipped and the zip on the
109
+ release is uploaded by hand.
110
+
111
+ `make browser-ext` builds and packages the same zip locally.
112
+ The packaged manifest drops the local development hub's host permission,
113
+ which is why it is built from a staged copy rather than from `dist`, the
114
+ directory loaded unpacked during development.
115
+ The store listing's text lives in `browser-ext/store/listing.md`, and its
116
+ screenshots are generated from `docs/img/browser-ext` by
117
+ `browser-ext/scripts/store-screenshots.py`.
118
+
92
119
  ## 💡 Other ways to contribute
93
120
 
94
121
  - **Report bugs**: Open an issue with detailed reproduction steps.
@@ -79,3 +79,39 @@ test-jlab-ui: ## Run the JupyterLab UI integration tests.
79
79
  @uv run --directory=jupyterlab-ext/ui-tests jlpm install
80
80
  @uv run --directory=jupyterlab-ext/ui-tests jlpm playwright install
81
81
  @uv run --directory=jupyterlab-ext/ui-tests jlpm playwright test -u --reporter=list
82
+
83
+ .PHONY: browser-ext
84
+ browser-ext: ## Build the browser extension and package it as a ZIP.
85
+ @echo "🚀 Building the browser extension"
86
+ @cd browser-ext && npm ci && npm run build
87
+ @echo "📦 Packaging the browser extension ZIP"
88
+ @mkdir -p browser-ext/zip
89
+ # Packaged from a staged copy, never from dist: dist is what gets loaded
90
+ # unpacked for development, and the published manifest drops the local
91
+ # hub's host permission, which development needs.
92
+ @rm -rf browser-ext/zip/stage
93
+ @mkdir -p browser-ext/zip/stage
94
+ @cp -R browser-ext/dist/. browser-ext/zip/stage/
95
+ @cd browser-ext && node scripts/package-manifest.mjs zip/stage/manifest.json
96
+ # Source maps are useful loading unpacked, but only bloat a store upload, so
97
+ # they stay in dist and are excluded from the archive.
98
+ # zip adds to an existing archive rather than replacing it, so a rebuild at
99
+ # the same commit would otherwise keep files the build no longer produces.
100
+ # $$ escapes the shell's expansion from Make's own.
101
+ @rm -f "browser-ext/zip/calkit-browser-ext.zip"
102
+ @cd browser-ext/zip/stage && zip -qr \
103
+ "../calkit-browser-ext.zip" . \
104
+ -x '.*' '*/.*' '*.map'
105
+ @rm -rf browser-ext/zip/stage
106
+
107
+ .PHONY: browser-ext-dev
108
+ browser-ext-dev: ## Rebuild the browser extension on every change.
109
+ @echo "🚀 Watching the browser extension"
110
+ # Rebuilds on save. Chrome still needs the extension reloaded, since it
111
+ # reads a content script from disk when a page loads. Vite doesn't type
112
+ # check, so run 'cd browser-ext && npm run check' alongside this.
113
+ @cd browser-ext && npm ci && npm run dev
114
+
115
+ .PHONY: browser-ext-clean-zips
116
+ browser-ext-clean-zips: ## Delete all built browser extension ZIPs.
117
+ @rm -rf browser-ext/zip
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: calkit-python
3
- Version: 0.41.25
3
+ Version: 0.42.0
4
4
  Summary: Reproducibility simplified.
5
5
  Project-URL: Homepage, https://calkit.org
6
6
  Project-URL: Issues, https://github.com/calkit/calkit/issues
@@ -0,0 +1,6 @@
1
+ node_modules/
2
+ dist/
3
+ zip/
4
+ *.zip
5
+ # Generated from docs/img/browser-ext by scripts/store-screenshots.py
6
+ store/screenshots/
@@ -0,0 +1,200 @@
1
+ # Calkit browser extension
2
+
3
+ A Chrome extension (Manifest V3) for working with Calkit projects from the
4
+ sites where the work actually happens: GitHub, Overleaf, and journal and
5
+ preprint pages.
6
+
7
+ ## What it does
8
+
9
+ ### Overleaf
10
+
11
+ On an Overleaf project page, a panel shows the Calkit project that syncs with
12
+ it and, most importantly, **which figures are out of date on Overleaf**:
13
+
14
+ - Figures whose content differs from the copy in the Calkit project are
15
+ listed first, so it's obvious when the paper is showing an old plot.
16
+ - A figure produced by a pipeline stage that is itself stale is flagged, so
17
+ you know to run the pipeline before syncing rather than syncing a stale
18
+ figure into the paper.
19
+ - Overleaf edits that haven't come back into the project yet are counted.
20
+ - **Sync now** runs the same bidirectional sync as `calkit overleaf sync`.
21
+
22
+ If the Overleaf project isn't linked yet, the panel can search your projects
23
+ and either check an existing link or import the Overleaf project into one as a
24
+ new publication.
25
+
26
+ **Attach to new project** covers the case where the code, data, and figures
27
+ already live in a GitHub repo. Turn on "Exists on GitHub", type the repo name,
28
+ and pick the folder the document should occupy inside the project. That
29
+ creates the Calkit project around the existing repo and imports the Overleaf
30
+ document into it in one go, after which the document is a pipeline stage whose
31
+ figures can be checked for staleness and synced. The Calkit GitHub app has to
32
+ be installed for the repo.
33
+
34
+ Finding the linked project doesn't require having synced before: the hub reads
35
+ each project's `calkit.yaml` through the GitHub API, active project first,
36
+ indexing what it finds so later lookups are a single query.
37
+
38
+ ### GitHub
39
+
40
+ A **Calkit** button in the corner of a repository page says whether the repo is
41
+ a Calkit project before you click it. It reads the repo's `calkit.yaml` first,
42
+ since that file names the hub the project belongs to, so a project on another
43
+ instance is recognised rather than looking like it isn't one; a private repo,
44
+ which won't serve that file anonymously, falls back to asking your hub.
45
+
46
+ On a **pull request**, the panel compares DVC-tracked outputs between the
47
+ branch and its base, so a regenerated figure can be looked at next to the one
48
+ it replaces. GitHub's own diff can only show the `.dvc` pointer changing,
49
+ which says an output changed but nothing about how.
50
+
51
+ From there you can open the project on its hub, or connect a repo that isn't a
52
+ project yet. For a connected project the extension **adds its DVC-tracked
53
+ files to GitHub's own file listing**, badged as DVC, since GitHub can only show
54
+ the `.dvc` pointer files. Clicking one opens it: image preview or download,
55
+ straight from the project's DVC storage.
56
+
57
+ ### References
58
+
59
+ On a journal, publisher, or preprint page, the extension reads the page's
60
+ citation metadata (Highwire Press and Dublin Core tags, the same ones Zotero
61
+ relies on) and tells you whether that reference is already in a collection in
62
+ one of your projects. From there you can:
63
+
64
+ - Import it into any `.bib` collection in a project.
65
+ - Read and edit the notes attached to it, which are stored in the BibTeX
66
+ `comment` field, and pushed to Zotero for collections linked to it.
67
+
68
+ The project checked is the **active project**, which the panel names in a
69
+ dropdown at the top: changing it there switches the active project outright,
70
+ so what was checked and what an import lands in can't drift apart, and the
71
+ next paper starts where this one left off.
72
+
73
+ One project rather than a list is deliberate: it suits a thesis-scale
74
+ monorepo, and it's also what keeps the lookup fast, since each project has to
75
+ be read on the server to search its collections.
76
+
77
+ The content script runs on the major preprint servers and publishers (arXiv,
78
+ bioRxiv, PLOS, Springer, Wiley, Elsevier, Nature, Science, MDPI, Cambridge
79
+ Core, AIP, ACS, RSC, IOP, ASME, AIAA, Oxford, and others). Publishers that
80
+ spread journals across subdomains are matched with a wildcard host, so
81
+ `agupubs.onlinelibrary.wiley.com` and `collections.plos.org` are covered by
82
+ the same entry as their parents.
83
+
84
+ That list can't ever be complete, and every host on it is a permission the
85
+ user has to grant, so it stays limited to sites worth injecting into. The
86
+ popup does the same detection on **any** page through `activeTab`, which is
87
+ the general answer for everything else.
88
+
89
+ ## Installing during development
90
+
91
+ ```sh
92
+ npm install
93
+ npm run build
94
+ ```
95
+
96
+ Then, in Chrome, open `chrome://extensions`, turn on **Developer mode**, click
97
+ **Load unpacked**, and select the `dist` directory.
98
+
99
+ ## Signing in
100
+
101
+ The extension uses the hub's device authorization flow, the same one
102
+ `calkit hub login` uses. Click **Sign in** in the popup, approve the request in
103
+ the tab that opens, and the extension stores a short-lived access token plus a
104
+ refresh token in `chrome.storage.local`, scoped to the hub it came from.
105
+
106
+ Nothing else ever sees the token: every API call runs in the service worker,
107
+ which the content scripts drive through a fixed set of named operations rather
108
+ than a general "fetch this URL" proxy.
109
+
110
+ ## Image previews and object storage
111
+
112
+ Panels live in the host page's DOM, so the page's content security policy
113
+ decides what they can load, and sites like GitHub don't allow images from
114
+ object storage. Previews are therefore fetched in the service worker and
115
+ handed to the panel as data URLs, which every page allows.
116
+
117
+ That fetch needs the storage host in `host_permissions`. The manifest lists
118
+ Google Cloud Storage and S3, which covers the hosted instances. A hub using
119
+ some other storage, e.g. MinIO, needs its host added; without it the preview
120
+ is dropped and the download link still works.
121
+
122
+ ## Settings
123
+
124
+ The options page holds two settings.
125
+
126
+ **Hub** selects between calkit.io, the staging instance, a local development
127
+ instance, and a self-hosted one. Changing it applies immediately, and the
128
+ page then shows whether you're signed in to the newly selected hub, since
129
+ credentials are stored per hub and switching generally means signing in
130
+ again.
131
+
132
+ A hub serves its API from the `api` subdomain of the host serving its web
133
+ app, so a self-hosted hub is configured with its URL alone:
134
+ `https://calkit.example.edu` implies `https://api.calkit.example.edu`. Chrome
135
+ prompts for access to that host when the hub is applied. This matches
136
+ `calkit.hub.api_url_from_hub_url` in the Python package; see the
137
+ [self-hosting docs](../docs/hub/self-hosting.md).
138
+
139
+ **Active project** is the project being worked on, remembered per hub.
140
+ Reference lookups check its collections, and importing a reference defaults to
141
+ it. It can also be switched from the popup.
142
+
143
+ Project pickers list only projects you can **write** to
144
+ (`GET /projects?min_access_level=write`), since every action they offer
145
+ writes. The GitHub panel is the exception: it resolves a repo at read
146
+ access, because browsing the DVC artifacts behind a public project you
147
+ don't own is the point of it.
148
+
149
+ ## Layout
150
+
151
+ ```
152
+ public/manifest.json Extension manifest
153
+ popup.html Toolbar popup page, built to dist/popup.html
154
+ options.html Options page, built to dist/options.html
155
+ src/background/ Service worker: auth, API calls, message routing
156
+ src/content/ One content script per site (github, overleaf,
157
+ references)
158
+ src/core/ Hub config, storage, API client, page detection, UI
159
+ src/popup/ Popup script and shared page styles
160
+ src/options/ Options script
161
+ ```
162
+
163
+ Both pages are built to the root of `dist` rather than to a path under
164
+ `src/`, so they load from `chrome-extension://<id>/options.html`. Content
165
+ blockers match on request paths and some of their filter lists catch generic
166
+ source-tree paths, which is enough to break an extension page with
167
+ `ERR_BLOCKED_BY_CLIENT`.
168
+
169
+ ## Development
170
+
171
+ ```sh
172
+ npm run check # Type-check
173
+ npm test # Unit tests for URL and citation-metadata parsing
174
+ npm run format # Prettier
175
+ npm run build # Type-check, then build into dist/
176
+ npm run dev # Rebuild into dist/ as sources change
177
+ ```
178
+
179
+ `dist` is a directory Chrome has loaded, not just build output, so anything
180
+ that empties it is doing so underneath a running extension. The type check
181
+ therefore happens before `dist` is cleared, and `npm run build` shouldn't be
182
+ run while `npm run dev` is watching: both own the same directory, and a
183
+ service worker that goes missing mid-build stays failed until the extension
184
+ is reloaded.
185
+
186
+ Content scripts are bundled one at a time as IIFEs (see
187
+ `scripts/build-content.mjs`), because Chrome runs them as classic scripts,
188
+ which can't be ES modules or be code-split.
189
+
190
+ ## Backend requirements
191
+
192
+ The Overleaf and reference features need hub API endpoints added alongside
193
+ this extension:
194
+
195
+ - `GET /overleaf-links` resolves an Overleaf project ID to the Calkit projects
196
+ that sync with it.
197
+ - `GET /projects/{owner}/{project}/overleaf-syncs/status` reports what a sync
198
+ would do without doing it.
199
+ - `GET /projects?github_repo=owner/repo` looks a project up by its GitHub repo.
200
+ - `GET /user/references/search` finds a reference across named projects.
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title>Calkit options</title>
6
+ <link rel="stylesheet" href="./src/popup/popup.css" />
7
+ </head>
8
+ <body class="options">
9
+ <div id="app"></div>
10
+ <script type="module" src="./src/options/options.ts"></script>
11
+ </body>
12
+ </html>