calkit-python 0.37.2__tar.gz → 0.37.4__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 (319) hide show
  1. {calkit_python-0.37.2 → calkit_python-0.37.4}/Makefile +3 -6
  2. {calkit_python-0.37.2 → calkit_python-0.37.4}/PKG-INFO +56 -45
  3. {calkit_python-0.37.2 → calkit_python-0.37.4}/README.md +55 -44
  4. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/check.py +266 -111
  5. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/main/core.py +11 -5
  6. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/new.py +18 -4
  7. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/notebooks.py +29 -3
  8. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/slurm.py +41 -9
  9. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/conda.py +34 -12
  10. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/dvc/zip.py +9 -3
  11. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/environments.py +126 -13
  12. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/fs.py +111 -12
  13. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/git.py +1 -1
  14. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/julia.py +30 -2
  15. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/package.json +1 -1
  16. calkit_python-0.37.2/calkit/labextension/static/909.651be47ca47390b78a92.js → calkit_python-0.37.4/calkit/labextension/static/909.e3f9cc3408834a7fdcc3.js +1 -1
  17. calkit_python-0.37.2/calkit/labextension/static/remoteEntry.c091821b3d7f2d287a67.js → calkit_python-0.37.4/calkit/labextension/static/remoteEntry.65469af996e7a96aa983.js +1 -1
  18. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/matlab.py +1 -1
  19. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/models/core.py +29 -0
  20. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/models/pipeline.py +18 -15
  21. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/pipeline.py +2 -2
  22. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_check.py +71 -0
  23. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_new.py +1 -1
  24. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/models/test_pipeline.py +13 -1
  25. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_conda.py +1 -1
  26. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_environments.py +155 -0
  27. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_fs.py +119 -1
  28. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_git.py +5 -5
  29. calkit_python-0.37.4/calkit/tests/test_julia.py +97 -0
  30. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_pipeline.py +38 -0
  31. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/cli-reference.md +53 -25
  32. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/environments.md +143 -0
  33. calkit_python-0.37.4/docs/index.md +59 -0
  34. calkit_python-0.37.4/docs/pipeline/index.md +460 -0
  35. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/github-actions.md +10 -14
  36. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/create-calkit-env.png +0 -0
  37. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/create-inner-env.png +0 -0
  38. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/create-new-calkit-env.png +0 -0
  39. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/select-calkit-env.png +0 -0
  40. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/slurm-job-running.png +0 -0
  41. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/slurm-launch-options.png +0 -0
  42. calkit_python-0.37.4/docs/tutorials/img/vscode-slurm-notebook/starting-slurm-job.png +0 -0
  43. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/index.md +1 -0
  44. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/openfoam.md +3 -3
  45. calkit_python-0.37.4/docs/tutorials/vscode-slurm-notebook.md +79 -0
  46. {calkit_python-0.37.2 → calkit_python-0.37.4}/mkdocs.yml +1 -0
  47. calkit_python-0.37.4/scripts/generate-docs-references.py +752 -0
  48. {calkit_python-0.37.2 → calkit_python-0.37.4}/scripts/install.ps1 +1 -1
  49. {calkit_python-0.37.2 → calkit_python-0.37.4}/scripts/install.sh +2 -2
  50. {calkit_python-0.37.2 → calkit_python-0.37.4}/scripts/sync-docs.py +15 -5
  51. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/project-info-editor.tsx +1 -1
  52. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/sidebar.tsx +2 -3
  53. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/package-lock.json +6 -6
  54. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/package.json +6 -3
  55. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/src/environments.ts +1 -0
  56. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/src/extension.ts +162 -17
  57. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/src/types.ts +4 -0
  58. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/tsconfig.json +1 -0
  59. calkit_python-0.37.2/calkit/tests/test_julia.py +0 -31
  60. calkit_python-0.37.2/docs/index.md +0 -56
  61. calkit_python-0.37.2/docs/pipeline/index.md +0 -280
  62. calkit_python-0.37.2/scripts/generate-cli-reference.py +0 -395
  63. {calkit_python-0.37.2 → calkit_python-0.37.4}/.gitignore +0 -0
  64. {calkit_python-0.37.2 → calkit_python-0.37.4}/.pre-commit-config.yaml +0 -0
  65. {calkit_python-0.37.2 → calkit_python-0.37.4}/.prettierignore +0 -0
  66. {calkit_python-0.37.2 → calkit_python-0.37.4}/.python-version +0 -0
  67. {calkit_python-0.37.2 → calkit_python-0.37.4}/.vscode/launch.json +0 -0
  68. {calkit_python-0.37.2 → calkit_python-0.37.4}/.vscode/tasks.json +0 -0
  69. {calkit_python-0.37.2 → calkit_python-0.37.4}/.yarnrc.yml +0 -0
  70. {calkit_python-0.37.2 → calkit_python-0.37.4}/CITATION.cff +0 -0
  71. {calkit_python-0.37.2 → calkit_python-0.37.4}/CODE_OF_CONDUCT.md +0 -0
  72. {calkit_python-0.37.2 → calkit_python-0.37.4}/CONTRIBUTING.md +0 -0
  73. {calkit_python-0.37.2 → calkit_python-0.37.4}/LICENSE +0 -0
  74. {calkit_python-0.37.2 → calkit_python-0.37.4}/babel.config.js +0 -0
  75. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/__init__.py +0 -0
  76. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/__main__.py +0 -0
  77. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/calc.py +0 -0
  78. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/check.py +0 -0
  79. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/__init__.py +0 -0
  80. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/cloud.py +0 -0
  81. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/config.py +0 -0
  82. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/core.py +0 -0
  83. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/describe.py +0 -0
  84. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/import_.py +0 -0
  85. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/latex.py +0 -0
  86. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/list.py +0 -0
  87. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/main/__init__.py +0 -0
  88. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/main/xr.py +0 -0
  89. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/office.py +0 -0
  90. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/overleaf.py +0 -0
  91. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cli/update.py +0 -0
  92. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/cloud.py +0 -0
  93. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/config.py +0 -0
  94. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/core.py +0 -0
  95. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/datasets.py +0 -0
  96. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/detect.py +0 -0
  97. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/docker.py +0 -0
  98. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/dvc/__init__.py +0 -0
  99. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/dvc/core.py +0 -0
  100. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/github.py +0 -0
  101. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/gui.py +0 -0
  102. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/invenio.py +0 -0
  103. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/jupyter.py +0 -0
  104. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/jupyterlab/__init__.py +0 -0
  105. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/jupyterlab/routes.py +0 -0
  106. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
  107. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/schemas/calkit/plugin.json +0 -0
  108. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/502.9a2c5772a15466e923ef.js +0 -0
  109. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/695.2c41003a452d43d2b358.js +0 -0
  110. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/867.a42a046aa5108f54f8fb.js +0 -0
  111. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js +0 -0
  112. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js.LICENSE.txt +0 -0
  113. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/b2f1c3efe70cb539d121.png +0 -0
  114. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/style.js +0 -0
  115. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/labextension/static/third-party-licenses.json +0 -0
  116. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/licenses.py +0 -0
  117. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/magics.py +0 -0
  118. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/models/__init__.py +0 -0
  119. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/models/io.py +0 -0
  120. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/models/iteration.py +0 -0
  121. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/notebooks.py +0 -0
  122. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/office.py +0 -0
  123. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/ops.py +0 -0
  124. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/overleaf.py +0 -0
  125. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/releases.py +0 -0
  126. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/server.py +0 -0
  127. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/__init__.py +0 -0
  128. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/core.py +0 -0
  129. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/__init__.py +0 -0
  130. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/article/paper.tex +0 -0
  131. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/core.py +0 -0
  132. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/jfm/jfm.bst +0 -0
  133. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/jfm/jfm.cls +0 -0
  134. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
  135. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/jfm/paper.tex +0 -0
  136. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/templates/latex/jfm/upmath.sty +0 -0
  137. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/__init__.py +0 -0
  138. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/__init__.py +0 -0
  139. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/main/__init__.py +0 -0
  140. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/main/test_core.py +0 -0
  141. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/main/test_xr.py +0 -0
  142. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_config.py +0 -0
  143. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_import.py +0 -0
  144. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_latex.py +0 -0
  145. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_list.py +0 -0
  146. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_notebooks.py +0 -0
  147. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_overleaf.py +0 -0
  148. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/cli/test_update.py +0 -0
  149. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/dvc/__init__.py +0 -0
  150. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/dvc/test_core.py +0 -0
  151. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/dvc/test_zip.py +0 -0
  152. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/jupyterlab/__init__.py +0 -0
  153. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/jupyterlab/test_routes.py +0 -0
  154. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/models/__init__.py +0 -0
  155. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/models/test_iteration.py +0 -0
  156. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_calc.py +0 -0
  157. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_check.py +0 -0
  158. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_core.py +0 -0
  159. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_detect.py +0 -0
  160. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_docker.py +0 -0
  161. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_invenio.py +0 -0
  162. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_jupyter.py +0 -0
  163. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_magics.py +0 -0
  164. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_matlab.py +0 -0
  165. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_notebooks.py +0 -0
  166. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_releases.py +0 -0
  167. {calkit_python-0.37.2 → calkit_python-0.37.4}/calkit/tests/test_templates.py +0 -0
  168. {calkit_python-0.37.2 → calkit_python-0.37.4}/conftest.py +0 -0
  169. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/CNAME +0 -0
  170. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/apps.md +0 -0
  171. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/calculations.md +0 -0
  172. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/calkit-yaml.md +0 -0
  173. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/cloud-integration.md +0 -0
  174. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/datasets.md +0 -0
  175. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/dependencies.md +0 -0
  176. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/examples.md +0 -0
  177. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/governance.md +0 -0
  178. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/help.md +0 -0
  179. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/c-to-the-k-white.svg +0 -0
  180. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/calkit-fragmentation-compendium.png +0 -0
  181. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/calkit-no-bg.png +0 -0
  182. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/connect-zenodo.png +0 -0
  183. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/jupyterlab/all-green.png +0 -0
  184. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/jupyterlab/collect-data-stale.png +0 -0
  185. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/jupyterlab/new-env.png +0 -0
  186. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/jupyterlab/new-notebook.png +0 -0
  187. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/jupyterlab/pipeline-badge.png +0 -0
  188. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/jupyterlab-params.png +0 -0
  189. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/plos-osi-code-2024-03.png +0 -0
  190. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/img/vscode-nb-params.png +0 -0
  191. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/installation.md +0 -0
  192. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/jupyterlab.md +0 -0
  193. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/local-server.md +0 -0
  194. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/notebooks.md +0 -0
  195. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/overleaf.md +0 -0
  196. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/pipeline/manual-steps.md +0 -0
  197. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/pipeline/running-and-logging.md +0 -0
  198. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/pipeline/slurm.md +0 -0
  199. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/quickstart.md +0 -0
  200. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/references.md +0 -0
  201. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/releases.md +0 -0
  202. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/reproducibility.md +0 -0
  203. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/adding-latex-pub-docker.md +0 -0
  204. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/conda-envs.md +0 -0
  205. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/existing-project.md +0 -0
  206. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/first-project.md +0 -0
  207. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/actions-repo-secrets.png +0 -0
  208. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
  209. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
  210. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
  211. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
  212. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
  213. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
  214. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
  215. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
  216. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
  217. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
  218. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/push.png +0 -0
  219. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
  220. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
  221. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/chart-more-rows.png +0 -0
  222. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/create-project.png +0 -0
  223. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
  224. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/excel-chart.png +0 -0
  225. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/excel-data.png +0 -0
  226. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
  227. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/needs-clone.png +0 -0
  228. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/new-stage.png +0 -0
  229. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
  230. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
  231. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/status-more-rows.png +0 -0
  232. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
  233. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/untracked-data.png +0 -0
  234. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/updated-publication.png +0 -0
  235. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
  236. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/office/workflow-page.png +0 -0
  237. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/clone.png +0 -0
  238. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/create-project.png +0 -0
  239. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
  240. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
  241. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
  242. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/new-token.png +0 -0
  243. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/reclone.png +0 -0
  244. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
  245. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/quick-actions.png +0 -0
  246. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/img/run-proc.png +0 -0
  247. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/jupyterlab.md +0 -0
  248. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/latex-codespaces.md +0 -0
  249. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/matlab.md +0 -0
  250. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/notebook-pipeline.md +0 -0
  251. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/office.md +0 -0
  252. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/tutorials/procedures.md +0 -0
  253. {calkit_python-0.37.2 → calkit_python-0.37.4}/docs/version-control.md +0 -0
  254. {calkit_python-0.37.2 → calkit_python-0.37.4}/install.json +0 -0
  255. {calkit_python-0.37.2 → calkit_python-0.37.4}/jest.config.js +0 -0
  256. {calkit_python-0.37.2 → calkit_python-0.37.4}/jupyter-config/server-config/calkit.json +0 -0
  257. {calkit_python-0.37.2 → calkit_python-0.37.4}/package.json +0 -0
  258. {calkit_python-0.37.2 → calkit_python-0.37.4}/pyproject.toml +0 -0
  259. {calkit_python-0.37.2 → calkit_python-0.37.4}/schema/plugin.json +0 -0
  260. {calkit_python-0.37.2 → calkit_python-0.37.4}/scripts/make-calk9.sh +0 -0
  261. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/__tests__/useQueries.spec.ts +0 -0
  262. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/calkit-config.ts +0 -0
  263. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/cell-output-marker.ts +0 -0
  264. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/commit-dialog.tsx +0 -0
  265. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/environment-editor.tsx +0 -0
  266. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/notebook-registration.tsx +0 -0
  267. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/notebook-toolbar.tsx +0 -0
  268. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/pipeline-status-bar.tsx +0 -0
  269. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/sidebar-settings.tsx +0 -0
  270. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/components/stage-editor.tsx +0 -0
  271. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/feature-flags.ts +0 -0
  272. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/file-browser-menu.ts +0 -0
  273. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/hooks/__tests__/useQueries.test.tsx +0 -0
  274. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/hooks/useQueries.ts +0 -0
  275. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/icons.ts +0 -0
  276. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/index.ts +0 -0
  277. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/io-tracker.ts +0 -0
  278. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/pipeline-state.ts +0 -0
  279. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/queryClient.ts +0 -0
  280. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/request.ts +0 -0
  281. {calkit_python-0.37.2 → calkit_python-0.37.4}/src/shims-mainmenu.d.ts +0 -0
  282. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/base.css +0 -0
  283. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/cell-output-marker.css +0 -0
  284. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/environment-editor.css +0 -0
  285. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/environment-selector.css +0 -0
  286. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/img/calkit-no-bg.png +0 -0
  287. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/index.css +0 -0
  288. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/index.js +0 -0
  289. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/notebook-toolbar.css +0 -0
  290. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/pipeline-status-bar.css +0 -0
  291. {calkit_python-0.37.2 → calkit_python-0.37.4}/style/sidebar.css +0 -0
  292. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/dvc-md5-dir/osx-arm64.txt +0 -0
  293. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/nb-julia.ipynb +0 -0
  294. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/nb-params.ipynb +0 -0
  295. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/nb-subdir.ipynb +0 -0
  296. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/pipeline.ipynb +0 -0
  297. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/script.py +0 -0
  298. {calkit_python-0.37.2 → calkit_python-0.37.4}/test/test-log.log +0 -0
  299. {calkit_python-0.37.2 → calkit_python-0.37.4}/tsconfig.json +0 -0
  300. {calkit_python-0.37.2 → calkit_python-0.37.4}/tsconfig.test.json +0 -0
  301. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/.gitignore +0 -0
  302. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/README.md +0 -0
  303. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/jupyter_server_test_config.py +0 -0
  304. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/package.json +0 -0
  305. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/playwright.config.js +0 -0
  306. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/tests/calkit.spec.ts +0 -0
  307. {calkit_python-0.37.2 → calkit_python-0.37.4}/ui-tests/yarn.lock +0 -0
  308. {calkit_python-0.37.2 → calkit_python-0.37.4}/uv.lock +0 -0
  309. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/.gitignore +0 -0
  310. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/.vscodeignore +0 -0
  311. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/CHANGELOG.md +0 -0
  312. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/LICENSE +0 -0
  313. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/README.md +0 -0
  314. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/images/calkit-no-bg.png +0 -0
  315. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/scripts/set-proposed-api.js +0 -0
  316. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/src/notebooks.ts +0 -0
  317. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/src/test/environments.test.ts +0 -0
  318. {calkit_python-0.37.2 → calkit_python-0.37.4}/vscode-ext/src/test/notebooks.test.ts +0 -0
  319. {calkit_python-0.37.2 → calkit_python-0.37.4}/yarn.lock +0 -0
@@ -37,15 +37,12 @@ test-docs: sync-docs ## Test if documentation can be built without warnings or e
37
37
  @uv run mkdocs build -s
38
38
 
39
39
  .PHONY: sync-docs
40
- sync-docs: cli-reference ## Sync documentation content from docs/*.md into README.md.
40
+ sync-docs: ## Sync documentation content from docs/*.md into README.md.
41
+ @echo "🚀 Generating docs references"
42
+ @uv run python scripts/generate-docs-references.py
41
43
  @echo "🚀 Syncing documentation"
42
44
  @uv run python scripts/sync-docs.py
43
45
 
44
- .PHONY: cli-reference
45
- cli-reference: ## Generate docs/cli-reference.md from CLI help output.
46
- @echo "🚀 Generating CLI reference"
47
- @uv run python scripts/generate-cli-reference.py
48
-
49
46
  .PHONY: docs
50
47
  docs: sync-docs ## Build and serve the documentation.
51
48
  @uv run mkdocs serve --livereload
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: calkit-python
3
- Version: 0.37.2
3
+ Version: 0.37.4
4
4
  Summary: Reproducibility simplified.
5
5
  Project-URL: Homepage, https://calkit.org
6
6
  Project-URL: Issues, https://github.com/calkit/calkit/issues
@@ -76,56 +76,67 @@ Description-Content-Type: text/markdown
76
76
  </a>
77
77
  </p>
78
78
 
79
- Calkit makes it easy to create
80
- ["single button"](https://doi.org/10.1190/1.1822162)
81
- reproducible research projects.
82
-
83
- Instead of a loosely related collection of files
84
- and manual instructions,
85
- turn your project into a version-controlled,
86
- self-contained "calculation kit,"
87
- tying together all phases or stages of the project:
88
- data collection, analysis, visualization, and writing,
89
- each of which can make use of the latest and greatest computational
90
- tools and languages.
91
- In other words, you, your collaborators, and readers will be able to go
92
- from raw data to research article with a single command,
93
- improving efficiency via faster iteration cycle time,
94
- reducing the likelihood of mistakes,
95
- and allowing others to more effectively build upon your work.
96
-
97
- Calkit makes this level of automation possible without extensive software
98
- engineering expertise by providing a project framework and toolset that unifies
99
- and simplifies the use of powerful enabling technologies like Git,
100
- DVC, Conda, Docker, and more,
101
- while guiding users away from common reproducibility pitfalls.
79
+ <!-- INCLUDE: docs/index.md -->
80
+
81
+ Calkit helps you manage and automate research projects like a software
82
+ engineer.
83
+
84
+ Define computational environments,
85
+ steps that process your data, create figures,
86
+ presentations, and publications, connect to external tools,
87
+ then iterate quickly and painlessly until your research questions are
88
+ answered, tracking changes to all files along the way.
89
+ At the end, deliver your entire project as a self-contained, self-documenting,
90
+ version-controlled, and
91
+ [single button reproducible](https://doi.org/10.1190/1.1822162)
92
+ "calculation kit" so you and others can easily verify
93
+ and build upon the results.
94
+
95
+ ## Guiding principles
96
+
97
+ - Quality comes from iteration. Automation reduces the time and effort
98
+ needed to iterate, thereby increasing iteration and quality.
99
+ - Automating a step can and should take roughly
100
+ the same amount of time as doing it once manually,
101
+ therefore it's almost always worth it.
102
+ - Working in a "quick and dirty" way can easily become _not quick_ when
103
+ the dirtiness results in mistakes and/or discourages working in small steps.
102
104
 
103
105
  ## Features
104
106
 
105
- - A declarative pipeline that guides users to define an environment
106
- for every stage, so long lists of instructions in a README and
107
- "but it works on my machine" are things of the past.
108
- - A CLI to run the project's pipeline to verify it's reproducible,
109
- regenerating outputs as needed and
110
- ensuring all
111
- computational environments
112
- (e.g., [Conda](https://docs.conda.io/en/latest/),
113
- [Docker](https://docker.com), uv, Julia)
114
- match their specification.
115
- - A schema to store structured metadata describing the
116
- project's important outputs (in its `calkit.yaml` file)
117
- and how they are created
118
- (its computational environments and pipeline).
119
- - A command line interface (CLI) to simplify keeping code, text, and larger
120
- data files backed up in the same project repo using both
121
- [Git](https://git-scm.com/) and [DVC](https://dvc.org/).
107
+ - A simplified [version control](https://docs.calkit.org/version-control)
108
+ interface that unifies Git and DVC (Data Version Control),
109
+ so all materials can be kept in the same project repository.
110
+ This way, code doesn't need to be siloed away from other
111
+ important artifacts like datasets, models, figures, or article PDFs,
112
+ allowing you to work on all parts of a project without hopping around to
113
+ different tools.
114
+ - [Computational environment management](https://docs.calkit.org/environments) with support for many
115
+ languages and environment managers: Conda, Docker, uv, Julia, Renv, and more.
116
+ No need to create and update environments on your own. Calkit will handle
117
+ them as needed.
118
+ - An environment-aware build system or [pipeline](https://docs.calkit.org/pipeline) with
119
+ a simple declarative syntax and
120
+ output caching so you don't need to think about which steps or stages
121
+ need to be rerun after changing any part of the project.
122
+ Simply call `calkit run`.
123
+ Compose your pipeline from many different kinds of stages,
124
+ including simple scripts, commands, Jupyter Notebooks, LaTeX, and more.
122
125
  - A complementary self-hostable and GitHub-integrated
123
- [cloud system](https://github.com/calkit/calkit-cloud)
126
+ [cloud platform](https://github.com/calkit/calkit-cloud)
124
127
  to facilitate backup, collaboration,
125
128
  and sharing throughout the entire research lifecycle.
126
- - [Overleaf integration](https://docs.calkit.org/overleaf/), so code,
127
- data, and LaTeX documents can all live in the same repo and be part of a
128
- single pipeline (no more manual uploads!)
129
+ - [Overleaf integration](https://docs.calkit.org/overleaf/), so
130
+ analysis, visualization, and writing can all stay in sync
131
+ (no more manual uploads!)
132
+ - Support for running on high performance computing (HPC) systems that use
133
+ [SLURM schedulers](https://docs.calkit.org/pipeline/slurm).
134
+ - Support for running with [GitHub Actions](https://docs.calkit.org/tutorials/github-actions).
135
+ - Extensions for doing all of the above graphically in
136
+ [JupyterLab](https://docs.calkit.org/jupyterlab) and
137
+ [VS Code](https://marketplace.visualstudio.com/items?itemName=Calkit.calkit-vscode).
138
+
139
+ <!-- END INCLUDE -->
129
140
 
130
141
  ## Installation
131
142
 
@@ -17,56 +17,67 @@
17
17
  </a>
18
18
  </p>
19
19
 
20
- Calkit makes it easy to create
21
- ["single button"](https://doi.org/10.1190/1.1822162)
22
- reproducible research projects.
23
-
24
- Instead of a loosely related collection of files
25
- and manual instructions,
26
- turn your project into a version-controlled,
27
- self-contained "calculation kit,"
28
- tying together all phases or stages of the project:
29
- data collection, analysis, visualization, and writing,
30
- each of which can make use of the latest and greatest computational
31
- tools and languages.
32
- In other words, you, your collaborators, and readers will be able to go
33
- from raw data to research article with a single command,
34
- improving efficiency via faster iteration cycle time,
35
- reducing the likelihood of mistakes,
36
- and allowing others to more effectively build upon your work.
37
-
38
- Calkit makes this level of automation possible without extensive software
39
- engineering expertise by providing a project framework and toolset that unifies
40
- and simplifies the use of powerful enabling technologies like Git,
41
- DVC, Conda, Docker, and more,
42
- while guiding users away from common reproducibility pitfalls.
20
+ <!-- INCLUDE: docs/index.md -->
21
+
22
+ Calkit helps you manage and automate research projects like a software
23
+ engineer.
24
+
25
+ Define computational environments,
26
+ steps that process your data, create figures,
27
+ presentations, and publications, connect to external tools,
28
+ then iterate quickly and painlessly until your research questions are
29
+ answered, tracking changes to all files along the way.
30
+ At the end, deliver your entire project as a self-contained, self-documenting,
31
+ version-controlled, and
32
+ [single button reproducible](https://doi.org/10.1190/1.1822162)
33
+ "calculation kit" so you and others can easily verify
34
+ and build upon the results.
35
+
36
+ ## Guiding principles
37
+
38
+ - Quality comes from iteration. Automation reduces the time and effort
39
+ needed to iterate, thereby increasing iteration and quality.
40
+ - Automating a step can and should take roughly
41
+ the same amount of time as doing it once manually,
42
+ therefore it's almost always worth it.
43
+ - Working in a "quick and dirty" way can easily become _not quick_ when
44
+ the dirtiness results in mistakes and/or discourages working in small steps.
43
45
 
44
46
  ## Features
45
47
 
46
- - A declarative pipeline that guides users to define an environment
47
- for every stage, so long lists of instructions in a README and
48
- "but it works on my machine" are things of the past.
49
- - A CLI to run the project's pipeline to verify it's reproducible,
50
- regenerating outputs as needed and
51
- ensuring all
52
- computational environments
53
- (e.g., [Conda](https://docs.conda.io/en/latest/),
54
- [Docker](https://docker.com), uv, Julia)
55
- match their specification.
56
- - A schema to store structured metadata describing the
57
- project's important outputs (in its `calkit.yaml` file)
58
- and how they are created
59
- (its computational environments and pipeline).
60
- - A command line interface (CLI) to simplify keeping code, text, and larger
61
- data files backed up in the same project repo using both
62
- [Git](https://git-scm.com/) and [DVC](https://dvc.org/).
48
+ - A simplified [version control](https://docs.calkit.org/version-control)
49
+ interface that unifies Git and DVC (Data Version Control),
50
+ so all materials can be kept in the same project repository.
51
+ This way, code doesn't need to be siloed away from other
52
+ important artifacts like datasets, models, figures, or article PDFs,
53
+ allowing you to work on all parts of a project without hopping around to
54
+ different tools.
55
+ - [Computational environment management](https://docs.calkit.org/environments) with support for many
56
+ languages and environment managers: Conda, Docker, uv, Julia, Renv, and more.
57
+ No need to create and update environments on your own. Calkit will handle
58
+ them as needed.
59
+ - An environment-aware build system or [pipeline](https://docs.calkit.org/pipeline) with
60
+ a simple declarative syntax and
61
+ output caching so you don't need to think about which steps or stages
62
+ need to be rerun after changing any part of the project.
63
+ Simply call `calkit run`.
64
+ Compose your pipeline from many different kinds of stages,
65
+ including simple scripts, commands, Jupyter Notebooks, LaTeX, and more.
63
66
  - A complementary self-hostable and GitHub-integrated
64
- [cloud system](https://github.com/calkit/calkit-cloud)
67
+ [cloud platform](https://github.com/calkit/calkit-cloud)
65
68
  to facilitate backup, collaboration,
66
69
  and sharing throughout the entire research lifecycle.
67
- - [Overleaf integration](https://docs.calkit.org/overleaf/), so code,
68
- data, and LaTeX documents can all live in the same repo and be part of a
69
- single pipeline (no more manual uploads!)
70
+ - [Overleaf integration](https://docs.calkit.org/overleaf/), so
71
+ analysis, visualization, and writing can all stay in sync
72
+ (no more manual uploads!)
73
+ - Support for running on high performance computing (HPC) systems that use
74
+ [SLURM schedulers](https://docs.calkit.org/pipeline/slurm).
75
+ - Support for running with [GitHub Actions](https://docs.calkit.org/tutorials/github-actions).
76
+ - Extensions for doing all of the above graphically in
77
+ [JupyterLab](https://docs.calkit.org/jupyterlab) and
78
+ [VS Code](https://marketplace.visualstudio.com/items?itemName=Calkit.calkit-vscode).
79
+
80
+ <!-- END INCLUDE -->
70
81
 
71
82
  ## Installation
72
83