calkit-python 0.41.25__tar.gz → 0.42.1__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.41.25 → calkit_python-0.42.1}/.dockerignore +4 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.prettierignore +1 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/AGENTS.md +1 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/CONTRIBUTING.md +27 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/Makefile +36 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/PKG-INFO +7 -2
- {calkit_python-0.41.25 → calkit_python-0.42.1}/README.md +5 -0
- calkit_python-0.42.1/browser-ext/.gitignore +6 -0
- calkit_python-0.42.1/browser-ext/README.md +200 -0
- calkit_python-0.42.1/browser-ext/options.html +12 -0
- calkit_python-0.42.1/browser-ext/package-lock.json +2065 -0
- calkit_python-0.42.1/browser-ext/package.json +31 -0
- calkit_python-0.42.1/browser-ext/popup.html +12 -0
- calkit_python-0.42.1/browser-ext/public/icons/calkit-128.png +0 -0
- calkit_python-0.42.1/browser-ext/public/icons/calkit-16.png +0 -0
- calkit_python-0.42.1/browser-ext/public/icons/calkit-32.png +0 -0
- calkit_python-0.42.1/browser-ext/public/icons/calkit-48.png +0 -0
- calkit_python-0.42.1/browser-ext/public/manifest.json +95 -0
- calkit_python-0.42.1/browser-ext/scripts/build-content.mjs +10 -0
- calkit_python-0.42.1/browser-ext/scripts/package-manifest.mjs +27 -0
- calkit_python-0.42.1/browser-ext/scripts/store-screenshots.py +77 -0
- calkit_python-0.42.1/browser-ext/scripts/watch.mjs +23 -0
- calkit_python-0.42.1/browser-ext/src/background/index.ts +356 -0
- calkit_python-0.42.1/browser-ext/src/content/github.ts +1227 -0
- calkit_python-0.42.1/browser-ext/src/content/overleaf.ts +854 -0
- calkit_python-0.42.1/browser-ext/src/content/references.ts +539 -0
- calkit_python-0.42.1/browser-ext/src/core/api.ts +229 -0
- calkit_python-0.42.1/browser-ext/src/core/auth.ts +159 -0
- calkit_python-0.42.1/browser-ext/src/core/calkit-yaml.test.ts +49 -0
- calkit_python-0.42.1/browser-ext/src/core/calkit-yaml.ts +24 -0
- calkit_python-0.42.1/browser-ext/src/core/detect.test.ts +268 -0
- calkit_python-0.42.1/browser-ext/src/core/detect.ts +285 -0
- calkit_python-0.42.1/browser-ext/src/core/hub-url.ts +30 -0
- calkit_python-0.42.1/browser-ext/src/core/hubs.test.ts +143 -0
- calkit_python-0.42.1/browser-ext/src/core/hubs.ts +184 -0
- calkit_python-0.42.1/browser-ext/src/core/latex.test.ts +32 -0
- calkit_python-0.42.1/browser-ext/src/core/latex.ts +27 -0
- calkit_python-0.42.1/browser-ext/src/core/lifecycle.ts +63 -0
- calkit_python-0.42.1/browser-ext/src/core/messages.test.ts +30 -0
- calkit_python-0.42.1/browser-ext/src/core/messages.ts +334 -0
- calkit_python-0.42.1/browser-ext/src/core/pickers.ts +221 -0
- calkit_python-0.42.1/browser-ext/src/core/storage.ts +144 -0
- calkit_python-0.42.1/browser-ext/src/core/types.ts +226 -0
- calkit_python-0.42.1/browser-ext/src/core/ui.test.ts +125 -0
- calkit_python-0.42.1/browser-ext/src/core/ui.ts +602 -0
- calkit_python-0.42.1/browser-ext/src/options/options.ts +275 -0
- calkit_python-0.42.1/browser-ext/src/popup/popup.css +217 -0
- calkit_python-0.42.1/browser-ext/src/popup/popup.ts +282 -0
- calkit_python-0.42.1/browser-ext/src/viewer/viewer.ts +155 -0
- calkit_python-0.42.1/browser-ext/tsconfig.json +21 -0
- calkit_python-0.42.1/browser-ext/viewer.html +12 -0
- calkit_python-0.42.1/browser-ext/vite.config.ts +39 -0
- calkit_python-0.42.1/browser-ext/vite.content.config.ts +32 -0
- calkit_python-0.42.1/browser-ext/vitest.config.ts +8 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/check.py +4 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/config.py +3 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/hub.py +8 -32
- calkit_python-0.42.1/calkit/cli/latex.py +590 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/main/core.py +92 -3
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/main/xr.py +3 -5
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/new.py +85 -10
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/scheduler.py +264 -43
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/update.py +19 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/config.py +112 -41
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/core.py +76 -8
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/detect.py +39 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/environments.py +10 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/fs.py +6 -6
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/git.py +81 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/hub.py +29 -10
- calkit_python-0.42.1/calkit/latex.py +274 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/models/core.py +8 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/models/pipeline.py +136 -7
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/overleaf.py +261 -14
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/pipeline.py +58 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/main/test_core.py +85 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_check.py +14 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_config.py +17 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_hub.py +20 -30
- calkit_python-0.42.1/calkit/tests/cli/test_latex.py +327 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_new.py +103 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_overleaf.py +192 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_scheduler.py +170 -16
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/models/test_pipeline.py +78 -0
- calkit_python-0.42.1/calkit/tests/test_config.py +326 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_detect.py +55 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_fs.py +18 -14
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_git.py +62 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_hub.py +42 -1
- calkit_python-0.42.1/calkit/tests/test_keyring_windows.py +195 -0
- calkit_python-0.42.1/calkit/tests/test_overleaf.py +152 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_pipeline.py +77 -0
- calkit_python-0.42.1/docs/browser-ext/index.md +128 -0
- calkit_python-0.42.1/docs/browser-ext/privacy.md +82 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/cli-reference.md +77 -32
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/environments.md +8 -7
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/hpc.md +31 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/hub/index.md +7 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/hub/self-hosting.md +37 -6
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/index.md +5 -0
- calkit_python-0.42.1/docs/latex.md +194 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/overleaf.md +17 -4
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/pipeline/index.md +2 -0
- calkit_python-0.42.1/docs/references.md +20 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/AGENTS.md +3 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/Makefile +6 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/Dockerfile +7 -7
- calkit_python-0.42.1/hub/backend/app/alembic/versions/a333fc5aa994_index_project_folders_synced_with_.py +55 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/main.py +2 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/misc.py +87 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/projects/core.py +1095 -46
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/projects/releases.py +3 -6
- calkit_python-0.42.1/hub/backend/app/api/routes/references.py +225 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/users.py +1 -0
- calkit_python-0.42.1/hub/backend/app/arxiv.py +54 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/config.py +4 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/core.py +60 -4
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/dvc.py +4 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/git.py +301 -69
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/models/core.py +75 -0
- calkit_python-0.42.1/hub/backend/app/pdftext.py +131 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/pipeline.py +86 -12
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/projects.py +308 -45
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/projects/test_core.py +503 -10
- calkit_python-0.42.1/hub/backend/app/tests/api/routes/projects/test_overleaf_links.py +459 -0
- calkit_python-0.42.1/hub/backend/app/tests/api/routes/test_misc.py +86 -0
- calkit_python-0.42.1/hub/backend/app/tests/test_arxiv.py +70 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_git.py +46 -0
- calkit_python-0.42.1/hub/backend/app/tests/test_pdftext.py +79 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_pipeline.py +97 -2
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_projects.py +66 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_users.py +55 -1
- calkit_python-0.42.1/hub/backend/app/tests/test_version.py +55 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/users.py +35 -13
- calkit_python-0.42.1/hub/backend/app/version.py +70 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/pyproject.toml +32 -2
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/docker-compose.override.yml +4 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/package-lock.json +104 -39
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/package.json +3 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/index.ts +73 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/schemas.gen.ts +595 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/sdk.gen.ts +626 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/types.gen.ts +943 -23
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/ArtifactCompareModal.tsx +68 -22
- calkit_python-0.42.1/hub/frontend/src/components/Common/CodeEditorPane.tsx +166 -0
- calkit_python-0.42.1/hub/frontend/src/components/Common/ConnectZoteroPrompt.tsx +64 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/Mermaid.tsx +73 -0
- calkit_python-0.42.1/hub/frontend/src/components/Common/NotBuiltAlert.tsx +83 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/Topbar.tsx +32 -1
- calkit_python-0.42.1/hub/frontend/src/components/Files/FileEditorModal.tsx +297 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Files/SelectedItemInfo.tsx +29 -22
- calkit_python-0.42.1/hub/frontend/src/components/Notebooks/NotebookView.tsx +84 -0
- calkit_python-0.42.1/hub/frontend/src/components/Pipeline/StageEditorModal.tsx +338 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Presentations/PresentationView.tsx +6 -5
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Publications/LatexEditor.tsx +93 -60
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Publications/PublicationView.tsx +8 -15
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/ImportFromZoteroModal.tsx +8 -2
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/ReferenceItemModal.tsx +34 -10
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/ReferencesInfoPanel.tsx +33 -2
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/hooks/useProject.ts +34 -9
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/api.test.ts +19 -1
- calkit_python-0.42.1/hub/frontend/src/lib/api.ts +74 -0
- calkit_python-0.42.1/hub/frontend/src/lib/errors.ts +30 -0
- calkit_python-0.42.1/hub/frontend/src/lib/latexProject.mapPaths.test.ts +156 -0
- calkit_python-0.42.1/hub/frontend/src/lib/latexProject.test.ts +93 -0
- calkit_python-0.42.1/hub/frontend/src/lib/latexProject.ts +359 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/pipelineYaml.test.ts +22 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/pipelineYaml.ts +17 -0
- calkit_python-0.42.1/hub/frontend/src/lib/staleChunks.test.ts +86 -0
- calkit_python-0.42.1/hub/frontend/src/lib/staleChunks.ts +49 -0
- calkit_python-0.42.1/hub/frontend/src/lib/strings.test.ts +41 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/strings.ts +29 -0
- calkit_python-0.42.1/hub/frontend/src/lib/zotero.ts +48 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/main.tsx +3 -0
- calkit_python-0.42.1/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/figures.tsx +575 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/files.tsx +52 -7
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/notebooks.tsx +1 -70
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/pipeline.tsx +106 -12
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/references.tsx +8 -9
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/auth/zotero.tsx +8 -6
- calkit_python-0.42.1/hub/frontend/tests/figures-pagination.spec.ts +237 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/vite.config.ts +9 -5
- {calkit_python-0.41.25 → calkit_python-0.42.1}/mkdocs.yml +4 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/pyproject.toml +6 -1
- {calkit_python-0.41.25 → calkit_python-0.42.1}/uv.lock +14 -1
- calkit_python-0.42.1/vscode-ext/images/calkit-icon.svg +22 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/environments.ts +1 -0
- calkit_python-0.41.25/calkit/cli/latex.py +0 -250
- calkit_python-0.41.25/calkit/tests/cli/test_latex.py +0 -167
- calkit_python-0.41.25/calkit/tests/test_config.py +0 -176
- calkit_python-0.41.25/docs/references.md +0 -6
- calkit_python-0.41.25/hub/frontend/src/components/Notebooks/NotebookView.tsx +0 -37
- calkit_python-0.41.25/hub/frontend/src/lib/api.ts +0 -22
- calkit_python-0.41.25/hub/frontend/src/lib/errors.ts +0 -12
- calkit_python-0.41.25/hub/frontend/src/lib/latexProject.ts +0 -220
- calkit_python-0.41.25/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/figures.tsx +0 -350
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.claude-plugin/marketplace.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.gitattributes +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.gitmodules +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.pre-commit-config.yaml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.prettierrc.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.python-version +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.vscode/launch.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/.vscode/tasks.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/CITATION.cff +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/CODE_OF_CONDUCT.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/LICENSE +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/agent-plugin/.claude-plugin/plugin.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/agent-plugin/skills/add-pipeline-stage/SKILL.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/agent-plugin/skills/conventions/SKILL.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/agent-plugin/skills/create-pipeline/SKILL.md +0 -0
- /calkit_python-0.41.25/vscode-ext/images/calkit-icon.svg → /calkit_python-0.42.1/browser-ext/public/icons/calkit.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/__main__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/calc.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/check.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/delete.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/describe.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/dev.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/import_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/list.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/main/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/notebooks.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/office.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/overleaf.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/cli/sync.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/conda.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/datasets.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/dependencies.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/docker.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/dvc/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/dvc/core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/dvc/zip.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/github.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/gui.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/install.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/invenio.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/julia.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/jupyter.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/jupyterlab/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/jupyterlab/routes.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/package.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/schemas/calkit/plugin.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/502.9a2c5772a15466e923ef.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/695.2c41003a452d43d2b358.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/867.a42a046aa5108f54f8fb.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/909.e3f9cc3408834a7fdcc3.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js.LICENSE.txt +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/b2f1c3efe70cb539d121.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/remoteEntry.ac9035764d5b2adbb542.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/style.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/labextension/static/third-party-licenses.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/licenses.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/magics.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/matlab.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/models/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/models/io.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/models/iteration.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/notebooks.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/office.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/ops.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/releases.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/server.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/article/paper.tex +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/jfm/jfm.bst +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/jfm/jfm.cls +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/jfm/paper.tex +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/templates/latex/jfm/upmath.sty +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/main/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/main/test_lock.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/main/test_subprojects.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/main/test_xr.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_delete.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_describe.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_import.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_list.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_notebooks.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_sync.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/cli/test_update.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/dvc/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/dvc/test_core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/dvc/test_zip.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/jupyterlab/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/jupyterlab/conftest.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/jupyterlab/test_routes.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/models/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/models/test_core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/models/test_iteration.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_calc.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_check.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_conda.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_dependencies.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_docker.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_environments.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_install.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_invenio.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_julia.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_jupyter.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_licenses.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_magics.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_matlab.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_notebooks.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_releases.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/calkit/tests/test_templates.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/CNAME +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/acknowledgements.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/ai-tools.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/apps.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/calculations.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/calkit-yaml.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/cloud-integration.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/datasets.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/dependencies.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/examples.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/governance.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/help.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/c-to-the-k-white.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/calkit-fragmentation-compendium.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/calkit-no-bg.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/caltech.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/connect-zenodo.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/jupyterlab/all-green.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/jupyterlab/collect-data-stale.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/jupyterlab/new-env.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/jupyterlab/new-notebook.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/jupyterlab/pipeline-badge.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/jupyterlab-params.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/pipeline.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/plos-osi-code-2024-03.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/schmidt-sciences.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/img/vscode-nb-params.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/installation.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/jupyterlab.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/local-server.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/notebooks.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/pipeline/manual-steps.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/pipeline/running-and-logging.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/questions.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/quickstart.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/releases.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/reproducibility.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/subprojects.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/adding-latex-pub-docker.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/ai-agents.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/conda-envs.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/existing-project.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/first-project.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/github-actions.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/actions-repo-secrets.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/push.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/chart-more-rows.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/create-project.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/excel-chart.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/excel-data.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/needs-clone.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/new-stage.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/status-more-rows.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/untracked-data.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/updated-publication.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/office/workflow-page.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/clone.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/create-project.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/new-token.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/reclone.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/quick-actions.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/run-proc.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/create-calkit-env.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/create-inner-env.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/create-new-calkit-env.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/select-calkit-env.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/slurm-job-running.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/slurm-launch-options.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/img/vscode-slurm-notebook/starting-slurm-job.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/index.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/jupyterlab.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/latex-codespaces.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/matlab.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/notebook-pipeline.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/office.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/openfoam.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/procedures.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/tutorials/vscode-slurm-notebook.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/docs/version-control.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/flake.lock +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/flake.nix +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/.env.example +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/.gitattributes +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/.vscode/launch.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/LICENSE +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/README.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/.python-version +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/Makefile +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/README.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/alembic.ini +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/README +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/env.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/script.py.mako +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/.keep +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/07c8236476c4_add_fields_to_usertoken.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/10a05eaedfbd_add_dataset_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/1546aa334cd5_make_project_description_nullable.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/1a31ce608336_add_cascade_delete_relationships.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/1fb6e38eb0e9_add_deviceauth_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/208e7457f3ba_add_title_to_project.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/2e7c25a00842_add_is_public_to_project.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/38e178698db2_update_subscription_model_to_use_plan_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/3b1e67e9c318_add_usertoken_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/4dac15c0282a_add_stripe_customer_id_to_user.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/4e1c917fcca4_add_status_columns_to_project_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/5ba89308431f_add_project_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/5d6f8217c890_add_subscriber_user_id_to_org_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/65b2d15cc702_add_github_username_field_to_user.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/697c3c1a8a27_add_git_repo_url_to_project.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/6f3a3afbea8b_add_number_field_to_question.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/7076d9b5c887_use_account_for_project_owner.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/71e1d1e69bbd_add_table_for_storing_user_github_tokens.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/799476973bce_add_created_ts_to_user_github_token_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/7cacee34034c_add_parent_child_relationship_to_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/9c0a54914c78_add_max_length_for_string_varchar_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/9c4f70636d73_add_fields_to_usertoken.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/a4af19842927_create_table_to_store_user_zenodo_tokens.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/ab7816be480b_drop_items.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/ac622559475f_save_timestamps_for_github_token_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/af024967630d_lowercase_account_names.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/c1f9a3e27d48_consolidate_comment_tables.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/c46a78ba506c_add_created_column_to_account.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/c749b39072d3_add_figurecomment.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/c7c41c3f0d22_add_user_external_credential_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/d01ce914143d_make_question_a_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/d21ed1c9537e_add_zenodo_user_id_column_to_user.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/d3a8021fb433_add_table_for_user_project_access.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/d4e5f6a7b8c9_ghless_membership_and_invitations.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/d6366015af35_add_discount_code_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/d98dd8ec85a3_edit_replace_id_integers_in_all_models_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/dcef842dee10_add_refreshtoken_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/e1b0fa2a6d34_backfill_external_credentials_from_legacy_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/e2412789c190_initialize_models.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/e7671197c00b_add_account_table.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/ed74edb0a9e6_create_table_for_user_overleaf_token.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/edcabfca98df_add_subscription_and_org_membership_.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/f0e23e048b1b_add_fields_to_project.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/f3a9c1b7e240_add_releases_feature.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/f5ad6445ad03_enable_user_project_access_to_be_null.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/alembic/versions/f74a96172dbd_add_table_for_locking_project_files.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/deps.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/accounts.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/datasets.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/feature_votes.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/login.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/orgs.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/projects/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/projects/dvc.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/api/routes/projects/fs.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/client.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/db.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/build/new_account.html +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/build/project_invitation.html +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/build/release_share.html +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/build/reset_password.html +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/build/test_email.html +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/src/new_account.mjml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/src/project_invitation.mjml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/src/release_share.mjml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/src/reset_password.mjml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/email-templates/src/test_email.mjml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/github.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/main.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/messaging.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/mixpanel.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/models/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/models/projects.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/models/releases.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/orgs.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/security.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/storage.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/stripe.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/subscriptions.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/projects/__init__.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/projects/test_dvc.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/projects/test_fs.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/test_feature_votes.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/test_login.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/test_releases.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/api/routes/test_users.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/conftest.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_client.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_core.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_db.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/tests/test_dvc.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/zenodo.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/app/zotero.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/prestart.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/backend-pre-start.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/create-initial-data.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/format.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/generate-client.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/lint.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/rotate-fernet-secrets.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/scripts/test.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/backend/tests-start.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/config/alloy/config.alloy +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/config/grafana/provisioning/dashboards/dashboards.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/config/grafana/provisioning/dashboards/fastapi.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/config/grafana/provisioning/datasources/datasources.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/config/loki/loki.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/config/prometheus/prometheus.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/docker-compose.traefik.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/docker-compose.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/docs/dev/database-migrations.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/docs/dev/deployment.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/docs/dev/development.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/.dockerignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/.nvmrc +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/Dockerfile +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/Makefile +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/README.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/biome.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/index.html +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/modify-openapi-operationids.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/nginx-backend-not-found.conf +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/nginx.conf +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/openapi-ts.config.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/playwright.config.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/assets/images/c-to-the-k.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/assets/images/calkit-no-bg.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/assets/images/calkit.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/assets/images/fastapi-logo.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/assets/images/favicon.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/assets/images/kdot.svg +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/tex/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/tex/LICENSE-busytex +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/tex/busytex.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/tex/busytex.wasm +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/tex/busytex_pipeline.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/public/tex/busytex_worker.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/scripts/download-tex-engine.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/client/client.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/client/index.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/client/types.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/client/utils.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/client.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/auth.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/bodySerializer.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/params.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/pathSerializer.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/queryKeySerializer.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/serverSentEvents.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/types.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/client/core/utils.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Admin/AddUser.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Admin/EditUser.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/ActionsMenu.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/ClearableInput.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/CommentsPanel.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/ConnectGitHubPrompt.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/DeleteAlert.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/GlobalSearch.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/LoadingSpinner.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/Markdown.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/Navbar.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/NotFound.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/NotificationBell.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/PageMenu.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/PdfCanvas.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/PdfDocumentViewer.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/ProjectCommandPalette.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/RefPicker.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/Sidebar.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/SidebarItems.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/Tooltip.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Common/UserMenu.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Datasets/DatasetFromExisting.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Datasets/UploadDataset.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Environments/ViewEnvironment.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Figures/FigureFromExisting.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Figures/FigureView.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Figures/UploadFigure.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Files/EditFileInfo.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Files/FileContent.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Files/UploadFile.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Local/AddPath.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Local/DiscardChanges.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Local/IgnorePath.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Local/NewStage.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Local/SaveFiles.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Orgs/AddMember.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Orgs/NewOrg.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/AddCollaborator.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/CloneProject.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/CreateIssue.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/CreateQuestion.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/EditProject.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/EditQuestion.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/HelpContent.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/InviteLinks.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/MakeProjectPublic.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/NewProject.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/ProjectShowcase.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Projects/ProjectStatus.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Publications/ImportOverleaf.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Publications/NewPublication.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Publications/PdfAnnotator.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/DeleteReferenceItemDialog.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/DeleteReferencesCollectionDialog.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/EditReferenceItemModal.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/FileViewModal.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/LabelExistingReferences.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/References/NewReferencesCollection.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/ArtifactReleasesPanel.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/NewRelease.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/PathPicker.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/ReleasePdfAnnotator.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/ReleaseViewer.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/ReleasesTable.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/ShareDialog.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/Releases/releaseSort.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/Appearance.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/ChangePassword.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/ConnectedAccounts.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/DeleteAccount.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/DeleteConfirmation.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/NewToken.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/PickSubscription.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/Subscription.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/UpdateOverleafToken.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/UserInformation.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/components/UserSettings/UserTokens.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/hooks/useAuth.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/hooks/useCustomToast.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/analytics.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/analytics.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/auth.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/auth.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/bibtex.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/bibtex.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/core.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/github.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/github.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/google.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/keyboard.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/latexCompiler.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/layout.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/releases.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/lib/zenodo.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routeTree.gen.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/__root.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/app.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/collaborators.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/datasets.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/environments.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/history.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/index.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/local.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/presentations.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/publications.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/releases.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout/software.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/_layout.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/$projectName/releases/$releaseName.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/$accountName/index.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/admin.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/datasets.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/index.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/learn.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/orgs.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/projects.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout/settings.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/_layout.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/auth/google.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/auth/zenodo.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/checkout.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/join/$token.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/login/device.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/login/index.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/recover-password.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/reset-password.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/routes/signup.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/theme.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/src/vite-env.d.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/auth.setup.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/config.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/login.spec.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/reset-password.spec.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/user-settings.spec.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/utils/mailcatcher.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/utils/random.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tests/utils/user.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tsconfig.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/tsconfig.node.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/frontend/vitest.config.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/scripts/build-push.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/scripts/build.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/scripts/deploy.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/scripts/pem-to-env.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/scripts/test-local.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/scripts/test.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/texmf-proxy/Dockerfile +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/texmf-proxy/README.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/hub/texmf-proxy/proxy.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/.yarnrc.yml +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/babel.config.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/install.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/jest.config.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/jupyter-config/server-config/calkit.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/package.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/schema/plugin.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/__tests__/useQueries.spec.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/calkit-config.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/cell-output-marker.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/commit-dialog.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/environment-editor.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/notebook-registration.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/notebook-toolbar.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/pipeline-status-bar.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/project-info-editor.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/sidebar-settings.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/sidebar.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/components/stage-editor.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/feature-flags.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/file-browser-menu.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/hooks/__tests__/useQueries.test.tsx +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/hooks/useQueries.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/icons.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/index.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/io-tracker.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/pipeline-state.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/queryClient.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/request.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/src/shims-mainmenu.d.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/base.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/cell-output-marker.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/environment-editor.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/environment-selector.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/img/calkit-no-bg.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/index.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/index.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/notebook-toolbar.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/pipeline-status-bar.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/style/sidebar.css +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/tsconfig.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/tsconfig.test.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/README.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/jupyter_server_test_config.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/package.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/playwright.config.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/tests/calkit.spec.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/ui-tests/yarn.lock +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/jupyterlab-ext/yarn.lock +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/scripts/generate-docs-references.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/scripts/install.ps1 +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/scripts/install.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/scripts/make-calk9.sh +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/scripts/sync-docs.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/dvc-md5-dir/osx-arm64.txt +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/nb-julia.ipynb +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/nb-params.ipynb +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/nb-subdir.ipynb +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/pipeline.ipynb +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/script.py +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/test/test-log.log +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/.gitignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/.vscodeignore +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/CHANGELOG.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/LICENSE +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/README.md +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/images/calkit-no-bg.png +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/package-lock.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/package.json +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/scripts/set-proposed-api.js +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/extension.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/figures/core.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/figures/view.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/notebooks.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/pipeline/core.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/sidebar.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/test/environments.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/test/figures.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/test/kernel-selection.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/test/notebooks.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/test/pipeline.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/test/sidebar.test.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/src/types.ts +0 -0
- {calkit_python-0.41.25 → calkit_python-0.42.1}/vscode-ext/tsconfig.json +0 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# The hub backend image builds with this directory as its context so it can
|
|
2
2
|
# install the calkit-python workspace member; keep everything it doesn't need
|
|
3
3
|
# out of the context
|
|
4
|
-
|
|
4
|
+
#
|
|
5
|
+
# .git is deliberately NOT excluded: hatch-vcs reads the release tags out of
|
|
6
|
+
# it to version calkit-python and the hub backend at install time. It is
|
|
7
|
+
# bind-mounted into the one RUN that needs it, so it never lands in a layer.
|
|
5
8
|
.venv
|
|
6
9
|
.env
|
|
7
10
|
**/__pycache__
|
|
@@ -89,6 +89,33 @@ This guide will help you get started.
|
|
|
89
89
|
to the description.
|
|
90
90
|
- Wait for a review and make necessary changes.
|
|
91
91
|
|
|
92
|
+
## Releasing the browser extension
|
|
93
|
+
|
|
94
|
+
Publishing a GitHub release tagged `browser-ext/vX.Y.Z` builds and tests the
|
|
95
|
+
extension, stamps that version into `manifest.json` and `package.json`,
|
|
96
|
+
strips source maps, and attaches a store-ready zip to the release.
|
|
97
|
+
The version comes from the tag because the Chrome Web Store rejects an
|
|
98
|
+
upload whose manifest version isn't higher than the last one, and a version
|
|
99
|
+
kept in sync by hand eventually isn't.
|
|
100
|
+
Uncheck "set as the latest release" for these, since they aren't
|
|
101
|
+
calkit-python releases.
|
|
102
|
+
|
|
103
|
+
The same workflow uploads to the Chrome Web Store once the
|
|
104
|
+
`CHROME_EXTENSION_ID` repository variable is set, using the
|
|
105
|
+
`CHROME_CLIENT_ID`, `CHROME_CLIENT_SECRET`, and `CHROME_REFRESH_TOKEN`
|
|
106
|
+
secrets (an OAuth client for the Web Store API, authorized for the
|
|
107
|
+
publishing account).
|
|
108
|
+
Until that variable exists the upload step is skipped and the zip on the
|
|
109
|
+
release is uploaded by hand.
|
|
110
|
+
|
|
111
|
+
`make browser-ext` builds and packages the same zip locally.
|
|
112
|
+
The packaged manifest drops the local development hub's host permission,
|
|
113
|
+
which is why it is built from a staged copy rather than from `dist`, the
|
|
114
|
+
directory loaded unpacked during development.
|
|
115
|
+
The store listing's text lives in `browser-ext/store/listing.md`, and its
|
|
116
|
+
screenshots are generated from `docs/img/browser-ext` by
|
|
117
|
+
`browser-ext/scripts/store-screenshots.py`.
|
|
118
|
+
|
|
92
119
|
## 💡 Other ways to contribute
|
|
93
120
|
|
|
94
121
|
- **Report bugs**: Open an issue with detailed reproduction steps.
|
|
@@ -79,3 +79,39 @@ test-jlab-ui: ## Run the JupyterLab UI integration tests.
|
|
|
79
79
|
@uv run --directory=jupyterlab-ext/ui-tests jlpm install
|
|
80
80
|
@uv run --directory=jupyterlab-ext/ui-tests jlpm playwright install
|
|
81
81
|
@uv run --directory=jupyterlab-ext/ui-tests jlpm playwright test -u --reporter=list
|
|
82
|
+
|
|
83
|
+
.PHONY: browser-ext
|
|
84
|
+
browser-ext: ## Build the browser extension and package it as a ZIP.
|
|
85
|
+
@echo "🚀 Building the browser extension"
|
|
86
|
+
@cd browser-ext && npm ci && npm run build
|
|
87
|
+
@echo "📦 Packaging the browser extension ZIP"
|
|
88
|
+
@mkdir -p browser-ext/zip
|
|
89
|
+
# Packaged from a staged copy, never from dist: dist is what gets loaded
|
|
90
|
+
# unpacked for development, and the published manifest drops the local
|
|
91
|
+
# hub's host permission, which development needs.
|
|
92
|
+
@rm -rf browser-ext/zip/stage
|
|
93
|
+
@mkdir -p browser-ext/zip/stage
|
|
94
|
+
@cp -R browser-ext/dist/. browser-ext/zip/stage/
|
|
95
|
+
@cd browser-ext && node scripts/package-manifest.mjs zip/stage/manifest.json
|
|
96
|
+
# Source maps are useful loading unpacked, but only bloat a store upload, so
|
|
97
|
+
# they stay in dist and are excluded from the archive.
|
|
98
|
+
# zip adds to an existing archive rather than replacing it, so a rebuild at
|
|
99
|
+
# the same commit would otherwise keep files the build no longer produces.
|
|
100
|
+
# $$ escapes the shell's expansion from Make's own.
|
|
101
|
+
@rm -f "browser-ext/zip/calkit-browser-ext.zip"
|
|
102
|
+
@cd browser-ext/zip/stage && zip -qr \
|
|
103
|
+
"../calkit-browser-ext.zip" . \
|
|
104
|
+
-x '.*' '*/.*' '*.map'
|
|
105
|
+
@rm -rf browser-ext/zip/stage
|
|
106
|
+
|
|
107
|
+
.PHONY: browser-ext-dev
|
|
108
|
+
browser-ext-dev: ## Rebuild the browser extension on every change.
|
|
109
|
+
@echo "🚀 Watching the browser extension"
|
|
110
|
+
# Rebuilds on save. Chrome still needs the extension reloaded, since it
|
|
111
|
+
# reads a content script from disk when a page loads. Vite doesn't type
|
|
112
|
+
# check, so run 'cd browser-ext && npm run check' alongside this.
|
|
113
|
+
@cd browser-ext && npm ci && npm run dev
|
|
114
|
+
|
|
115
|
+
.PHONY: browser-ext-clean-zips
|
|
116
|
+
browser-ext-clean-zips: ## Delete all built browser extension ZIPs.
|
|
117
|
+
@rm -rf browser-ext/zip
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: calkit-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.42.1
|
|
4
4
|
Summary: Reproducibility simplified.
|
|
5
5
|
Project-URL: Homepage, https://calkit.org
|
|
6
6
|
Project-URL: Issues, https://github.com/calkit/calkit/issues
|
|
@@ -132,6 +132,11 @@ without the cognitive overhead.
|
|
|
132
132
|
- Extensions for doing all of the above graphically in
|
|
133
133
|
[JupyterLab](https://docs.calkit.org/jupyterlab) and
|
|
134
134
|
[VS Code](https://marketplace.visualstudio.com/items?itemName=Calkit.calkit-vscode).
|
|
135
|
+
- A [browser extension](https://docs.calkit.org/browser-ext) for collecting references
|
|
136
|
+
directly to BibTeX (optionally synced with Zotero),
|
|
137
|
+
viewing DVC-stored files on GitHub,
|
|
138
|
+
and syncing figures and results with Overleaf directly in Chrome,
|
|
139
|
+
Microsoft Edge, and more.
|
|
135
140
|
|
|
136
141
|
<!-- END INCLUDE -->
|
|
137
142
|
|
|
@@ -73,6 +73,11 @@ without the cognitive overhead.
|
|
|
73
73
|
- Extensions for doing all of the above graphically in
|
|
74
74
|
[JupyterLab](https://docs.calkit.org/jupyterlab) and
|
|
75
75
|
[VS Code](https://marketplace.visualstudio.com/items?itemName=Calkit.calkit-vscode).
|
|
76
|
+
- A [browser extension](https://docs.calkit.org/browser-ext) for collecting references
|
|
77
|
+
directly to BibTeX (optionally synced with Zotero),
|
|
78
|
+
viewing DVC-stored files on GitHub,
|
|
79
|
+
and syncing figures and results with Overleaf directly in Chrome,
|
|
80
|
+
Microsoft Edge, and more.
|
|
76
81
|
|
|
77
82
|
<!-- END INCLUDE -->
|
|
78
83
|
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Calkit browser extension
|
|
2
|
+
|
|
3
|
+
A Chrome extension (Manifest V3) for working with Calkit projects from the
|
|
4
|
+
sites where the work actually happens: GitHub, Overleaf, and journal and
|
|
5
|
+
preprint pages.
|
|
6
|
+
|
|
7
|
+
## What it does
|
|
8
|
+
|
|
9
|
+
### Overleaf
|
|
10
|
+
|
|
11
|
+
On an Overleaf project page, a panel shows the Calkit project that syncs with
|
|
12
|
+
it and, most importantly, **which figures are out of date on Overleaf**:
|
|
13
|
+
|
|
14
|
+
- Figures whose content differs from the copy in the Calkit project are
|
|
15
|
+
listed first, so it's obvious when the paper is showing an old plot.
|
|
16
|
+
- A figure produced by a pipeline stage that is itself stale is flagged, so
|
|
17
|
+
you know to run the pipeline before syncing rather than syncing a stale
|
|
18
|
+
figure into the paper.
|
|
19
|
+
- Overleaf edits that haven't come back into the project yet are counted.
|
|
20
|
+
- **Sync now** runs the same bidirectional sync as `calkit overleaf sync`.
|
|
21
|
+
|
|
22
|
+
If the Overleaf project isn't linked yet, the panel can search your projects
|
|
23
|
+
and either check an existing link or import the Overleaf project into one as a
|
|
24
|
+
new publication.
|
|
25
|
+
|
|
26
|
+
**Attach to new project** covers the case where the code, data, and figures
|
|
27
|
+
already live in a GitHub repo. Turn on "Exists on GitHub", type the repo name,
|
|
28
|
+
and pick the folder the document should occupy inside the project. That
|
|
29
|
+
creates the Calkit project around the existing repo and imports the Overleaf
|
|
30
|
+
document into it in one go, after which the document is a pipeline stage whose
|
|
31
|
+
figures can be checked for staleness and synced. The Calkit GitHub app has to
|
|
32
|
+
be installed for the repo.
|
|
33
|
+
|
|
34
|
+
Finding the linked project doesn't require having synced before: the hub reads
|
|
35
|
+
each project's `calkit.yaml` through the GitHub API, active project first,
|
|
36
|
+
indexing what it finds so later lookups are a single query.
|
|
37
|
+
|
|
38
|
+
### GitHub
|
|
39
|
+
|
|
40
|
+
A **Calkit** button in the corner of a repository page says whether the repo is
|
|
41
|
+
a Calkit project before you click it. It reads the repo's `calkit.yaml` first,
|
|
42
|
+
since that file names the hub the project belongs to, so a project on another
|
|
43
|
+
instance is recognised rather than looking like it isn't one; a private repo,
|
|
44
|
+
which won't serve that file anonymously, falls back to asking your hub.
|
|
45
|
+
|
|
46
|
+
On a **pull request**, the panel compares DVC-tracked outputs between the
|
|
47
|
+
branch and its base, so a regenerated figure can be looked at next to the one
|
|
48
|
+
it replaces. GitHub's own diff can only show the `.dvc` pointer changing,
|
|
49
|
+
which says an output changed but nothing about how.
|
|
50
|
+
|
|
51
|
+
From there you can open the project on its hub, or connect a repo that isn't a
|
|
52
|
+
project yet. For a connected project the extension **adds its DVC-tracked
|
|
53
|
+
files to GitHub's own file listing**, badged as DVC, since GitHub can only show
|
|
54
|
+
the `.dvc` pointer files. Clicking one opens it: image preview or download,
|
|
55
|
+
straight from the project's DVC storage.
|
|
56
|
+
|
|
57
|
+
### References
|
|
58
|
+
|
|
59
|
+
On a journal, publisher, or preprint page, the extension reads the page's
|
|
60
|
+
citation metadata (Highwire Press and Dublin Core tags, the same ones Zotero
|
|
61
|
+
relies on) and tells you whether that reference is already in a collection in
|
|
62
|
+
one of your projects. From there you can:
|
|
63
|
+
|
|
64
|
+
- Import it into any `.bib` collection in a project.
|
|
65
|
+
- Read and edit the notes attached to it, which are stored in the BibTeX
|
|
66
|
+
`comment` field, and pushed to Zotero for collections linked to it.
|
|
67
|
+
|
|
68
|
+
The project checked is the **active project**, which the panel names in a
|
|
69
|
+
dropdown at the top: changing it there switches the active project outright,
|
|
70
|
+
so what was checked and what an import lands in can't drift apart, and the
|
|
71
|
+
next paper starts where this one left off.
|
|
72
|
+
|
|
73
|
+
One project rather than a list is deliberate: it suits a thesis-scale
|
|
74
|
+
monorepo, and it's also what keeps the lookup fast, since each project has to
|
|
75
|
+
be read on the server to search its collections.
|
|
76
|
+
|
|
77
|
+
The content script runs on the major preprint servers and publishers (arXiv,
|
|
78
|
+
bioRxiv, PLOS, Springer, Wiley, Elsevier, Nature, Science, MDPI, Cambridge
|
|
79
|
+
Core, AIP, ACS, RSC, IOP, ASME, AIAA, Oxford, and others). Publishers that
|
|
80
|
+
spread journals across subdomains are matched with a wildcard host, so
|
|
81
|
+
`agupubs.onlinelibrary.wiley.com` and `collections.plos.org` are covered by
|
|
82
|
+
the same entry as their parents.
|
|
83
|
+
|
|
84
|
+
That list can't ever be complete, and every host on it is a permission the
|
|
85
|
+
user has to grant, so it stays limited to sites worth injecting into. The
|
|
86
|
+
popup does the same detection on **any** page through `activeTab`, which is
|
|
87
|
+
the general answer for everything else.
|
|
88
|
+
|
|
89
|
+
## Installing during development
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
npm install
|
|
93
|
+
npm run build
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Then, in Chrome, open `chrome://extensions`, turn on **Developer mode**, click
|
|
97
|
+
**Load unpacked**, and select the `dist` directory.
|
|
98
|
+
|
|
99
|
+
## Signing in
|
|
100
|
+
|
|
101
|
+
The extension uses the hub's device authorization flow, the same one
|
|
102
|
+
`calkit hub login` uses. Click **Sign in** in the popup, approve the request in
|
|
103
|
+
the tab that opens, and the extension stores a short-lived access token plus a
|
|
104
|
+
refresh token in `chrome.storage.local`, scoped to the hub it came from.
|
|
105
|
+
|
|
106
|
+
Nothing else ever sees the token: every API call runs in the service worker,
|
|
107
|
+
which the content scripts drive through a fixed set of named operations rather
|
|
108
|
+
than a general "fetch this URL" proxy.
|
|
109
|
+
|
|
110
|
+
## Image previews and object storage
|
|
111
|
+
|
|
112
|
+
Panels live in the host page's DOM, so the page's content security policy
|
|
113
|
+
decides what they can load, and sites like GitHub don't allow images from
|
|
114
|
+
object storage. Previews are therefore fetched in the service worker and
|
|
115
|
+
handed to the panel as data URLs, which every page allows.
|
|
116
|
+
|
|
117
|
+
That fetch needs the storage host in `host_permissions`. The manifest lists
|
|
118
|
+
Google Cloud Storage and S3, which covers the hosted instances. A hub using
|
|
119
|
+
some other storage, e.g. MinIO, needs its host added; without it the preview
|
|
120
|
+
is dropped and the download link still works.
|
|
121
|
+
|
|
122
|
+
## Settings
|
|
123
|
+
|
|
124
|
+
The options page holds two settings.
|
|
125
|
+
|
|
126
|
+
**Hub** selects between calkit.io, the staging instance, a local development
|
|
127
|
+
instance, and a self-hosted one. Changing it applies immediately, and the
|
|
128
|
+
page then shows whether you're signed in to the newly selected hub, since
|
|
129
|
+
credentials are stored per hub and switching generally means signing in
|
|
130
|
+
again.
|
|
131
|
+
|
|
132
|
+
A hub serves its API from the `api` subdomain of the host serving its web
|
|
133
|
+
app, so a self-hosted hub is configured with its URL alone:
|
|
134
|
+
`https://calkit.example.edu` implies `https://api.calkit.example.edu`. Chrome
|
|
135
|
+
prompts for access to that host when the hub is applied. This matches
|
|
136
|
+
`calkit.hub.api_url_from_hub_url` in the Python package; see the
|
|
137
|
+
[self-hosting docs](../docs/hub/self-hosting.md).
|
|
138
|
+
|
|
139
|
+
**Active project** is the project being worked on, remembered per hub.
|
|
140
|
+
Reference lookups check its collections, and importing a reference defaults to
|
|
141
|
+
it. It can also be switched from the popup.
|
|
142
|
+
|
|
143
|
+
Project pickers list only projects you can **write** to
|
|
144
|
+
(`GET /projects?min_access_level=write`), since every action they offer
|
|
145
|
+
writes. The GitHub panel is the exception: it resolves a repo at read
|
|
146
|
+
access, because browsing the DVC artifacts behind a public project you
|
|
147
|
+
don't own is the point of it.
|
|
148
|
+
|
|
149
|
+
## Layout
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
public/manifest.json Extension manifest
|
|
153
|
+
popup.html Toolbar popup page, built to dist/popup.html
|
|
154
|
+
options.html Options page, built to dist/options.html
|
|
155
|
+
src/background/ Service worker: auth, API calls, message routing
|
|
156
|
+
src/content/ One content script per site (github, overleaf,
|
|
157
|
+
references)
|
|
158
|
+
src/core/ Hub config, storage, API client, page detection, UI
|
|
159
|
+
src/popup/ Popup script and shared page styles
|
|
160
|
+
src/options/ Options script
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Both pages are built to the root of `dist` rather than to a path under
|
|
164
|
+
`src/`, so they load from `chrome-extension://<id>/options.html`. Content
|
|
165
|
+
blockers match on request paths and some of their filter lists catch generic
|
|
166
|
+
source-tree paths, which is enough to break an extension page with
|
|
167
|
+
`ERR_BLOCKED_BY_CLIENT`.
|
|
168
|
+
|
|
169
|
+
## Development
|
|
170
|
+
|
|
171
|
+
```sh
|
|
172
|
+
npm run check # Type-check
|
|
173
|
+
npm test # Unit tests for URL and citation-metadata parsing
|
|
174
|
+
npm run format # Prettier
|
|
175
|
+
npm run build # Type-check, then build into dist/
|
|
176
|
+
npm run dev # Rebuild into dist/ as sources change
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`dist` is a directory Chrome has loaded, not just build output, so anything
|
|
180
|
+
that empties it is doing so underneath a running extension. The type check
|
|
181
|
+
therefore happens before `dist` is cleared, and `npm run build` shouldn't be
|
|
182
|
+
run while `npm run dev` is watching: both own the same directory, and a
|
|
183
|
+
service worker that goes missing mid-build stays failed until the extension
|
|
184
|
+
is reloaded.
|
|
185
|
+
|
|
186
|
+
Content scripts are bundled one at a time as IIFEs (see
|
|
187
|
+
`scripts/build-content.mjs`), because Chrome runs them as classic scripts,
|
|
188
|
+
which can't be ES modules or be code-split.
|
|
189
|
+
|
|
190
|
+
## Backend requirements
|
|
191
|
+
|
|
192
|
+
The Overleaf and reference features need hub API endpoints added alongside
|
|
193
|
+
this extension:
|
|
194
|
+
|
|
195
|
+
- `GET /overleaf-links` resolves an Overleaf project ID to the Calkit projects
|
|
196
|
+
that sync with it.
|
|
197
|
+
- `GET /projects/{owner}/{project}/overleaf-syncs/status` reports what a sync
|
|
198
|
+
would do without doing it.
|
|
199
|
+
- `GET /projects?github_repo=owner/repo` looks a project up by its GitHub repo.
|
|
200
|
+
- `GET /user/references/search` finds a reference across named projects.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<title>Calkit options</title>
|
|
6
|
+
<link rel="stylesheet" href="./src/popup/popup.css" />
|
|
7
|
+
</head>
|
|
8
|
+
<body class="options">
|
|
9
|
+
<div id="app"></div>
|
|
10
|
+
<script type="module" src="./src/options/options.ts"></script>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|