calkit-python 0.35.1__tar.gz → 0.35.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. {calkit_python-0.35.1 → calkit_python-0.35.2}/PKG-INFO +1 -1
  2. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/main.py +16 -4
  3. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/new.py +15 -0
  4. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/models/core.py +1 -0
  5. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/models/pipeline.py +10 -0
  6. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/environments.md +24 -0
  7. {calkit_python-0.35.1 → calkit_python-0.35.2}/.gitignore +0 -0
  8. {calkit_python-0.35.1 → calkit_python-0.35.2}/.pre-commit-config.yaml +0 -0
  9. {calkit_python-0.35.1 → calkit_python-0.35.2}/.prettierignore +0 -0
  10. {calkit_python-0.35.1 → calkit_python-0.35.2}/.python-version +0 -0
  11. {calkit_python-0.35.1 → calkit_python-0.35.2}/.yarnrc.yml +0 -0
  12. {calkit_python-0.35.1 → calkit_python-0.35.2}/CITATION.cff +0 -0
  13. {calkit_python-0.35.1 → calkit_python-0.35.2}/CODE_OF_CONDUCT.md +0 -0
  14. {calkit_python-0.35.1 → calkit_python-0.35.2}/CONTRIBUTING.md +0 -0
  15. {calkit_python-0.35.1 → calkit_python-0.35.2}/LICENSE +0 -0
  16. {calkit_python-0.35.1 → calkit_python-0.35.2}/Makefile +0 -0
  17. {calkit_python-0.35.1 → calkit_python-0.35.2}/README.md +0 -0
  18. {calkit_python-0.35.1 → calkit_python-0.35.2}/babel.config.js +0 -0
  19. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/__init__.py +0 -0
  20. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/__main__.py +0 -0
  21. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/calc.py +0 -0
  22. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/check.py +0 -0
  23. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/__init__.py +0 -0
  24. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/check.py +0 -0
  25. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/cloud.py +0 -0
  26. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/config.py +0 -0
  27. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/core.py +0 -0
  28. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/describe.py +0 -0
  29. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/import_.py +0 -0
  30. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/latex.py +0 -0
  31. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/list.py +0 -0
  32. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/notebooks.py +0 -0
  33. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/office.py +0 -0
  34. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/overleaf.py +0 -0
  35. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/slurm.py +0 -0
  36. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cli/update.py +0 -0
  37. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/cloud.py +0 -0
  38. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/conda.py +0 -0
  39. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/config.py +0 -0
  40. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/core.py +0 -0
  41. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/datasets.py +0 -0
  42. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/detect.py +0 -0
  43. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/docker.py +0 -0
  44. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/dvc.py +0 -0
  45. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/environments.py +0 -0
  46. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/fs.py +0 -0
  47. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/git.py +0 -0
  48. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/github.py +0 -0
  49. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/gui.py +0 -0
  50. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/invenio.py +0 -0
  51. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/julia.py +0 -0
  52. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/jupyter.py +0 -0
  53. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/jupyterlab/__init__.py +0 -0
  54. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/jupyterlab/routes.py +0 -0
  55. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/package.json +0 -0
  56. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
  57. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/schemas/calkit/plugin.json +0 -0
  58. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/502.9a2c5772a15466e923ef.js +0 -0
  59. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/695.2c41003a452d43d2b358.js +0 -0
  60. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/867.a42a046aa5108f54f8fb.js +0 -0
  61. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/909.651be47ca47390b78a92.js +0 -0
  62. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js +0 -0
  63. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js.LICENSE.txt +0 -0
  64. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/b2f1c3efe70cb539d121.png +0 -0
  65. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/remoteEntry.c091821b3d7f2d287a67.js +0 -0
  66. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/style.js +0 -0
  67. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/labextension/static/third-party-licenses.json +0 -0
  68. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/licenses.py +0 -0
  69. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/magics.py +0 -0
  70. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/matlab.py +0 -0
  71. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/models/__init__.py +0 -0
  72. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/models/io.py +0 -0
  73. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/models/iteration.py +0 -0
  74. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/notebooks.py +0 -0
  75. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/office.py +0 -0
  76. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/ops.py +0 -0
  77. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/overleaf.py +0 -0
  78. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/pipeline.py +0 -0
  79. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/releases.py +0 -0
  80. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/server.py +0 -0
  81. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/__init__.py +0 -0
  82. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/core.py +0 -0
  83. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/__init__.py +0 -0
  84. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/article/paper.tex +0 -0
  85. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/core.py +0 -0
  86. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/jfm/jfm.bst +0 -0
  87. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/jfm/jfm.cls +0 -0
  88. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
  89. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/jfm/paper.tex +0 -0
  90. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/templates/latex/jfm/upmath.sty +0 -0
  91. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/__init__.py +0 -0
  92. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/__init__.py +0 -0
  93. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_check.py +0 -0
  94. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_config.py +0 -0
  95. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_import.py +0 -0
  96. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_latex.py +0 -0
  97. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_list.py +0 -0
  98. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_main.py +0 -0
  99. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_new.py +0 -0
  100. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_notebooks.py +0 -0
  101. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/cli/test_overleaf.py +0 -0
  102. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/jupyterlab/__init__.py +0 -0
  103. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/jupyterlab/test_routes.py +0 -0
  104. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/models/__init__.py +0 -0
  105. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/models/test_iteration.py +0 -0
  106. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/models/test_pipeline.py +0 -0
  107. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_calc.py +0 -0
  108. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_check.py +0 -0
  109. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_conda.py +0 -0
  110. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_core.py +0 -0
  111. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_detect.py +0 -0
  112. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_dvc.py +0 -0
  113. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_environments.py +0 -0
  114. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_fs.py +0 -0
  115. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_git.py +0 -0
  116. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_invenio.py +0 -0
  117. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_julia.py +0 -0
  118. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_jupyter.py +0 -0
  119. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_magics.py +0 -0
  120. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_matlab.py +0 -0
  121. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_notebooks.py +0 -0
  122. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_pipeline.py +0 -0
  123. {calkit_python-0.35.1 → calkit_python-0.35.2}/calkit/tests/test_templates.py +0 -0
  124. {calkit_python-0.35.1 → calkit_python-0.35.2}/conftest.py +0 -0
  125. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/CNAME +0 -0
  126. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/apps.md +0 -0
  127. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/calculations.md +0 -0
  128. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/calkit-yaml.md +0 -0
  129. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/cli-reference.md +0 -0
  130. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/cloud-integration.md +0 -0
  131. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/datasets.md +0 -0
  132. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/dependencies.md +0 -0
  133. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/examples.md +0 -0
  134. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/governance.md +0 -0
  135. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/help.md +0 -0
  136. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/c-to-the-k-white.svg +0 -0
  137. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/calkit-fragmentation-compendium.png +0 -0
  138. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/calkit-no-bg.png +0 -0
  139. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/connect-zenodo.png +0 -0
  140. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/jupyterlab/all-green.png +0 -0
  141. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/jupyterlab/collect-data-stale.png +0 -0
  142. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/jupyterlab/new-env.png +0 -0
  143. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/jupyterlab/new-notebook.png +0 -0
  144. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/jupyterlab/pipeline-badge.png +0 -0
  145. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/jupyterlab-params.png +0 -0
  146. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/plos-osi-code-2024-03.png +0 -0
  147. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/img/vscode-nb-params.png +0 -0
  148. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/index.md +0 -0
  149. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/installation.md +0 -0
  150. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/jupyterlab.md +0 -0
  151. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/local-server.md +0 -0
  152. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/notebooks.md +0 -0
  153. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/overleaf.md +0 -0
  154. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/pipeline/index.md +0 -0
  155. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/pipeline/manual-steps.md +0 -0
  156. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/pipeline/running-and-logging.md +0 -0
  157. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/pipeline/slurm.md +0 -0
  158. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/quickstart.md +0 -0
  159. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/references.md +0 -0
  160. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/releases.md +0 -0
  161. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/reproducibility.md +0 -0
  162. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/adding-latex-pub-docker.md +0 -0
  163. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/conda-envs.md +0 -0
  164. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/existing-project.md +0 -0
  165. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/first-project.md +0 -0
  166. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/github-actions.md +0 -0
  167. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/actions-repo-secrets.png +0 -0
  168. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
  169. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
  170. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
  171. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
  172. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
  173. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
  174. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
  175. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
  176. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
  177. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
  178. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/push.png +0 -0
  179. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
  180. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
  181. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/chart-more-rows.png +0 -0
  182. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/create-project.png +0 -0
  183. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
  184. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/excel-chart.png +0 -0
  185. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/excel-data.png +0 -0
  186. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
  187. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/needs-clone.png +0 -0
  188. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/new-stage.png +0 -0
  189. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
  190. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
  191. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/status-more-rows.png +0 -0
  192. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
  193. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/untracked-data.png +0 -0
  194. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/updated-publication.png +0 -0
  195. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
  196. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/office/workflow-page.png +0 -0
  197. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/clone.png +0 -0
  198. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/create-project.png +0 -0
  199. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
  200. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
  201. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
  202. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/new-token.png +0 -0
  203. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/reclone.png +0 -0
  204. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
  205. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/quick-actions.png +0 -0
  206. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/img/run-proc.png +0 -0
  207. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/index.md +0 -0
  208. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/jupyterlab.md +0 -0
  209. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/latex-codespaces.md +0 -0
  210. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/matlab.md +0 -0
  211. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/notebook-pipeline.md +0 -0
  212. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/office.md +0 -0
  213. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/openfoam.md +0 -0
  214. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/tutorials/procedures.md +0 -0
  215. {calkit_python-0.35.1 → calkit_python-0.35.2}/docs/version-control.md +0 -0
  216. {calkit_python-0.35.1 → calkit_python-0.35.2}/install.json +0 -0
  217. {calkit_python-0.35.1 → calkit_python-0.35.2}/jest.config.js +0 -0
  218. {calkit_python-0.35.1 → calkit_python-0.35.2}/jupyter-config/server-config/calkit.json +0 -0
  219. {calkit_python-0.35.1 → calkit_python-0.35.2}/mkdocs.yml +0 -0
  220. {calkit_python-0.35.1 → calkit_python-0.35.2}/package.json +0 -0
  221. {calkit_python-0.35.1 → calkit_python-0.35.2}/pyproject.toml +0 -0
  222. {calkit_python-0.35.1 → calkit_python-0.35.2}/schema/plugin.json +0 -0
  223. {calkit_python-0.35.1 → calkit_python-0.35.2}/scripts/install.ps1 +0 -0
  224. {calkit_python-0.35.1 → calkit_python-0.35.2}/scripts/install.sh +0 -0
  225. {calkit_python-0.35.1 → calkit_python-0.35.2}/scripts/make-calk9.sh +0 -0
  226. {calkit_python-0.35.1 → calkit_python-0.35.2}/scripts/sync-docs.py +0 -0
  227. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/__tests__/useQueries.spec.ts +0 -0
  228. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/calkit-config.ts +0 -0
  229. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/cell-output-marker.ts +0 -0
  230. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/commit-dialog.tsx +0 -0
  231. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/environment-editor.tsx +0 -0
  232. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/notebook-registration.tsx +0 -0
  233. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/notebook-toolbar.tsx +0 -0
  234. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/pipeline-status-bar.tsx +0 -0
  235. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/project-info-editor.tsx +0 -0
  236. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/sidebar-settings.tsx +0 -0
  237. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/sidebar.tsx +0 -0
  238. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/components/stage-editor.tsx +0 -0
  239. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/feature-flags.ts +0 -0
  240. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/file-browser-menu.ts +0 -0
  241. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/hooks/__tests__/useQueries.test.tsx +0 -0
  242. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/hooks/useQueries.ts +0 -0
  243. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/icons.ts +0 -0
  244. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/index.ts +0 -0
  245. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/io-tracker.ts +0 -0
  246. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/pipeline-state.ts +0 -0
  247. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/queryClient.ts +0 -0
  248. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/request.ts +0 -0
  249. {calkit_python-0.35.1 → calkit_python-0.35.2}/src/shims-mainmenu.d.ts +0 -0
  250. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/base.css +0 -0
  251. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/cell-output-marker.css +0 -0
  252. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/environment-editor.css +0 -0
  253. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/environment-selector.css +0 -0
  254. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/img/calkit-no-bg.png +0 -0
  255. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/index.css +0 -0
  256. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/index.js +0 -0
  257. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/notebook-toolbar.css +0 -0
  258. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/pipeline-status-bar.css +0 -0
  259. {calkit_python-0.35.1 → calkit_python-0.35.2}/style/sidebar.css +0 -0
  260. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/dvc-md5-dir/osx-arm64.txt +0 -0
  261. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/nb-julia.ipynb +0 -0
  262. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/nb-params.ipynb +0 -0
  263. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/nb-subdir.ipynb +0 -0
  264. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/pipeline.ipynb +0 -0
  265. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/script.py +0 -0
  266. {calkit_python-0.35.1 → calkit_python-0.35.2}/test/test-log.log +0 -0
  267. {calkit_python-0.35.1 → calkit_python-0.35.2}/tsconfig.json +0 -0
  268. {calkit_python-0.35.1 → calkit_python-0.35.2}/tsconfig.test.json +0 -0
  269. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/.gitignore +0 -0
  270. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/README.md +0 -0
  271. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/jupyter_server_test_config.py +0 -0
  272. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/package.json +0 -0
  273. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/playwright.config.js +0 -0
  274. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/tests/calkit.spec.ts +0 -0
  275. {calkit_python-0.35.1 → calkit_python-0.35.2}/ui-tests/yarn.lock +0 -0
  276. {calkit_python-0.35.1 → calkit_python-0.35.2}/uv.lock +0 -0
  277. {calkit_python-0.35.1 → calkit_python-0.35.2}/yarn.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: calkit-python
3
- Version: 0.35.1
3
+ Version: 0.35.2
4
4
  Summary: Reproducibility simplified.
5
5
  Project-URL: Homepage, https://calkit.org
6
6
  Project-URL: Issues, https://github.com/calkit/calkit/issues
@@ -1472,6 +1472,12 @@ def run_in_env(
1472
1472
  if env["kind"] == "docker":
1473
1473
  if "image" not in env:
1474
1474
  raise_error("Image must be defined for Docker environments")
1475
+ command_mode = env.get("command_mode", "shell")
1476
+ if command_mode not in ["shell", "entrypoint"]:
1477
+ raise_error(
1478
+ "Invalid Docker environment 'command_mode': "
1479
+ f"{command_mode}; Use 'shell' or 'entrypoint'"
1480
+ )
1475
1481
  if not no_check:
1476
1482
  check_docker_env(
1477
1483
  tag=env["image"],
@@ -1489,7 +1495,6 @@ def run_in_env(
1489
1495
  args=env.get("args", []),
1490
1496
  quiet=not verbose,
1491
1497
  )
1492
- shell_cmd = _to_shell_cmd(cmd)
1493
1498
  docker_cmd = [
1494
1499
  "docker",
1495
1500
  "run",
@@ -1536,10 +1541,17 @@ def run_in_env(
1536
1541
  "-v",
1537
1542
  f"{os.getcwd()}:{docker_wdir_mount}",
1538
1543
  image_name,
1539
- shell,
1540
- "-c",
1541
- shell_cmd,
1542
1544
  ]
1545
+ if command_mode == "shell":
1546
+ shell_cmd = _to_shell_cmd(cmd)
1547
+ docker_cmd += [shell, "-c", shell_cmd]
1548
+ else:
1549
+ if not cmd:
1550
+ raise_error(
1551
+ "No command provided for Docker environment in "
1552
+ "'entrypoint' command mode"
1553
+ )
1554
+ docker_cmd += cmd
1543
1555
  if verbose:
1544
1556
  typer.echo(f"Running command: {docker_cmd}")
1545
1557
  try:
@@ -650,6 +650,17 @@ def new_docker_env(
650
650
  wdir: Annotated[
651
651
  str, typer.Option("--wdir", help="Working directory.")
652
652
  ] = "/work",
653
+ command_mode: Annotated[
654
+ str,
655
+ typer.Option(
656
+ "--command-mode",
657
+ help=(
658
+ "How to execute commands in the container: "
659
+ "'shell' runs shell -c, 'entrypoint' passes args "
660
+ "directly to the image entrypoint."
661
+ ),
662
+ ),
663
+ ] = "shell",
653
664
  user: Annotated[
654
665
  str | None,
655
666
  typer.Option(
@@ -703,6 +714,8 @@ def new_docker_env(
703
714
  )
704
715
  _, project_name = calkit.detect_project_name().split("/")
705
716
  image_name = f"{project_name}-{name}"
717
+ if command_mode not in ["shell", "entrypoint"]:
718
+ raise_error("--command-mode must be one of: shell, entrypoint")
706
719
  repo = git.Repo()
707
720
  if base and path is not None:
708
721
  txt = "FROM " + base + "\n\n"
@@ -746,6 +759,8 @@ def new_docker_env(
746
759
  env["user"] = user
747
760
  if gpus:
748
761
  env["gpus"] = gpus
762
+ if command_mode != "shell":
763
+ env["command_mode"] = command_mode
749
764
  if env_vars:
750
765
  env["env_vars"] = {} # type: ignore
751
766
  for var in env_vars:
@@ -110,6 +110,7 @@ class DockerEnvironment(Environment):
110
110
  image: str
111
111
  layers: list[str] | None = None
112
112
  shell: Literal["bash", "sh"] = "sh"
113
+ command_mode: Literal["shell", "entrypoint"] = "shell"
113
114
  platform: str | None = None
114
115
 
115
116
 
@@ -611,6 +611,15 @@ class DockerCommandStage(Stage):
611
611
  return self.command
612
612
 
613
613
 
614
+ class CommandStage(Stage):
615
+ kind: Literal["command"] = "command"
616
+ command: str
617
+
618
+ @property
619
+ def dvc_cmd(self) -> str:
620
+ return f"{self.xenv_cmd} {self.command}"
621
+
622
+
614
623
  class RScriptStage(Stage):
615
624
  kind: Literal["r-script"]
616
625
  script_path: RelativeChildPathString
@@ -919,6 +928,7 @@ class Pipeline(BaseModel):
919
928
  | ShellCommandStage
920
929
  | ShellScriptStage
921
930
  | DockerCommandStage
931
+ | CommandStage
922
932
  | RScriptStage
923
933
  | WordToPdfStage
924
934
  | JupyterNotebookStage
@@ -173,6 +173,30 @@ You can similarly jump into an interactive `bash` terminal with:
173
173
  calkit xenv -n foam bash
174
174
  ```
175
175
 
176
+ Some Docker images are CLI tools with an image entrypoint already defined
177
+ (for example `minlag/mermaid-cli`).
178
+ In that case, use `command_mode: entrypoint` so Calkit passes your command
179
+ arguments directly to the container entrypoint instead of running
180
+ `shell -c ...`.
181
+
182
+ ```yaml
183
+ # In calkit.yaml
184
+ environments:
185
+ mermaid:
186
+ kind: docker
187
+ image: minlag/mermaid-cli
188
+ wdir: /data
189
+ command_mode: entrypoint
190
+ ```
191
+
192
+ Then execute with:
193
+
194
+ ```sh
195
+ calkit xenv -n mermaid -- \
196
+ -i figures/my-mermaid-diagram.mmd \
197
+ -o figures/my-mermaid-diagram.pdf
198
+ ```
199
+
176
200
  But what if there isn't an image out there that has everything you need
177
201
  already installed into it?
178
202
  In this case, you can define and build a new derived image in the project
File without changes
File without changes
File without changes