calkit-python 0.47.5__tar.gz → 0.47.7__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.
- {calkit_python-0.47.5 → calkit_python-0.47.7}/AGENTS.md +2 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/PKG-INFO +1 -1
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/build-paper-pipeline/SKILL.md +5 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/check-questions/SKILL.md +45 -5
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/latex.py +37 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/list.py +18 -7
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/main/core.py +13 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/sync.py +5 -1
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/models/core.py +93 -6
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/models/pipeline.py +52 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/notebooks.py +5 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/pipeline.py +3 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/questions.py +537 -53
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/main/test_core.py +14 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_check.py +34 -17
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_latex.py +78 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_list.py +12 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_notebooks.py +34 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_sync.py +11 -1
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_questions.py +415 -5
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/cli-reference.md +29 -7
- calkit_python-0.47.7/docs/comparisons.md +426 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/examples.md +15 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/pipeline/index.md +16 -0
- calkit_python-0.47.7/docs/questions.md +288 -0
- {calkit_python-0.47.5/vscode-ext → calkit_python-0.47.7/docs}/schemas/calkit.json +289 -2
- calkit_python-0.47.7/examples/harbor-tb-science/.gitignore +1 -0
- calkit_python-0.47.7/examples/harbor-tb-science/README.md +41 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-authoring/.gitignore +1 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-authoring/authoring/Dockerfile +3 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-authoring/calkit.yaml +157 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-variant/solution/calkit.yaml +41 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-variant/solution/make_design_report.py +55 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-variant/solution/solve.sh +15 -0
- calkit_python-0.47.7/examples/harbor-tb-science/overlay-variant/tests/test_calkit.py +148 -0
- calkit_python-0.47.7/examples/harbor-tb-science/patch_variant.py +60 -0
- calkit_python-0.47.7/examples/harbor-tb-science/setup.sh +31 -0
- calkit_python-0.47.7/examples/harbor-tb-science/tamper.sh +58 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/AGENTS.md +7 -1
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/core.py +188 -48
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/git.py +20 -4
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/models/core.py +30 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_core.py +271 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_git.py +73 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/docker-compose.yml +3 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/index.ts +6 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/schemas.gen.ts +124 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/sdk.gen.ts +43 -8
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/types.gen.ts +96 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/ArtifactCompareModal.tsx +3 -13
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/DeleteAlert.tsx +15 -0
- calkit_python-0.47.7/hub/frontend/src/components/Common/SandboxedHtml.test.tsx +44 -0
- calkit_python-0.47.7/hub/frontend/src/components/Common/SandboxedHtml.tsx +80 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/SidebarItems.tsx +5 -1
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Figures/FigureView.tsx +6 -39
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Notebooks/NotebookView.tsx +3 -18
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Presentations/PresentationView.tsx +5 -9
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/EditQuestion.tsx +92 -3
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/QuestionModal.tsx +113 -7
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/PublicationView.tsx +4 -12
- calkit_python-0.47.7/hub/frontend/src/components/References/FileViewModal.tsx +79 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/ReleaseViewer.tsx +3 -15
- calkit_python-0.47.7/hub/frontend/src/hooks/useRefreshProject.ts +34 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/strings.ts +9 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/files.tsx +13 -5
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/questions.$questionNumber.tsx +1 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout.tsx +12 -1
- calkit_python-0.47.7/images/latex/Dockerfile +126 -0
- calkit_python-0.47.7/images/latex/README.md +112 -0
- calkit_python-0.47.7/images/latex/entrypoint.sh +10 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/mkdocs.yml +1 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/pyproject.toml +4 -3
- {calkit_python-0.47.5/docs → calkit_python-0.47.7/vscode-ext}/schemas/calkit.json +289 -2
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/sidebar.ts +18 -3
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/types.ts +3 -1
- calkit_python-0.47.5/docs/questions.md +0 -138
- calkit_python-0.47.5/hub/frontend/src/components/References/FileViewModal.tsx +0 -44
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.claude-plugin/marketplace.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.dockerignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.gitattributes +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.gitmodules +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.pre-commit-config.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.prettierignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.prettierrc.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.python-version +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.vscode/launch.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/.vscode/tasks.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/CITATION.cff +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/CODE_OF_CONDUCT.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/CONTRIBUTING.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/LICENSE +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/Makefile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/actions/run/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/actions/run/action.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/actions/run/example.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/.claude-plugin/plugin.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/add-pipeline-stage/SKILL.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/check-reproducibility/SKILL.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/conventions/SKILL.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/create-pipeline/SKILL.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/.python-version +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/Makefile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/main.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/pyproject.toml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/resources/icon.ico +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/resources/screenshot.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/tests/test_main.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/assistant/uv.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/options.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/package-lock.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/package.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/popup.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/public/icons/calkit-128.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/public/icons/calkit-16.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/public/icons/calkit-32.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/public/icons/calkit-48.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/public/icons/calkit.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/public/manifest.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/scripts/build-content.mjs +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/scripts/package-manifest.mjs +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/scripts/store-screenshots.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/scripts/watch.mjs +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/background/index.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/content/github.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/content/overleaf.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/content/references.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/api.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/auth.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/calkit-yaml.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/calkit-yaml.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/detect.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/detect.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/hub-url.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/hubs.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/hubs.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/latex.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/latex.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/lifecycle.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/messages.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/messages.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/pickers.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/storage.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/types.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/ui.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/core/ui.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/options/options.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/popup/popup.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/popup/popup.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/src/viewer/viewer.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/tsconfig.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/viewer.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/vite.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/vite.content.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/browser-ext/vitest.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/__main__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/calc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/check.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/config.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/delete.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/describe.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/dev.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/hub.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/import_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/main/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/main/xr.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/new.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/notebooks.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/office.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/overleaf.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/scheduler.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/cli/update.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/conda.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/config.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/datasets.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/dependencies.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/detect.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/docker.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/docx.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/dvc/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/dvc/core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/dvc/zip.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/environments.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/fs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/git.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/github.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/gui.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/hub.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/install.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/invenio.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/julia.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/jupyter.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/jupyterlab/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/jupyterlab/routes.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/package.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/schemas/calkit/plugin.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/506.c34b070098184e33.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/57d13a7399cec3c5.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/616.528427eb54a4a0c0.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/740.6bf87276e9e5788a.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/899.f9b9f9bf705a6493.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/935.46ecc6bf99aa593a.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/remoteEntry.109a3a8379365e59.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/style.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/labextension/static/third-party-licenses.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/latex.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/licenses.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/magics.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/markdown.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/matlab.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/models/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/models/docx.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/models/io.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/models/iteration.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/office.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/ops.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/overleaf.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/procedures.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/provenance.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/releases.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/reproducibility.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/Dockerfile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/base.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/devcontainer.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/scripts/check-envs.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/scripts/post-create.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/scripts/post-start.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/devcontainer/scripts/update-content.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/github-actions/example.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/vscode/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/vscode/extensions.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/resources/vscode/settings.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/schema.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/server.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/article/paper.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/ieee-conference/paper.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/jfm/jfm.bst +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/jfm/jfm.cls +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/jfm/paper.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/jfm/upmath.sty +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/templates/latex/report/paper.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/main/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/main/test_lock.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/main/test_subprojects.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/main/test_xr.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_config.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_delete.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_describe.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_hub.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_import.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_new.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_overleaf.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_scheduler.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/cli/test_update.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/dvc/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/dvc/test_core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/dvc/test_zip.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/jupyterlab/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/jupyterlab/conftest.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/jupyterlab/test_routes.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/models/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/models/test_core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/models/test_iteration.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/models/test_pipeline.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_calc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_conda.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_config.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_dependencies.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_detect.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_docker.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_docs_references.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_docx.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_environments.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_fs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_git.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_hub.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_install.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_invenio.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_julia.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_jupyter.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_keyring_windows.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_licenses.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_magics.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_markdown.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_matlab.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_models.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_notebooks.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_overleaf.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_pipeline.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_procedures.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_provenance.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_releases.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_reproducibility.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_resources.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_schema.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_templates.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/tests/test_workspace.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/calkit/workspace.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/CNAME +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/acknowledgements.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/ai-tools.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/apps.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/browser-ext/index.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/browser-ext/privacy.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/calculations.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/calkit-yaml.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/cloud-integration.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/datasets.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/dev/latex-word.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/environments.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/governance.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/help.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/hpc.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/hub/index.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/hub/self-hosting.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/c-to-the-k-white.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/calkit-fragmentation-compendium.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/calkit-no-bg.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/caltech.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/connect-zenodo.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/jupyterlab/all-green.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/jupyterlab/collect-data-stale.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/jupyterlab/new-env.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/jupyterlab/new-notebook.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/jupyterlab/pipeline-badge.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/jupyterlab-params.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/pipeline.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/plos-osi-code-2024-03.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/schmidt-sciences.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/img/vscode-nb-params.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/index.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/installation.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/jupyterlab.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/latex.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/local-server.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/notebooks.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/overleaf.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/pipeline/manual-steps.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/pipeline/markdown.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/pipeline/running-and-logging.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/privacy.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/provenance.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/quickstart.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/references.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/releases.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/reproducibility.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/requirements.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/subprojects.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/adding-latex-pub-docker.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/ai-agents.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/conda-envs.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/existing-project.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/first-project.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/github-actions.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/actions-repo-secrets.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/push.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/chart-more-rows.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/create-project.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/excel-chart.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/excel-data.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/needs-clone.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/new-stage.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/status-more-rows.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/untracked-data.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/updated-publication.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/office/workflow-page.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/clone.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/create-project.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/new-token.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/reclone.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/quick-actions.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/run-proc.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/create-calkit-env.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/create-inner-env.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/create-new-calkit-env.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/select-calkit-env.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/slurm-job-running.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/slurm-launch-options.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/img/vscode-slurm-notebook/starting-slurm-job.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/index.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/jupyterlab.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/latex-codespaces.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/latex-word.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/matlab.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/notebook-pipeline.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/office.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/openfoam.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/procedures.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/runnable-readme.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/vscode-slurm-notebook.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/tutorials/writing-first.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/docs/version-control.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.calkit/env-locks/py/osx-arm64.txt +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.calkit/env-locks/py/win-64.txt +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.calkit/env-locks/tex/amd64.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.calkit/env-locks/tex/arm64.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.dvc/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.dvc/config +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.dvcignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.gitattributes +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/calkit.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/dvc.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/dvc.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/figures/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/paper/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/paper/figures/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/paper/main.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/paper/methods.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/paper/refs.bib +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/requirements.txt +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/latex-word/scripts/plot-wake.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/jl/Manifest.toml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/jl/Project.toml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/py/.python-version +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/py/pyproject.toml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/py/uv.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/.Rbuildignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/.Rprofile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/DESCRIPTION +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/renv/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/renv/activate.R +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/renv/settings.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.calkit/envs/r/renv.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.dvc/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.dvc/config +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.dvcignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/calkit.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/data/data.csv +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/data/data2.csv +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/dvc.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/dvc.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/figures/data2.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/figures/figure.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown/results/fit.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/.dvc/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/.dvc/config +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/.dvcignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/.python-version +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/calkit.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/dvc.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/dvc.yaml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/figures/waves.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/pyproject.toml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/src/wavetools/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/examples/markdown-python/uv.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/flake.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/flake.nix +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/.env.example +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/.gitattributes +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/.vscode/launch.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/LICENSE +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/Makefile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/.python-version +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/Dockerfile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/Makefile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/alembic.ini +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/README +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/env.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/script.py.mako +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/.keep +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/07c8236476c4_add_fields_to_usertoken.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/10a05eaedfbd_add_dataset_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/1546aa334cd5_make_project_description_nullable.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/1a31ce608336_add_cascade_delete_relationships.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/1fb6e38eb0e9_add_deviceauth_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/208e7457f3ba_add_title_to_project.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/2e7c25a00842_add_is_public_to_project.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/38e178698db2_update_subscription_model_to_use_plan_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/3b1e67e9c318_add_usertoken_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/4dac15c0282a_add_stripe_customer_id_to_user.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/4e1c917fcca4_add_status_columns_to_project_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/5ba89308431f_add_project_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/5d6f8217c890_add_subscriber_user_id_to_org_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/65b2d15cc702_add_github_username_field_to_user.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/697c3c1a8a27_add_git_repo_url_to_project.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/6f3a3afbea8b_add_number_field_to_question.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/7076d9b5c887_use_account_for_project_owner.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/71e1d1e69bbd_add_table_for_storing_user_github_tokens.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/799476973bce_add_created_ts_to_user_github_token_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/7cacee34034c_add_parent_child_relationship_to_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/97762605447f_add_onboarding_flags_and_feedback.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/9c0a54914c78_add_max_length_for_string_varchar_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/9c4f70636d73_add_fields_to_usertoken.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/a333fc5aa994_index_project_folders_synced_with_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/a4af19842927_create_table_to_store_user_zenodo_tokens.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/ab7816be480b_drop_items.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/ac622559475f_save_timestamps_for_github_token_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/af024967630d_lowercase_account_names.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/c1f9a3e27d48_consolidate_comment_tables.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/c46a78ba506c_add_created_column_to_account.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/c4e1d7a92b35_add_analytics_consent_to_user.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/c749b39072d3_add_figurecomment.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/c7c41c3f0d22_add_user_external_credential_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/d01ce914143d_make_question_a_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/d21ed1c9537e_add_zenodo_user_id_column_to_user.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/d3a8021fb433_add_table_for_user_project_access.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/d4e5f6a7b8c9_ghless_membership_and_invitations.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/d6366015af35_add_discount_code_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/d98dd8ec85a3_edit_replace_id_integers_in_all_models_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/dcef842dee10_add_refreshtoken_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/e1b0fa2a6d34_backfill_external_credentials_from_legacy_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/e2412789c190_initialize_models.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/e7671197c00b_add_account_table.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/ed74edb0a9e6_create_table_for_user_overleaf_token.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/edcabfca98df_add_subscription_and_org_membership_.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/f0e23e048b1b_add_fields_to_project.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/f3a9c1b7e240_add_releases_feature.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/f5ad6445ad03_enable_user_project_access_to_be_null.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/alembic/versions/f74a96172dbd_add_table_for_locking_project_files.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/deps.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/main.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/accounts.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/datasets.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/feedback.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/login.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/misc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/orgs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/activity.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/datasets.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/dvc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/figures.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/fs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/pipeline.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/projects/releases.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/references.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/api/routes/users.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/arxiv.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/cache.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/client.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/config.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/db.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/dvc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/build/new_account.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/build/project_invitation.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/build/release_share.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/build/reset_password.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/build/test_email.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/build/verify_email.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/src/new_account.mjml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/src/project_invitation.mjml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/src/release_share.mjml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/src/reset_password.mjml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/src/test_email.mjml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/email-templates/src/verify_email.mjml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/formatting.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/github.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/imports.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/index.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/main.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/messaging.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/mixpanel.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/models/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/models/projects.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/models/releases.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/orgs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/pdftext.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/pipeline.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/projects.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/security.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/storage.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/stripe.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/subscriptions.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tasks.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/__init__.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_activity.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_datasets.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_dvc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_figure_upload.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_figures.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_fs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_misc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_overleaf_links.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_pipeline.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_publications.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_reference_items.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/projects/test_templates.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/test_feedback.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/test_login.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/test_misc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/test_releases.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/api/routes/test_users.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/conftest.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_arxiv.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_cache.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_client.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_core.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_db.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_dvc.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_formatting.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_index.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_mixpanel.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_pdftext.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_pipeline.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_projects.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_tasks.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_users.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/tests/test_version.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/thumbnails.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/users.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/version.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/warm.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/zenodo.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/app/zotero.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/prestart.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/pyproject.toml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/backend-pre-start.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/create-initial-data.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/delete-user.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/format.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/generate-client.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/lint.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/rotate-fernet-secrets.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/scripts/test.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/backend/tests-start.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/alloy/config.alloy +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/grafana/provisioning/dashboards/dashboards.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/grafana/provisioning/dashboards/fastapi.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/grafana/provisioning/dashboards/warm-queue.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/grafana/provisioning/datasources/datasources.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/loki/loki.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/config/prometheus/prometheus.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/docker-compose.override.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/docker-compose.traefik.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/docs/dev/database-migrations.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/docs/dev/deployment.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/docs/dev/development.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/.dockerignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/.nvmrc +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/Dockerfile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/Makefile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/biome.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/index.html +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/modify-openapi-operationids.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/nginx-backend-not-found.conf +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/nginx.conf +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/openapi-ts.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/package-lock.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/package.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/playwright.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/assets/images/c-to-the-k.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/assets/images/calkit-no-bg.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/assets/images/calkit.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/assets/images/fastapi-logo.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/assets/images/favicon.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/assets/images/kdot.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/tex/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/tex/LICENSE-busytex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/tex/busytex.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/tex/busytex.wasm +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/tex/busytex_pipeline.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/public/tex/busytex_worker.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/scripts/download-tex-engine.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/client/client.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/client/index.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/client/types.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/client/utils.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/client.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/auth.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/bodySerializer.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/params.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/pathSerializer.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/queryKeySerializer.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/serverSentEvents.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/types.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/client/core/utils.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Admin/AddUser.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Admin/EditUser.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Admin/FeatureVotesTable.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Admin/FeedbackTable.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/ActionsMenu.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/ClearableInput.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/CodeEditorPane.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/CommentsPanel.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/ConnectGitHubPrompt.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/ConnectZoteroPrompt.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/DiscardChangesDialog.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/FeatureVoteButton.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/FilterableSelect.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/GlobalSearch.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/HelpFeedback.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/InputsRow.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/LoadingSpinner.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Markdown.test.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Markdown.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Mermaid.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Navbar.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/NoArtifactFound.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/NotBuiltAlert.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/NotFound.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/NotificationBell.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/OAuthButtons.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/PageMenu.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/PdfCanvas.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/PdfDocumentViewer.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/ProjectCommandPalette.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/RefPicker.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Sidebar.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/TexText.test.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/TexText.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Tooltip.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/Topbar.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Common/UserMenu.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Datasets/BrowseDatasets.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Datasets/DataEntryGrid.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Datasets/DatasetViewer.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Datasets/NewDataset.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Environments/NewEnvironment.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Environments/ViewEnvironment.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Figures/FigureEditLauncher.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Figures/FigureEditor.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Figures/FigureFromExisting.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Figures/UploadFigure.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Files/EditFileInfo.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Files/FileContent.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Files/FileEditorModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Files/SelectedItemInfo.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Files/UploadFile.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Local/AddPath.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Local/DiscardChanges.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Local/IgnorePath.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Local/NewStage.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Local/SaveFiles.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Notebooks/NotebookRunLauncher.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Notebooks/NotebookRunner.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/AccountSetupCard.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/ChecklistCard.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/CommandBlock.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/FeaturedProjects.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/ProjectChecklist.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/ReproAudit.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/ReproAudit.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Onboarding/StartPaths.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Orgs/AddMember.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Orgs/NewOrg.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Pipeline/PipelineEditorModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Pipeline/StageEditorModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/AddCollaborator.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/CloneProject.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/CreateIssue.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/CreateQuestion.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/EditProject.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/HelpContent.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/InviteLinks.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/MakeProjectPublic.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/NewProjectModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/ProjectShowcase.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/ProjectStatus.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/RecentChanges.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Projects/RecentChanges.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/ImportOverleaf.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/ImportOverleaf.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/LatexEditor.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/NewPublication.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/PdfAnnotator.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/PublicationComponents.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Publications/PublicationComponents.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/DeleteReferenceItemDialog.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/DeleteReferencesCollectionDialog.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/EditReferenceItemModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/ImportFromZoteroModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/LabelExistingReferences.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/NewReferencesCollection.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/ReferenceItemModal.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/References/ReferencesInfoPanel.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/ArtifactReleasesPanel.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/NewRelease.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/PathPicker.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/ReleasePdfAnnotator.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/ReleasesTable.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/ShareDialog.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Releases/releaseSort.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Tables/TableThumbnail.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Tables/TableView.test.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/Tables/TableView.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/Appearance.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/ChangePassword.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/ConnectedAccounts.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/DeleteAccount.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/DeleteConfirmation.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/NewToken.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/OnboardingChecklists.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/PickSubscription.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/Privacy.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/Subscription.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/UpdateOverleafToken.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/UserInformation.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/components/UserSettings/UserTokens.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/hooks/useAuth.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/hooks/useCustomToast.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/hooks/useOnboarding.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/hooks/useProject.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/hooks/useSubmitOnCmdEnter.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/hooks/useSubmitOnCmdEnter.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/analytics.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/analytics.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/api.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/api.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/auth.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/auth.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/bibtex.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/bibtex.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/core.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/csv.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/csv.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/environments.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/environments.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/errors.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/figureScript.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/figureScript.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/fuzzy.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/fuzzy.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/github.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/github.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/google.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/keyboard.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/latexCompiler.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/latexProject.mapPaths.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/latexProject.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/latexProject.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/layout.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/notebook.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/notebook.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/onboarding.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/onboarding.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/pipelineYaml.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/pipelineYaml.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/projectFiles.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/provenance.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/provenance.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/pyodide.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/pyodide.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/releases.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/staleChunks.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/staleChunks.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/strings.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/tables.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/tables.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/tex.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/tex.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/zenodo.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/lib/zotero.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/main.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routeTree.gen.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/__root.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/app.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/apps/$appName.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/apps/index.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/apps.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/collaborators.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/datasets.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/environments.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/figures.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/history.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/index.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/local.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/notebooks.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/pipeline.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/presentations.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/publications.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/references.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/releases.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/software.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/tables.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/$projectName/releases/$releaseName.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/$accountName/index.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/admin.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/datasets.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/index.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/new.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/orgs.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/projects.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout/settings.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/_layout.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/auth/google.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/auth/zenodo.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/auth/zotero.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/checkout.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/join/$token.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/login/device.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/login/index.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/recover-password.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/reset-password.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/signup.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/routes/verify-email.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/theme.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/src/vite-env.d.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/auth.setup.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/figures-pagination.spec.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/login.spec.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/reset-password.spec.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/user-settings.spec.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/utils/mailcatcher.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/utils/random.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tests/utils/user.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tsconfig.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/tsconfig.node.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/vite.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/frontend/vitest.config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/scripts/build-push.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/scripts/build.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/scripts/deploy.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/scripts/pem-to-env.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/scripts/test-local.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/scripts/test.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/texmf-proxy/Dockerfile +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/texmf-proxy/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/hub/texmf-proxy/proxy.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/.yarnrc.yml +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/babel.config.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/install.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/jest.config.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/jupyter-config/server-config/calkit.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/package.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/schema/plugin.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/__tests__/useQueries.spec.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/calkit-config.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/cell-output-marker.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/commit-dialog.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/environment-editor.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/notebook-registration.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/notebook-toolbar.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/pipeline-status-bar.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/project-info-editor.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/sidebar-settings.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/sidebar.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/components/stage-editor.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/feature-flags.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/file-browser-menu.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/hooks/__tests__/useQueries.test.tsx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/hooks/useQueries.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/icons.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/index.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/io-tracker.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/pipeline-state.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/queryClient.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/request.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/src/shims-mainmenu.d.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/base.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/cell-output-marker.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/environment-editor.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/environment-selector.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/img/calkit-no-bg.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/index.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/index.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/notebook-toolbar.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/pipeline-status-bar.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/style/sidebar.css +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/tsconfig.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/tsconfig.test.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/jupyter_server_test_config.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/package.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/playwright.config.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/tests/calkit.spec.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/ui-tests/yarn.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/jupyterlab-ext/yarn.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/generate-docs-references.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/install.ps1 +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/install.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/list-changes.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/make-ck9.sh +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/sync-docs.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/scripts/sync-resources.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/accepted.docx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/export.docx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/main.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/methods.tex +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/resolved.docx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/returned.docx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/docx/word-import.docx +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/dvc-md5-dir/osx-arm64.txt +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/nb-julia.ipynb +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/nb-params.ipynb +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/nb-subdir.ipynb +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/pipeline.ipynb +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/script.py +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/test/test-log.log +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/uv.lock +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/.gitignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/.vscodeignore +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/LICENSE +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/README.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/changelog-notes.md +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/images/calkit-icon.svg +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/images/calkit-no-bg.png +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/package-lock.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/package.json +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/scripts/gen-changelog.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/scripts/set-proposed-api.js +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/environments.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/extension.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/figures/core.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/figures/view.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/markdown/core.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/markdown/view.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/notebooks.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/pipeline/core.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/environments.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/figures.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/kernel-selection.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/markdown.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/notebooks.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/pipeline.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/sidebar.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/test/yaml.test.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/src/yaml.ts +0 -0
- {calkit_python-0.47.5 → calkit_python-0.47.7}/vscode-ext/tsconfig.json +0 -0
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
- The Chrome extension lives in `browser-ext`
|
|
9
9
|
- The Calkit Assistant desktop app lives in `assistant`
|
|
10
10
|
- GitHub Actions live in `actions`, e.g., `calkit/calkit/actions/run`
|
|
11
|
+
- Docker images we publish live in `images`, e.g., `images/latex`, which
|
|
12
|
+
is released on its own `latex-image/vX.Y.Z` tag rather than with the CLI
|
|
11
13
|
- Config Calkit installs into projects, e.g., the dev container, VS Code, and
|
|
12
14
|
GitHub Actions configs, lives in `calkit/resources`; see the README there
|
|
13
15
|
before editing, since some of those files are generated
|
{calkit_python-0.47.5 → calkit_python-0.47.7}/agent-plugin/skills/build-paper-pipeline/SKILL.md
RENAMED
|
@@ -84,8 +84,11 @@ building a pipeline from scratch.
|
|
|
84
84
|
`calkit.yaml`: the `question` as the paper poses it, the `answer` as the
|
|
85
85
|
paper states it with `{name}` placeholders where numbers go, and
|
|
86
86
|
`evidence` naming the results file and key, the figure, and the
|
|
87
|
-
publication section that carries the argument.
|
|
88
|
-
|
|
87
|
+
publication section that carries the argument. The results file must be
|
|
88
|
+
one a stage from step 3 writes, never one written by hand. Where the
|
|
89
|
+
claim hinges on a threshold, write a conditional answer; the
|
|
90
|
+
`check-questions` skill covers both. Run `calkit check questions` and
|
|
91
|
+
fix what it reports.
|
|
89
92
|
|
|
90
93
|
6. **Run the pipeline, then check your own work.** Run `calkit run`, then
|
|
91
94
|
`calkit check repro`, which reads the manuscript back and reports any
|
|
@@ -21,12 +21,17 @@ Deterministic, done by `calkit check questions` — never re-derive by hand:
|
|
|
21
21
|
- every evidence path exists;
|
|
22
22
|
- every `value` key resolves in its file, and every `{name}` placeholder in
|
|
23
23
|
the prose resolves and formats;
|
|
24
|
+
- every clause of a conditional answer parses, names only evidence, and
|
|
25
|
+
renders, including the clauses the current values don't select;
|
|
24
26
|
- every publication `label` still exists in the LaTeX source;
|
|
25
27
|
- no evidence has changed (Git history for Git-tracked outputs, `dvc.lock`
|
|
26
28
|
for DVC-tracked ones) since the commit that last edited the question;
|
|
27
|
-
- each
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
- each `value` entry reads a file a pipeline stage produces, or one
|
|
30
|
+
declared with `imported_from`; anything else is an error, since a number
|
|
31
|
+
nothing computes is a magic number;
|
|
32
|
+
- each other evidence path is produced by a pipeline stage, or declared
|
|
33
|
+
with `imported_from` or `created_by`. This one is advisory: it is
|
|
34
|
+
reported as `unattributed` and does not fail the check.
|
|
30
35
|
|
|
31
36
|
Judgment, done here — the check reads paths and hashes, and cannot read a
|
|
32
37
|
sentence:
|
|
@@ -35,6 +40,8 @@ sentence:
|
|
|
35
40
|
this skill exists;
|
|
36
41
|
- does the answer still follow from the evidence, given what changed;
|
|
37
42
|
- are numbers retyped into the prose that should be `{name}` placeholders;
|
|
43
|
+
- does a claim resting on a threshold use a conditional answer, with a
|
|
44
|
+
threshold chosen before the value was known;
|
|
38
45
|
- is the answer concise, and does it point at the publication section that
|
|
39
46
|
carries the argument rather than repeating it.
|
|
40
47
|
|
|
@@ -104,7 +111,8 @@ evidence without showing them both.
|
|
|
104
111
|
from. If a stage should produce it, that is a pipeline gap worth
|
|
105
112
|
reporting. If it was imported or made by hand, declare it under
|
|
106
113
|
`figures`, `datasets`, or `publications` with `imported_from` or
|
|
107
|
-
`created_by` so the project says so.
|
|
114
|
+
`created_by` so the project says so. A `value` entry with no stage is
|
|
115
|
+
reported as an error rather than `unattributed`: give it a stage.
|
|
108
116
|
4. For each **error**, fix the reference: a missing path means the pipeline
|
|
109
117
|
has not been run or pulled; a bad key or placeholder means a results
|
|
110
118
|
file was restructured; a missing label means the publication was
|
|
@@ -127,7 +135,39 @@ project, not a tidy-up.
|
|
|
127
135
|
- One claim per question, two to four sentences. Say what was found and
|
|
128
136
|
what it means; leave the reasoning to the publication.
|
|
129
137
|
- Numbers come from `value` evidence via placeholders, formatted to the
|
|
130
|
-
precision the claim needs: `{ratio:.1f}x`, `{error:.0%}`.
|
|
138
|
+
precision the claim needs: `{ratio:.1f}x`, `{error:.0%}`. When several
|
|
139
|
+
come from one file, e.g., the outputs of one calculation, name them
|
|
140
|
+
together in one `result` entry's `values`, a map of name to key.
|
|
141
|
+
- A `value` entry must read a file a pipeline stage writes. A placeholder
|
|
142
|
+
over a results file written by hand, including one you write, is a
|
|
143
|
+
retyped number with extra steps, and the check fails it. If no stage
|
|
144
|
+
produces the number, add one (`/calkit:add-pipeline-stage`) instead of
|
|
145
|
+
writing the file. Never declare a file `imported_from` or `created_by`
|
|
146
|
+
to clear that error unless it really came from there, and never edit a
|
|
147
|
+
results file to change what an answer says.
|
|
148
|
+
- When the claim itself depends on a value, not just the number in it,
|
|
149
|
+
e.g., significant or not, which method wins, write a conditional answer
|
|
150
|
+
so the wording follows the evidence on a rerun:
|
|
151
|
+
|
|
152
|
+
```yaml
|
|
153
|
+
answer:
|
|
154
|
+
if p < 0.05: "The closure cuts error by {improvement:.1f}x."
|
|
155
|
+
else: "The closure does not measurably reduce error."
|
|
156
|
+
evidence:
|
|
157
|
+
- kind: result
|
|
158
|
+
path: results/closure.json
|
|
159
|
+
values:
|
|
160
|
+
p: p-value
|
|
161
|
+
improvement: improvement
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Conditions use the names of values, so those names must be valid Python
|
|
165
|
+
identifiers. Every branch must be a
|
|
166
|
+
claim the evidence would support if it held. The threshold is part of
|
|
167
|
+
the claim: take it from the field's convention or the user, never pick
|
|
168
|
+
it to make the current branch hold, and don't use branches to hedge a
|
|
169
|
+
claim that should simply be weakened.
|
|
170
|
+
|
|
131
171
|
- Point at the publication with a `publication` evidence entry carrying
|
|
132
172
|
`section` (for the reader) and `label` (for the check), instead of an
|
|
133
173
|
`explanation` that restates the argument.
|
|
@@ -137,6 +137,43 @@ def from_json(
|
|
|
137
137
|
json2latex.dump(cmd_name, formatted, f)
|
|
138
138
|
|
|
139
139
|
|
|
140
|
+
@latex_app.command(name="from-questions")
|
|
141
|
+
def from_questions(
|
|
142
|
+
output_fpaths: Annotated[
|
|
143
|
+
list[str],
|
|
144
|
+
typer.Option("--output", "-o", help="Output LaTeX file path(s)."),
|
|
145
|
+
],
|
|
146
|
+
command_name: Annotated[
|
|
147
|
+
str,
|
|
148
|
+
typer.Option("--command", help="Command name to use in LaTeX output."),
|
|
149
|
+
] = "questions",
|
|
150
|
+
) -> None:
|
|
151
|
+
"""Write the project's questions and answers as a LaTeX command.
|
|
152
|
+
|
|
153
|
+
Each question's text, hypothesis, answer, and notes are rendered from
|
|
154
|
+
their evidence and exposed as, e.g., ``\\questions[staging.answer]``,
|
|
155
|
+
keyed by the question's ``name`` or its 1-based position.
|
|
156
|
+
"""
|
|
157
|
+
import json2latex
|
|
158
|
+
|
|
159
|
+
import calkit.questions
|
|
160
|
+
|
|
161
|
+
for out_path in output_fpaths:
|
|
162
|
+
if not out_path.endswith(".tex"):
|
|
163
|
+
raise_error("Output file must be a .tex file")
|
|
164
|
+
ck_info = calkit.load_calkit_info()
|
|
165
|
+
try:
|
|
166
|
+
values = calkit.questions.latex_values(ck_info)
|
|
167
|
+
except ValueError as e:
|
|
168
|
+
raise_error(str(e))
|
|
169
|
+
for out_path in output_fpaths:
|
|
170
|
+
outdir = os.path.dirname(out_path)
|
|
171
|
+
if outdir:
|
|
172
|
+
os.makedirs(outdir, exist_ok=True)
|
|
173
|
+
with open(out_path, "w") as f:
|
|
174
|
+
json2latex.dump(command_name, values, f)
|
|
175
|
+
|
|
176
|
+
|
|
140
177
|
def _tex_cmd(
|
|
141
178
|
tex_cmd: list[str],
|
|
142
179
|
environment: str | None,
|
|
@@ -197,7 +197,10 @@ def _echo_question(n: int, question: str | dict) -> None:
|
|
|
197
197
|
question = dict(question)
|
|
198
198
|
text = question.pop("question", "")
|
|
199
199
|
typer.echo(f"{n}. question: {text}")
|
|
200
|
+
# Rendering fills every field, so leave out the ones that aren't set
|
|
200
201
|
for k, v in question.items():
|
|
202
|
+
if v is None:
|
|
203
|
+
continue
|
|
201
204
|
if isinstance(v, dict):
|
|
202
205
|
typer.echo(f" {k}:")
|
|
203
206
|
for k1, v1 in v.items():
|
|
@@ -206,11 +209,17 @@ def _echo_question(n: int, question: str | dict) -> None:
|
|
|
206
209
|
typer.echo(f" {k}:")
|
|
207
210
|
for item in v:
|
|
208
211
|
if isinstance(item, dict):
|
|
212
|
+
item = {
|
|
213
|
+
k1: v1 for k1, v1 in item.items() if v1 is not None
|
|
214
|
+
}
|
|
209
215
|
for n1, (k1, v1) in enumerate(item.items()):
|
|
210
|
-
if n1 == 0
|
|
211
|
-
|
|
216
|
+
prefix = " - " if n1 == 0 else " "
|
|
217
|
+
if isinstance(v1, dict):
|
|
218
|
+
typer.echo(f"{prefix}{k1}:")
|
|
219
|
+
for k2, v2 in v1.items():
|
|
220
|
+
typer.echo(f" {k2}: {v2}")
|
|
212
221
|
else:
|
|
213
|
-
typer.echo(f"
|
|
222
|
+
typer.echo(f"{prefix}{k1}: {v1}")
|
|
214
223
|
else:
|
|
215
224
|
typer.echo(f" - {item}")
|
|
216
225
|
else:
|
|
@@ -243,7 +252,7 @@ def list_questions(
|
|
|
243
252
|
render_question,
|
|
244
253
|
)
|
|
245
254
|
|
|
246
|
-
def _texts(question: dict) -> list[str]:
|
|
255
|
+
def _texts(question: dict) -> list[str | dict]:
|
|
247
256
|
evidence = question.get("evidence") or []
|
|
248
257
|
return [question.get(f) or "" for f in TEMPLATED_FIELDS] + [
|
|
249
258
|
ev.get("explanation") or ""
|
|
@@ -260,16 +269,18 @@ def list_questions(
|
|
|
260
269
|
# let a fresh clone read as a project that types its braces. Any
|
|
261
270
|
# placeholder left standing counts, whether it names evidence that
|
|
262
271
|
# could not be read or names nothing at all: a brace meant to stay
|
|
263
|
-
# in the text is written '{{' and never reaches here.
|
|
272
|
+
# in the text is written '{{' and never reaches here. A conditional
|
|
273
|
+
# answer still in clauses is one whose conditions could not be read.
|
|
264
274
|
unfilled = any(
|
|
265
|
-
placeholders(text)
|
|
275
|
+
isinstance(text, dict) or placeholders(text)
|
|
266
276
|
for q in rendered
|
|
267
277
|
if isinstance(q, dict)
|
|
268
278
|
for text in _texts(q)
|
|
269
279
|
)
|
|
270
280
|
if unfilled:
|
|
271
281
|
warn(
|
|
272
|
-
"Some placeholders could not be filled from
|
|
282
|
+
"Some placeholders or conditions could not be filled from "
|
|
283
|
+
"the evidence. "
|
|
273
284
|
"Run 'calkit check questions' to see why; 'calkit pull' if "
|
|
274
285
|
"the results files are not here yet.",
|
|
275
286
|
err=json_output,
|
|
@@ -684,10 +684,16 @@ def get_status(
|
|
|
684
684
|
typer.echo()
|
|
685
685
|
if "dvc" in categories:
|
|
686
686
|
print_sep("DVC")
|
|
687
|
+
from dvc.exceptions import NotDvcRepoError
|
|
688
|
+
|
|
687
689
|
try:
|
|
688
690
|
calkit.dvc.get_dvc_repo()
|
|
689
|
-
except
|
|
691
|
+
except NotDvcRepoError:
|
|
690
692
|
typer.echo("This is not a DVC repository.\n")
|
|
693
|
+
except Exception as e:
|
|
694
|
+
typer.echo(
|
|
695
|
+
f"Failed to open DVC repo: {e.__class__.__name__}: {e}\n"
|
|
696
|
+
)
|
|
691
697
|
else:
|
|
692
698
|
zip_path_map = calkit.dvc.zip.get_zip_path_map()
|
|
693
699
|
dvc_repo = calkit.dvc.get_dvc_repo()
|
|
@@ -2699,14 +2705,19 @@ def run(
|
|
|
2699
2705
|
os.environ.pop("CALKIT_PIPELINE_RUNNING", None)
|
|
2700
2706
|
raise_error(f"Pipeline compilation failed: {e}")
|
|
2701
2707
|
# Initialize DVC repo if necessary
|
|
2708
|
+
from dvc.exceptions import NotDvcRepoError
|
|
2709
|
+
|
|
2702
2710
|
try:
|
|
2703
2711
|
calkit.dvc.get_dvc_repo()
|
|
2704
|
-
except
|
|
2712
|
+
except NotDvcRepoError:
|
|
2705
2713
|
if not quiet:
|
|
2706
2714
|
typer.echo("Initializing DVC repo")
|
|
2707
2715
|
result = calkit.dvc.init()
|
|
2708
2716
|
if result != 0:
|
|
2709
2717
|
raise_error("Failed to initialize DVC repo")
|
|
2718
|
+
except Exception as e:
|
|
2719
|
+
# E.g., DVC's site cache dir isn't writable, which 'dvc init' can't fix
|
|
2720
|
+
raise_error(f"Failed to open DVC repo: {e.__class__.__name__}: {e}")
|
|
2710
2721
|
# Convert deps into target stage names
|
|
2711
2722
|
# TODO: This could probably be merged back upstream into DVC
|
|
2712
2723
|
if dvc_stages is None:
|
|
@@ -39,12 +39,16 @@ def sync_dvc(
|
|
|
39
39
|
no_check_auth: Annotated[bool, typer.Option("--no-check-auth")] = False,
|
|
40
40
|
) -> None:
|
|
41
41
|
"""Sync the DVC repository by pulling and then pushing."""
|
|
42
|
+
from dvc.exceptions import NotDvcRepoError
|
|
43
|
+
|
|
42
44
|
from calkit.cli.main.core import pull, push
|
|
43
45
|
|
|
44
46
|
try:
|
|
45
47
|
calkit.dvc.get_dvc_repo()
|
|
46
|
-
except
|
|
48
|
+
except NotDvcRepoError:
|
|
47
49
|
raise_error("No DVC repository found. Run 'calkit init' first.")
|
|
50
|
+
except Exception as e:
|
|
51
|
+
raise_error(f"Failed to open DVC repo: {e.__class__.__name__}: {e}")
|
|
48
52
|
if not calkit.dvc.get_remotes():
|
|
49
53
|
raise_error(
|
|
50
54
|
"No DVC remotes configured. Add a remote with "
|
|
@@ -1703,8 +1703,12 @@ class FigureEvidence(BaseModel):
|
|
|
1703
1703
|
|
|
1704
1704
|
class ResultsEvidence(BaseModel):
|
|
1705
1705
|
"""Evidence in the form of a results file: a set of values, a table, a
|
|
1706
|
-
map, whatever the pipeline wrote.
|
|
1707
|
-
|
|
1706
|
+
map, whatever the pipeline wrote.
|
|
1707
|
+
|
|
1708
|
+
``values`` names related values within it, like the fields of a struct
|
|
1709
|
+
or object,
|
|
1710
|
+
so each can be templated into the answer as ``value`` evidence would be
|
|
1711
|
+
without an entry per value.
|
|
1708
1712
|
"""
|
|
1709
1713
|
|
|
1710
1714
|
kind: Literal["result"] = "result"
|
|
@@ -1716,6 +1720,14 @@ class ResultsEvidence(BaseModel):
|
|
|
1716
1720
|
"results file."
|
|
1717
1721
|
),
|
|
1718
1722
|
)
|
|
1723
|
+
values: dict[str, str] | None = Field(
|
|
1724
|
+
default=None,
|
|
1725
|
+
description=(
|
|
1726
|
+
"Values within the results file, mapping each name, under which "
|
|
1727
|
+
"it can be templated into the question's text, to its key. Names "
|
|
1728
|
+
"must be unique within the question."
|
|
1729
|
+
),
|
|
1730
|
+
)
|
|
1719
1731
|
explanation: str | None = None
|
|
1720
1732
|
git_ref: str | None = Field(
|
|
1721
1733
|
default=None,
|
|
@@ -1725,11 +1737,17 @@ class ResultsEvidence(BaseModel):
|
|
|
1725
1737
|
),
|
|
1726
1738
|
)
|
|
1727
1739
|
|
|
1740
|
+
@model_validator(mode="after")
|
|
1741
|
+
def _key_or_values(self) -> ResultsEvidence:
|
|
1742
|
+
if self.key is not None and self.values is not None:
|
|
1743
|
+
raise ValueError("a result takes 'values' or 'key', not both")
|
|
1744
|
+
return self
|
|
1745
|
+
|
|
1728
1746
|
|
|
1729
1747
|
_KEY_DESCRIPTION = (
|
|
1730
|
-
"Key of the value within the results file.
|
|
1731
|
-
"
|
|
1732
|
-
"
|
|
1748
|
+
"Key of the value within the results file. It is split on dots and "
|
|
1749
|
+
"walked into nested objects, taking the longest run of parts that names "
|
|
1750
|
+
"a key at each level, with integers indexing lists."
|
|
1733
1751
|
)
|
|
1734
1752
|
|
|
1735
1753
|
|
|
@@ -1817,6 +1835,34 @@ class PublicationEvidence(BaseModel):
|
|
|
1817
1835
|
)
|
|
1818
1836
|
|
|
1819
1837
|
|
|
1838
|
+
class DocumentEvidence(BaseModel):
|
|
1839
|
+
"""Evidence in the form of a document cited by path, e.g., a Markdown
|
|
1840
|
+
write-up, without declaring it as a publication.
|
|
1841
|
+
|
|
1842
|
+
The document must be built by a pipeline stage, usually a Markdown
|
|
1843
|
+
stage, so its numbers are injected from the results and go stale with
|
|
1844
|
+
them; one written by hand is an error, like a typed-in value.
|
|
1845
|
+
"""
|
|
1846
|
+
|
|
1847
|
+
kind: Literal["document"] = "document"
|
|
1848
|
+
path: str
|
|
1849
|
+
section: str | None = Field(
|
|
1850
|
+
default=None,
|
|
1851
|
+
description=(
|
|
1852
|
+
"Section of the document where the evidence is presented, as a "
|
|
1853
|
+
"reader would find it, e.g., '4.2' or 'Results'."
|
|
1854
|
+
),
|
|
1855
|
+
)
|
|
1856
|
+
explanation: str | None = None
|
|
1857
|
+
git_ref: str | None = Field(
|
|
1858
|
+
default=None,
|
|
1859
|
+
description=(
|
|
1860
|
+
"Git reference (branch, tag, or commit hash) pointing to the "
|
|
1861
|
+
"version of the repository where the document can be found."
|
|
1862
|
+
),
|
|
1863
|
+
)
|
|
1864
|
+
|
|
1865
|
+
|
|
1820
1866
|
class Question(BaseModel):
|
|
1821
1867
|
"""A question the project hopes to answer.
|
|
1822
1868
|
|
|
@@ -1839,9 +1885,26 @@ class Question(BaseModel):
|
|
|
1839
1885
|
new evidence is how to say it still holds.
|
|
1840
1886
|
"""
|
|
1841
1887
|
|
|
1888
|
+
name: str | None = Field(
|
|
1889
|
+
default=None,
|
|
1890
|
+
description=(
|
|
1891
|
+
"Name for the question, e.g., for quoting its answer in a "
|
|
1892
|
+
"document through 'calkit latex from-questions'. Unlike its "
|
|
1893
|
+
"position in the list, it survives questions being added or "
|
|
1894
|
+
"reordered. Must be unique among the project's questions."
|
|
1895
|
+
),
|
|
1896
|
+
)
|
|
1842
1897
|
question: str
|
|
1843
1898
|
hypothesis: str | None = None
|
|
1844
|
-
answer: str | None =
|
|
1899
|
+
answer: str | dict[str, str] | None = Field(
|
|
1900
|
+
default=None,
|
|
1901
|
+
description=(
|
|
1902
|
+
"The claim the evidence supports. A mapping keyed by 'if "
|
|
1903
|
+
"<condition>', 'elif <condition>' and 'else' picks its wording "
|
|
1904
|
+
"from the evidence, so an answer resting on a threshold states "
|
|
1905
|
+
"the other outcome instead of going stale when a value moves."
|
|
1906
|
+
),
|
|
1907
|
+
)
|
|
1845
1908
|
notes: str | None = Field(
|
|
1846
1909
|
default=None,
|
|
1847
1910
|
description=(
|
|
@@ -1858,10 +1921,23 @@ class Question(BaseModel):
|
|
|
1858
1921
|
| ValueEvidence
|
|
1859
1922
|
| TableEvidence
|
|
1860
1923
|
| PublicationEvidence
|
|
1924
|
+
| DocumentEvidence
|
|
1861
1925
|
]
|
|
1862
1926
|
| None
|
|
1863
1927
|
) = None
|
|
1864
1928
|
|
|
1929
|
+
@field_validator("name")
|
|
1930
|
+
@classmethod
|
|
1931
|
+
def check_name_not_a_position(cls, v: str | None) -> str | None:
|
|
1932
|
+
# A question is also addressable by its position, so an all-digit
|
|
1933
|
+
# name would be ambiguous with some other question's number
|
|
1934
|
+
if v is not None and v.isdigit():
|
|
1935
|
+
raise ValueError(
|
|
1936
|
+
f"Question name {v!r} can't be a number, since questions "
|
|
1937
|
+
"are also addressed by position"
|
|
1938
|
+
)
|
|
1939
|
+
return v
|
|
1940
|
+
|
|
1865
1941
|
|
|
1866
1942
|
class ProjectInfo(BaseModel):
|
|
1867
1943
|
"""All of the project's information or metadata, written to the
|
|
@@ -2066,3 +2142,14 @@ class ProjectInfo(BaseModel):
|
|
|
2066
2142
|
description="Overleaf sync configuration, keyed by the path of the "
|
|
2067
2143
|
"synced directory.",
|
|
2068
2144
|
)
|
|
2145
|
+
|
|
2146
|
+
@field_validator("questions")
|
|
2147
|
+
@classmethod
|
|
2148
|
+
def check_question_names_unique(
|
|
2149
|
+
cls, v: list[str | Question]
|
|
2150
|
+
) -> list[str | Question]:
|
|
2151
|
+
names = [q.name for q in v if isinstance(q, Question) and q.name]
|
|
2152
|
+
dupes = sorted({n for n in names if names.count(n) > 1})
|
|
2153
|
+
if dupes:
|
|
2154
|
+
raise ValueError(f"Question names must be unique: {dupes}")
|
|
2155
|
+
return v
|
|
@@ -254,6 +254,7 @@ class Stage(BaseModel):
|
|
|
254
254
|
"marimo-html-wasm",
|
|
255
255
|
"markdown",
|
|
256
256
|
"procedure",
|
|
257
|
+
"questions-to-latex",
|
|
257
258
|
] = Field(description="What kind of stage this is.")
|
|
258
259
|
environment: str = Field(
|
|
259
260
|
description="Name of the environment in which to run this stage."
|
|
@@ -1343,6 +1344,56 @@ class JsonToLatexStage(Stage):
|
|
|
1343
1344
|
return outs
|
|
1344
1345
|
|
|
1345
1346
|
|
|
1347
|
+
class QuestionsToLatexStage(Stage):
|
|
1348
|
+
"""The project's questions and answers, rendered for a LaTeX document.
|
|
1349
|
+
|
|
1350
|
+
Its inputs are ``calkit.yaml`` and every file the questions cite as
|
|
1351
|
+
evidence, added when the pipeline is compiled, so the output reruns
|
|
1352
|
+
when an answer or a value it reads changes.
|
|
1353
|
+
"""
|
|
1354
|
+
|
|
1355
|
+
kind: Literal["questions-to-latex"] = "questions-to-latex"
|
|
1356
|
+
environment: str = "_system"
|
|
1357
|
+
command_name: str = Field(
|
|
1358
|
+
default="questions",
|
|
1359
|
+
description=(
|
|
1360
|
+
"Name of the LaTeX command the document quotes questions "
|
|
1361
|
+
"through, e.g., 'questions' for \\questions[staging.answer]."
|
|
1362
|
+
),
|
|
1363
|
+
)
|
|
1364
|
+
wdir: None = Field(
|
|
1365
|
+
default=None,
|
|
1366
|
+
description="Not supported; the stage reads the project's "
|
|
1367
|
+
"calkit.yaml and evidence from the project root.",
|
|
1368
|
+
)
|
|
1369
|
+
|
|
1370
|
+
@property
|
|
1371
|
+
def dvc_cmd(self) -> str:
|
|
1372
|
+
cmd = "calkit latex from-questions"
|
|
1373
|
+
for out in self.outputs:
|
|
1374
|
+
out_path = out if isinstance(out, str) else out.path
|
|
1375
|
+
cmd += f" --output {shlex.quote(out_path)}"
|
|
1376
|
+
return cmd + f" --command {shlex.quote(self.command_name)}"
|
|
1377
|
+
|
|
1378
|
+
@property
|
|
1379
|
+
def dvc_outs(self) -> list[str | dict]:
|
|
1380
|
+
"""Stored with Git by default, like other generated LaTeX."""
|
|
1381
|
+
outs: list[str | dict] = []
|
|
1382
|
+
for out in self.outputs:
|
|
1383
|
+
if isinstance(out, str):
|
|
1384
|
+
outs.append({out: dict(cache=False, persist=False)})
|
|
1385
|
+
elif isinstance(out, PathOutput):
|
|
1386
|
+
outs.append(
|
|
1387
|
+
{
|
|
1388
|
+
out.path: dict(
|
|
1389
|
+
cache=out.storage == "dvc",
|
|
1390
|
+
persist=not out.delete_before_run,
|
|
1391
|
+
)
|
|
1392
|
+
}
|
|
1393
|
+
)
|
|
1394
|
+
return outs
|
|
1395
|
+
|
|
1396
|
+
|
|
1346
1397
|
class MatlabScriptStage(Stage):
|
|
1347
1398
|
kind: Literal["matlab-script"]
|
|
1348
1399
|
script_path: RelativeChildPathString = Field(
|
|
@@ -2096,6 +2147,7 @@ class Pipeline(BaseModel):
|
|
|
2096
2147
|
| LatexStage
|
|
2097
2148
|
| QuartoStage
|
|
2098
2149
|
| JsonToLatexStage
|
|
2150
|
+
| QuestionsToLatexStage
|
|
2099
2151
|
| MatlabScriptStage
|
|
2100
2152
|
| MatlabCommandStage
|
|
2101
2153
|
| ShellCommandStage
|
|
@@ -96,6 +96,11 @@ def clean_notebook(nb: dict) -> dict:
|
|
|
96
96
|
if cell.get("cell_type") == "code":
|
|
97
97
|
cell["outputs"] = []
|
|
98
98
|
cell["execution_count"] = None
|
|
99
|
+
# Cell IDs are editor residue, and nbstripout rewrites them to
|
|
100
|
+
# ordinals. Keeping them would make the cleaned copy depend on whether
|
|
101
|
+
# the source had been through a clean filter, which differs between a
|
|
102
|
+
# working tree and a fresh clone of the same commit.
|
|
103
|
+
cell.pop("id", None)
|
|
99
104
|
# Clean metadata but keep tags
|
|
100
105
|
if "tags" in cell.get("metadata", {}):
|
|
101
106
|
cell["metadata"] = {"tags": cell["metadata"]["tags"]}
|
|
@@ -1634,6 +1634,7 @@ def to_dvc(
|
|
|
1634
1634
|
"""
|
|
1635
1635
|
import calkit.dvc.zip
|
|
1636
1636
|
import calkit.markdown
|
|
1637
|
+
import calkit.questions
|
|
1637
1638
|
from calkit.environments import get_env_input_paths, get_env_lock_fpath
|
|
1638
1639
|
|
|
1639
1640
|
if ck_info is None:
|
|
@@ -1645,6 +1646,8 @@ def to_dvc(
|
|
|
1645
1646
|
# options and iteration need no knowledge of Markdown.
|
|
1646
1647
|
markdown = calkit.markdown.expand_ck_info(ck_info, wdir=wdir)
|
|
1647
1648
|
ck_info = markdown.ck_info
|
|
1649
|
+
# Likewise give questions-to-latex stages the evidence they read
|
|
1650
|
+
ck_info = calkit.questions.expand_questions_stages(ck_info)
|
|
1648
1651
|
if write and markdown.environments:
|
|
1649
1652
|
_write_markdown_environments(markdown, wdir=wdir)
|
|
1650
1653
|
# Everything Markdown derives is rewritten on every compile, so it
|