calkit-python 0.37.1__tar.gz → 0.37.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {calkit_python-0.37.1 → calkit_python-0.37.2}/PKG-INFO +1 -1
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/dvc/zip.py +73 -9
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/dvc/test_zip.py +8 -1
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.gitignore +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.pre-commit-config.yaml +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.prettierignore +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.python-version +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.vscode/launch.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.vscode/tasks.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/.yarnrc.yml +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/CITATION.cff +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/CODE_OF_CONDUCT.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/CONTRIBUTING.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/LICENSE +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/Makefile +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/README.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/babel.config.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/__main__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/calc.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/check.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/check.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/cloud.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/config.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/describe.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/import_.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/latex.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/list.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/main/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/main/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/main/xr.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/new.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/notebooks.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/office.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/overleaf.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/slurm.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cli/update.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/cloud.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/conda.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/config.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/datasets.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/detect.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/docker.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/dvc/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/dvc/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/environments.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/fs.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/git.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/github.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/gui.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/invenio.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/julia.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/jupyter.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/jupyterlab/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/jupyterlab/routes.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/package.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/schemas/calkit/package.json.orig +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/schemas/calkit/plugin.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/502.9a2c5772a15466e923ef.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/695.2c41003a452d43d2b358.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/867.a42a046aa5108f54f8fb.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/909.651be47ca47390b78a92.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js.LICENSE.txt +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/b2f1c3efe70cb539d121.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/remoteEntry.c091821b3d7f2d287a67.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/style.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/third-party-licenses.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/licenses.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/magics.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/matlab.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/models/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/models/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/models/io.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/models/iteration.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/models/pipeline.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/notebooks.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/office.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/ops.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/overleaf.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/pipeline.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/releases.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/server.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/article/paper.tex +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/jfm/jfm.bst +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/jfm/jfm.cls +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/jfm/paper.tex +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/templates/latex/jfm/upmath.sty +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/main/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/main/test_core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/main/test_xr.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_check.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_config.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_import.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_latex.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_list.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_new.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_notebooks.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_overleaf.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/cli/test_update.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/dvc/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/dvc/test_core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/jupyterlab/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/jupyterlab/test_routes.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/models/__init__.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/models/test_iteration.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/models/test_pipeline.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_calc.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_check.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_conda.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_core.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_detect.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_docker.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_environments.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_fs.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_git.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_invenio.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_julia.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_jupyter.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_magics.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_matlab.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_notebooks.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_pipeline.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_releases.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/tests/test_templates.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/conftest.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/CNAME +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/apps.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/calculations.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/calkit-yaml.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/cli-reference.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/cloud-integration.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/datasets.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/dependencies.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/environments.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/examples.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/governance.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/help.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/c-to-the-k-white.svg +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/calkit-fragmentation-compendium.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/calkit-no-bg.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/connect-zenodo.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/jupyterlab/all-green.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/jupyterlab/collect-data-stale.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/jupyterlab/new-env.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/jupyterlab/new-notebook.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/jupyterlab/pipeline-badge.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/jupyterlab-params.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/plos-osi-code-2024-03.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/img/vscode-nb-params.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/index.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/installation.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/jupyterlab.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/local-server.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/notebooks.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/overleaf.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/pipeline/index.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/pipeline/manual-steps.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/pipeline/running-and-logging.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/pipeline/slurm.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/quickstart.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/references.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/releases.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/reproducibility.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/adding-latex-pub-docker.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/conda-envs.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/existing-project.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/first-project.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/github-actions.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/actions-repo-secrets.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/push.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/chart-more-rows.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/create-project.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/excel-chart.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/excel-data.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/needs-clone.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/new-stage.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/status-more-rows.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/untracked-data.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/updated-publication.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/office/workflow-page.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/clone.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/create-project.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/new-token.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/reclone.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/quick-actions.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/img/run-proc.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/index.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/jupyterlab.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/latex-codespaces.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/matlab.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/notebook-pipeline.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/office.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/openfoam.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/tutorials/procedures.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/docs/version-control.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/install.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/jest.config.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/jupyter-config/server-config/calkit.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/mkdocs.yml +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/package.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/pyproject.toml +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/schema/plugin.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/scripts/generate-cli-reference.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/scripts/install.ps1 +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/scripts/install.sh +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/scripts/make-calk9.sh +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/scripts/sync-docs.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/__tests__/useQueries.spec.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/calkit-config.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/cell-output-marker.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/commit-dialog.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/environment-editor.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/notebook-registration.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/notebook-toolbar.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/pipeline-status-bar.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/project-info-editor.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/sidebar-settings.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/sidebar.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/components/stage-editor.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/feature-flags.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/file-browser-menu.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/hooks/__tests__/useQueries.test.tsx +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/hooks/useQueries.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/icons.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/index.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/io-tracker.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/pipeline-state.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/queryClient.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/request.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/src/shims-mainmenu.d.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/base.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/cell-output-marker.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/environment-editor.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/environment-selector.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/img/calkit-no-bg.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/index.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/index.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/notebook-toolbar.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/pipeline-status-bar.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/style/sidebar.css +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/dvc-md5-dir/osx-arm64.txt +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/nb-julia.ipynb +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/nb-params.ipynb +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/nb-subdir.ipynb +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/pipeline.ipynb +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/script.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/test/test-log.log +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/tsconfig.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/tsconfig.test.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/.gitignore +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/README.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/jupyter_server_test_config.py +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/package.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/playwright.config.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/tests/calkit.spec.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/ui-tests/yarn.lock +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/uv.lock +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/.gitignore +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/.vscodeignore +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/CHANGELOG.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/LICENSE +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/README.md +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/images/calkit-no-bg.png +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/package-lock.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/package.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/scripts/set-proposed-api.js +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/src/environments.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/src/extension.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/src/notebooks.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/src/test/environments.test.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/src/test/notebooks.test.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/src/types.ts +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/vscode-ext/tsconfig.json +0 -0
- {calkit_python-0.37.1 → calkit_python-0.37.2}/yarn.lock +0 -0
|
@@ -25,6 +25,7 @@ from tqdm import tqdm
|
|
|
25
25
|
import calkit
|
|
26
26
|
import calkit.git
|
|
27
27
|
from calkit.core import DVC_SIZE_THRESH_BYTES
|
|
28
|
+
from calkit.dvc.core import run_dvc_command
|
|
28
29
|
|
|
29
30
|
LOCAL_DIR = ".calkit/local"
|
|
30
31
|
ZIPS_DIR = ".calkit/zip"
|
|
@@ -38,6 +39,12 @@ ZIP_CANDIDATE_AVG_FILE_SIZE_BYTES = 10_000_000 # 10 MB
|
|
|
38
39
|
# Minimum number of files a directory must contain to be a zip candidate;
|
|
39
40
|
# a single large file is better tracked directly by DVC
|
|
40
41
|
ZIP_CANDIDATE_MIN_FILE_COUNT = 10
|
|
42
|
+
# Favor speed for dvc-zip by default; users can tune 0..9 via env var
|
|
43
|
+
# CALKIT_DVC_ZIP_COMPRESS_LEVEL
|
|
44
|
+
ZIP_COMPRESS_LEVEL = 1
|
|
45
|
+
# Use Python zipfile by default; set CALKIT_DVC_ZIP_USE_SYSTEM=1 to try
|
|
46
|
+
# the system zip/unzip tools instead (may be faster for very large files)
|
|
47
|
+
ZIP_USE_SYSTEM_CLI = False
|
|
41
48
|
|
|
42
49
|
|
|
43
50
|
def _check_local_dir() -> Path:
|
|
@@ -285,16 +292,59 @@ def get_zip_path(workspace_path: str) -> str:
|
|
|
285
292
|
raise ValueError(f"No zip path defined for {workspace_path}")
|
|
286
293
|
|
|
287
294
|
|
|
295
|
+
def _get_zip_compress_level() -> int:
|
|
296
|
+
raw = os.getenv("CALKIT_DVC_ZIP_COMPRESS_LEVEL", str(ZIP_COMPRESS_LEVEL))
|
|
297
|
+
try:
|
|
298
|
+
level = int(raw)
|
|
299
|
+
except ValueError:
|
|
300
|
+
typer.echo(
|
|
301
|
+
"Invalid CALKIT_DVC_ZIP_COMPRESS_LEVEL value; "
|
|
302
|
+
f"using default {ZIP_COMPRESS_LEVEL}.",
|
|
303
|
+
err=True,
|
|
304
|
+
)
|
|
305
|
+
return ZIP_COMPRESS_LEVEL
|
|
306
|
+
return min(max(level, 0), 9)
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
def _should_use_system_zip_cli() -> bool:
|
|
310
|
+
raw = os.getenv("CALKIT_DVC_ZIP_USE_SYSTEM")
|
|
311
|
+
if raw is None:
|
|
312
|
+
return ZIP_USE_SYSTEM_CLI
|
|
313
|
+
return raw.strip().lower() not in {"0", "false", "no", "off"}
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
def _iter_files(path: str):
|
|
317
|
+
for foldername, _, filenames in os.walk(path):
|
|
318
|
+
for filename in filenames:
|
|
319
|
+
yield os.path.join(foldername, filename)
|
|
320
|
+
|
|
321
|
+
|
|
288
322
|
def zip_(workspace_path: str, zip_path: str):
|
|
289
323
|
"""Zip a path."""
|
|
324
|
+
zip_path = os.path.abspath(zip_path)
|
|
290
325
|
output_dir = os.path.dirname(zip_path)
|
|
291
326
|
os.makedirs(output_dir, exist_ok=True)
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
327
|
+
compress_level = _get_zip_compress_level()
|
|
328
|
+
if _should_use_system_zip_cli() and shutil.which("zip"):
|
|
329
|
+
try:
|
|
330
|
+
subprocess.run(
|
|
331
|
+
["zip", "-q", f"-{compress_level}", "-r", zip_path, "."],
|
|
332
|
+
check=True,
|
|
333
|
+
cwd=workspace_path,
|
|
334
|
+
)
|
|
335
|
+
return
|
|
336
|
+
except Exception:
|
|
337
|
+
typer.echo(
|
|
338
|
+
"System zip failed; falling back to Python zipfile.",
|
|
339
|
+
err=True,
|
|
340
|
+
)
|
|
341
|
+
all_files = list(_iter_files(workspace_path))
|
|
342
|
+
with ZipFile(
|
|
343
|
+
zip_path,
|
|
344
|
+
"w",
|
|
345
|
+
compression=zipfile.ZIP_DEFLATED,
|
|
346
|
+
compresslevel=compress_level,
|
|
347
|
+
) as zip_file:
|
|
298
348
|
for file_path in tqdm(all_files, desc="Zipping", unit="file"):
|
|
299
349
|
zip_file.write(
|
|
300
350
|
file_path, os.path.relpath(file_path, workspace_path)
|
|
@@ -303,11 +353,25 @@ def zip_(workspace_path: str, zip_path: str):
|
|
|
303
353
|
|
|
304
354
|
def unzip(workspace_path: str, zip_path: str):
|
|
305
355
|
"""Unzip from zip to workspace."""
|
|
356
|
+
zip_path = os.path.abspath(zip_path)
|
|
306
357
|
input_dir = os.path.dirname(workspace_path)
|
|
307
358
|
if input_dir:
|
|
308
359
|
os.makedirs(input_dir, exist_ok=True)
|
|
360
|
+
if _should_use_system_zip_cli() and shutil.which("unzip"):
|
|
361
|
+
try:
|
|
362
|
+
os.makedirs(workspace_path, exist_ok=True)
|
|
363
|
+
subprocess.run(
|
|
364
|
+
["unzip", "-oq", zip_path, "-d", workspace_path],
|
|
365
|
+
check=True,
|
|
366
|
+
)
|
|
367
|
+
return
|
|
368
|
+
except Exception:
|
|
369
|
+
typer.echo(
|
|
370
|
+
"System unzip failed; falling back to Python zipfile.",
|
|
371
|
+
err=True,
|
|
372
|
+
)
|
|
309
373
|
with ZipFile(zip_path, "r") as zip_file:
|
|
310
|
-
members = zip_file.
|
|
374
|
+
members = zip_file.infolist()
|
|
311
375
|
for member in tqdm(members, desc="Unzipping", unit="file"):
|
|
312
376
|
zip_file.extract(member, workspace_path)
|
|
313
377
|
|
|
@@ -407,7 +471,7 @@ def sync_one(
|
|
|
407
471
|
if zip_deleted and direction == "to-zip":
|
|
408
472
|
typer.echo(f"Rezipping '{workspace_path}' (zip was deleted)")
|
|
409
473
|
zip_(workspace_path=workspace_path, zip_path=zip_path)
|
|
410
|
-
|
|
474
|
+
run_dvc_command(["add", zip_path])
|
|
411
475
|
zip_hash = get_hash(zip_path)
|
|
412
476
|
# Workspace was deleted but zip exists and direction is to-workspace:
|
|
413
477
|
# restore workspace
|
|
@@ -429,7 +493,7 @@ def sync_one(
|
|
|
429
493
|
if workspace_changed and (direction in ["to-zip", "both"]):
|
|
430
494
|
typer.echo(f"Zipping '{workspace_path}' (workspace has changed)")
|
|
431
495
|
zip_(workspace_path=workspace_path, zip_path=zip_path)
|
|
432
|
-
|
|
496
|
+
run_dvc_command(["add", zip_path])
|
|
433
497
|
zip_hash = get_hash(zip_path)
|
|
434
498
|
# If we unzip, we need to update the hash
|
|
435
499
|
if zip_changed and (direction in ["to-workspace", "both"]):
|
|
@@ -200,7 +200,14 @@ def test_get_sync_status(tmp_dir):
|
|
|
200
200
|
|
|
201
201
|
|
|
202
202
|
def test_sync_one(tmp_dir, monkeypatch):
|
|
203
|
-
|
|
203
|
+
real_run = calkit.dvc.zip.subprocess.run
|
|
204
|
+
|
|
205
|
+
def _run(cmd, *args, **kwargs):
|
|
206
|
+
if cmd and cmd[0] == "dvc":
|
|
207
|
+
return None
|
|
208
|
+
return real_run(cmd, *args, **kwargs)
|
|
209
|
+
|
|
210
|
+
monkeypatch.setattr("calkit.dvc.zip.subprocess.run", _run)
|
|
204
211
|
# to-zip: zips input and writes sync record
|
|
205
212
|
src = tmp_dir / "src"
|
|
206
213
|
src.mkdir()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/schemas/calkit/package.json.orig
RENAMED
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/schemas/calkit/plugin.json
RENAMED
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/502.9a2c5772a15466e923ef.js
RENAMED
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/695.2c41003a452d43d2b358.js
RENAMED
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/867.a42a046aa5108f54f8fb.js
RENAMED
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/909.651be47ca47390b78a92.js
RENAMED
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/946.050af2abf7845cfbdbd2.js
RENAMED
|
File without changes
|
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/b2f1c3efe70cb539d121.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.37.1 → calkit_python-0.37.2}/calkit/labextension/static/third-party-licenses.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|