calkit-python 0.30.0__tar.gz → 0.30.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.30.0 → calkit_python-0.30.2}/PKG-INFO +1 -1
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/__init__.py +1 -1
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/overleaf.py +25 -13
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/models/pipeline.py +9 -2
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/test_new.py +2 -1
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/models/test_pipeline.py +8 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.github/FUNDING.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.github/workflows/docs.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.github/workflows/format.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.github/workflows/publish-test.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.github/workflows/publish.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.github/workflows/test.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.gitignore +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.pre-commit-config.yaml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/.python-version +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/CITATION.cff +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/CONTRIBUTING.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/LICENSE +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/Makefile +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/README.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/__main__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/calc.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/check.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/check.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/cloud.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/config.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/core.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/describe.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/import_.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/list.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/main.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/new.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/notebooks.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/office.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/slurm.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cli/update.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/cloud.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/conda.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/config.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/core.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/datasets.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/docker.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/dvc.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/environments.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/git.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/github.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/gui.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/jupyter.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/magics.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/matlab.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/models/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/models/core.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/models/io.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/models/iteration.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/notebooks.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/office.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/ops.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/pipeline.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/releases.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/server.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/core.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/article/paper.tex +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/core.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/jfm/jfm.bst +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/jfm/jfm.cls +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/jfm/paper.tex +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/templates/latex/jfm/upmath.sty +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/test_check.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/test_config.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/test_list.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/test_main.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/cli/test_notebooks.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/models/__init__.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/models/test_iteration.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_calc.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_check.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_conda.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_core.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_dvc.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_jupyter.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_magics.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_notebooks.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_pipeline.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/tests/test_templates.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/calkit/zenodo.py +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/CNAME +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/apps.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/calculations.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/calkit-yaml.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/cli-reference.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/cloud-integration.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/datasets.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/dependencies.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/environments.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/examples.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/help.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/img/c-to-the-k-white.svg +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/img/calkit-no-bg.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/img/connect-zenodo.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/img/jupyterlab-params.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/img/vscode-nb-params.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/index.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/installation.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/local-server.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/notebooks.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/overleaf.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/pipeline/index.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/pipeline/manual-steps.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/pipeline/running-and-logging.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/pipeline/slurm.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/quickstart.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/references.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/releases.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/adding-latex-pub-docker.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/conda-envs.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/existing-project.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/first-project.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/github-actions.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/actions-repo-secrets.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/push.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/chart-more-rows.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/create-project.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/excel-chart.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/excel-data.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/needs-clone.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/new-stage.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/status-more-rows.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/untracked-data.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/updated-publication.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/workflow-page.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/clone.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/create-project.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/new-token.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/reclone.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/quick-actions.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/run-proc.png +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/index.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/latex-codespaces.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/matlab.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/notebook-pipeline.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/office.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/openfoam.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/procedures.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/docs/version-control.md +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/mkdocs.yml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/pyproject.toml +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/scripts/install.ps1 +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/scripts/install.sh +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/test/nb-params.ipynb +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/test/nb-subdir.ipynb +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/test/pipeline.ipynb +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/test/test-log.log +0 -0
- {calkit_python-0.30.0 → calkit_python-0.30.2}/uv.lock +0 -0
|
@@ -314,6 +314,14 @@ def sync(
|
|
|
314
314
|
for path in paths:
|
|
315
315
|
if not any(pub.get("path") == path for pub in pubs):
|
|
316
316
|
raise_error(f"Publication with path '{path}' not found")
|
|
317
|
+
# First check our config for an Overleaf token
|
|
318
|
+
calkit_config = calkit.config.read()
|
|
319
|
+
overleaf_token = calkit_config.overleaf_token
|
|
320
|
+
if not overleaf_token:
|
|
321
|
+
raise_error(
|
|
322
|
+
"Overleaf token not set; "
|
|
323
|
+
"Please set it using 'calkit config set overleaf_token'"
|
|
324
|
+
)
|
|
317
325
|
repo = git.Repo()
|
|
318
326
|
for pub in pubs:
|
|
319
327
|
overleaf_config = pub.get("overleaf", {})
|
|
@@ -341,26 +349,30 @@ def sync(
|
|
|
341
349
|
overleaf_project_dir = os.path.join(
|
|
342
350
|
".calkit", "overleaf", overleaf_project_id
|
|
343
351
|
)
|
|
352
|
+
overleaf_remote_url = (
|
|
353
|
+
f"https://git:{overleaf_token}@git.overleaf.com/"
|
|
354
|
+
f"{overleaf_project_id}"
|
|
355
|
+
)
|
|
344
356
|
if not os.path.isdir(overleaf_project_dir):
|
|
345
|
-
calkit_config = calkit.config.read()
|
|
346
|
-
overleaf_token = calkit_config.overleaf_token
|
|
347
|
-
if not overleaf_token:
|
|
348
|
-
raise_error(
|
|
349
|
-
"Overleaf token not set; "
|
|
350
|
-
"Please set it using 'calkit config set overleaf_token'"
|
|
351
|
-
)
|
|
352
|
-
overleaf_clone_url = (
|
|
353
|
-
f"https://git:{overleaf_token}@git.overleaf.com/"
|
|
354
|
-
f"{overleaf_project_id}"
|
|
355
|
-
)
|
|
356
357
|
overleaf_repo = git.Repo.clone_from(
|
|
357
|
-
|
|
358
|
+
overleaf_remote_url, to_path=overleaf_project_dir
|
|
358
359
|
)
|
|
359
360
|
else:
|
|
360
361
|
overleaf_repo = git.Repo(overleaf_project_dir)
|
|
361
362
|
# Pull the latest version in the Overleaf project
|
|
362
363
|
typer.echo("Pulling the latest version from Overleaf")
|
|
363
|
-
|
|
364
|
+
# Ensure that our current Overleaf remote URL is correct
|
|
365
|
+
overleaf_repo.git.remote("set-url", "origin", overleaf_remote_url)
|
|
366
|
+
try:
|
|
367
|
+
overleaf_repo.git.pull()
|
|
368
|
+
except Exception:
|
|
369
|
+
raise_error(
|
|
370
|
+
"Failed to pull from Overleaf; "
|
|
371
|
+
"check that your Overleaf token is valid\n"
|
|
372
|
+
"Run 'calkit config get overleaf_token' and ensure that "
|
|
373
|
+
"it matches one in your Overleaf account settings "
|
|
374
|
+
"(https://overleaf.com/user/settings)"
|
|
375
|
+
)
|
|
364
376
|
last_sync_commit = pub["overleaf"].get("last_sync_commit")
|
|
365
377
|
# Determine which paths to sync and push
|
|
366
378
|
# TODO: Support glob patterns
|
|
@@ -211,13 +211,16 @@ class PythonScriptStage(Stage):
|
|
|
211
211
|
class LatexStage(Stage):
|
|
212
212
|
kind: Literal["latex"] = "latex"
|
|
213
213
|
target_path: str
|
|
214
|
+
latexmkrc_path: str | None = None
|
|
214
215
|
verbose: bool = False
|
|
215
216
|
force: bool = False
|
|
216
217
|
synctex: bool = True
|
|
217
218
|
|
|
218
219
|
@property
|
|
219
220
|
def dvc_cmd(self) -> str:
|
|
220
|
-
cmd = f"{self.xenv_cmd} latexmk -cd -interaction=nonstopmode"
|
|
221
|
+
cmd = f"{self.xenv_cmd} latexmk -cd -norc -interaction=nonstopmode"
|
|
222
|
+
if self.latexmkrc_path is not None:
|
|
223
|
+
cmd += f" -r {self.latexmkrc_path}"
|
|
221
224
|
if not self.verbose:
|
|
222
225
|
cmd += " -silent"
|
|
223
226
|
if self.force:
|
|
@@ -229,7 +232,11 @@ class LatexStage(Stage):
|
|
|
229
232
|
|
|
230
233
|
@property
|
|
231
234
|
def dvc_deps(self) -> list[str]:
|
|
232
|
-
|
|
235
|
+
deps = [self.target_path]
|
|
236
|
+
if self.latexmkrc_path is not None:
|
|
237
|
+
deps.append(self.latexmkrc_path)
|
|
238
|
+
deps += super().dvc_deps
|
|
239
|
+
return deps
|
|
233
240
|
|
|
234
241
|
@property
|
|
235
242
|
def dvc_outs(self) -> list[str | dict]:
|
|
@@ -579,7 +579,8 @@ def test_new_latex_stage(tmp_dir):
|
|
|
579
579
|
pipeline = calkit.dvc.read_pipeline()
|
|
580
580
|
assert pipeline["stages"]["build-paper"]["cmd"] == (
|
|
581
581
|
"calkit xenv -n tex --no-check -- "
|
|
582
|
-
"latexmk -cd -interaction=nonstopmode -silent -synctex=1
|
|
582
|
+
"latexmk -cd -norc -interaction=nonstopmode -silent -synctex=1 "
|
|
583
|
+
"-pdf paper.tex"
|
|
583
584
|
)
|
|
584
585
|
assert set(pipeline["stages"]["build-paper"]["deps"]) == set(
|
|
585
586
|
["paper.tex", ".calkit/env-locks/tex.json"]
|
|
@@ -63,6 +63,14 @@ def test_latexstage():
|
|
|
63
63
|
assert " -silent " not in s.dvc_cmd
|
|
64
64
|
assert "my-paper.tex" in s.dvc_deps
|
|
65
65
|
assert "my-paper.pdf" in s.dvc_outs
|
|
66
|
+
s = LatexStage(
|
|
67
|
+
name="something",
|
|
68
|
+
environment="tex",
|
|
69
|
+
target_path="my-paper.tex",
|
|
70
|
+
latexmkrc_path="test/latexmkrc",
|
|
71
|
+
)
|
|
72
|
+
assert "test/latexmkrc" in s.dvc_deps
|
|
73
|
+
assert "-r test/latexmkrc" in s.dvc_cmd
|
|
66
74
|
|
|
67
75
|
|
|
68
76
|
def test_jupyternotebookstage():
|
|
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
|
|
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.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/editor-split.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/new-project.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/new-pub-2.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/new-token.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/paper.tex.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/latex-codespaces/project-home-3.png
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
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/insert-link-to-file.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/pipeline-out-of-date.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/status-more-rows.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/uncommitted-changes.png
RENAMED
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/updated-publication.png
RENAMED
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/office/word-to-pdf-stage-2.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/create-project.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.0 → calkit_python-0.30.2}/docs/tutorials/img/openfoam/figure-on-website.png
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
|