calkit-python 0.30.9__tar.gz → 0.30.11__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.9 → calkit_python-0.30.11}/PKG-INFO +1 -1
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/__init__.py +1 -1
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/main.py +20 -3
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/overleaf.py +1 -5
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/core.py +20 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_main.py +25 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/dependencies.md +11 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.github/FUNDING.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.github/workflows/docs.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.github/workflows/format.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.github/workflows/publish-test.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.github/workflows/publish.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.github/workflows/test.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.gitignore +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.pre-commit-config.yaml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/.python-version +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/CITATION.cff +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/CONTRIBUTING.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/LICENSE +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/Makefile +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/README.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/__main__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/calc.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/check.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/check.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/cloud.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/config.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/core.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/describe.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/import_.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/list.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/new.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/notebooks.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/office.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/slurm.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cli/update.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/cloud.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/conda.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/config.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/datasets.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/docker.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/dvc.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/environments.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/git.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/github.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/gui.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/invenio.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/jupyter.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/licenses.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/magics.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/matlab.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/models/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/models/core.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/models/io.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/models/iteration.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/models/pipeline.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/notebooks.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/office.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/ops.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/overleaf.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/pipeline.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/releases.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/server.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/core.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/article/paper.tex +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/core.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/jfm/jfm.bst +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/jfm/jfm.cls +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/jfm/lineno-FLM.sty +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/jfm/paper.tex +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/templates/latex/jfm/upmath.sty +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_check.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_config.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_list.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_new.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_notebooks.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/cli/test_overleaf.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/models/__init__.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/models/test_iteration.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/models/test_pipeline.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_calc.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_check.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_conda.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_core.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_dvc.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_invenio.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_jupyter.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_magics.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_notebooks.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_pipeline.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/calkit/tests/test_templates.py +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/CNAME +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/apps.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/calculations.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/calkit-yaml.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/cli-reference.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/cloud-integration.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/datasets.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/environments.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/examples.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/help.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/img/c-to-the-k-white.svg +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/img/calkit-no-bg.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/img/connect-zenodo.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/img/jupyterlab-params.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/img/vscode-nb-params.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/index.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/installation.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/local-server.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/notebooks.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/overleaf.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/pipeline/index.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/pipeline/manual-steps.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/pipeline/running-and-logging.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/pipeline/slurm.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/quickstart.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/references.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/releases.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/adding-latex-pub-docker.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/conda-envs.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/existing-project.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/first-project.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/github-actions.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/actions-repo-secrets.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/building-codespace.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/codespaces-secrets-2.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/editor-split.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/go-to-linked-code.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/issue-from-selection.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/new-project.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/new-pub-2.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/new-token.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/paper.tex.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/project-home-3.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/push.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/stage.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/anakin-excel.jpg +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/chart-more-rows.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/create-project.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/elsevier-research-data-guidelines.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/excel-chart.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/excel-data.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/insert-link-to-file.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/needs-clone.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/new-stage.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/phd-comics-version-control.webp +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/pipeline-out-of-date.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/status-more-rows.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/uncommitted-changes.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/untracked-data.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/updated-publication.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/word-to-pdf-stage-2.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/workflow-page.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/clone.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/create-project.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/datasets-page.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/figure-on-website-updated.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/figure-on-website.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/new-token.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/reclone.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/status-after-import-dataset.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/quick-actions.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/run-proc.png +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/index.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/latex-codespaces.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/matlab.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/notebook-pipeline.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/office.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/openfoam.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/procedures.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/docs/version-control.md +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/mkdocs.yml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/pyproject.toml +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/scripts/install.ps1 +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/scripts/install.sh +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/test/nb-julia.ipynb +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/test/nb-params.ipynb +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/test/nb-subdir.ipynb +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/test/pipeline.ipynb +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/test/test-log.log +0 -0
- {calkit_python-0.30.9 → calkit_python-0.30.11}/uv.lock +0 -0
|
@@ -82,9 +82,20 @@ app.add_typer(cloud_app, name="cloud", help="Interact with a Calkit Cloud.")
|
|
|
82
82
|
app.add_typer(slurm_app, name="slurm", help="Work with SLURM.")
|
|
83
83
|
|
|
84
84
|
# Constants for version control auto-ignore
|
|
85
|
-
AUTO_IGNORE_SUFFIXES = [
|
|
85
|
+
AUTO_IGNORE_SUFFIXES = [
|
|
86
|
+
".DS_Store",
|
|
87
|
+
".env",
|
|
88
|
+
".pyc",
|
|
89
|
+
".synctex.gz",
|
|
90
|
+
".ipynb_checkpoints",
|
|
91
|
+
]
|
|
86
92
|
AUTO_IGNORE_PATHS = [os.path.join(".dvc", "config.local")]
|
|
87
|
-
AUTO_IGNORE_PREFIXES = [
|
|
93
|
+
AUTO_IGNORE_PREFIXES = [
|
|
94
|
+
".venv",
|
|
95
|
+
"__pycache__",
|
|
96
|
+
".ipynb_checkpoints",
|
|
97
|
+
".calkit/overleaf/",
|
|
98
|
+
]
|
|
88
99
|
# Constants for version control auto-add to DVC
|
|
89
100
|
DVC_EXTENSIONS = [
|
|
90
101
|
".png",
|
|
@@ -990,6 +1001,9 @@ def run(
|
|
|
990
1001
|
"""Check dependencies and run the pipeline."""
|
|
991
1002
|
os.environ["CALKIT_PIPELINE_RUNNING"] = "1"
|
|
992
1003
|
dotenv.load_dotenv(dotenv_path=".env", verbose=verbose)
|
|
1004
|
+
ck_info = calkit.load_calkit_info()
|
|
1005
|
+
# Set env vars
|
|
1006
|
+
calkit.set_env_vars(ck_info=ck_info)
|
|
993
1007
|
if not quiet:
|
|
994
1008
|
typer.echo("Getting system information")
|
|
995
1009
|
system_info = calkit.get_system_info()
|
|
@@ -1013,7 +1027,6 @@ def run(
|
|
|
1013
1027
|
os.environ.pop("CALKIT_PIPELINE_RUNNING", None)
|
|
1014
1028
|
raise_error(str(e))
|
|
1015
1029
|
# Compile the pipeline
|
|
1016
|
-
ck_info = calkit.load_calkit_info()
|
|
1017
1030
|
if ck_info.get("pipeline", {}):
|
|
1018
1031
|
if not quiet:
|
|
1019
1032
|
typer.echo("Compiling DVC pipeline")
|
|
@@ -1251,6 +1264,7 @@ def run_in_env(
|
|
|
1251
1264
|
):
|
|
1252
1265
|
dotenv.load_dotenv(dotenv_path=".env", verbose=verbose)
|
|
1253
1266
|
ck_info = calkit.load_calkit_info(process_includes="environments")
|
|
1267
|
+
calkit.set_env_vars(ck_info=ck_info)
|
|
1254
1268
|
envs = ck_info.get("environments", {})
|
|
1255
1269
|
if not envs:
|
|
1256
1270
|
raise_error("No environments defined in calkit.yaml")
|
|
@@ -1314,6 +1328,8 @@ def run_in_env(
|
|
|
1314
1328
|
if "env-vars" in env:
|
|
1315
1329
|
warn("The 'env-vars' key is deprecated; use 'env_vars' instead.")
|
|
1316
1330
|
env_vars.update(env["env-vars"])
|
|
1331
|
+
# Add project-level env vars (non-secret)
|
|
1332
|
+
env_vars.update(ck_info.get("env_vars", {}))
|
|
1317
1333
|
# Also add any project-level environmental variable dependencies
|
|
1318
1334
|
project_env_vars = calkit.get_env_var_dep_names()
|
|
1319
1335
|
if project_env_vars:
|
|
@@ -1668,6 +1684,7 @@ def run_procedure(
|
|
|
1668
1684
|
return value
|
|
1669
1685
|
|
|
1670
1686
|
ck_info = calkit.load_calkit_info(process_includes="procedures")
|
|
1687
|
+
calkit.set_env_vars(ck_info=ck_info)
|
|
1671
1688
|
procs = ck_info.get("procedures", {})
|
|
1672
1689
|
if name not in procs:
|
|
1673
1690
|
raise_error(f"'{name}' is not defined as a procedure")
|
|
@@ -159,11 +159,7 @@ def import_publication(
|
|
|
159
159
|
shutil.rmtree(overleaf_project_dir)
|
|
160
160
|
# Clone the Overleaf project
|
|
161
161
|
typer.echo("Cloning Overleaf project")
|
|
162
|
-
git.Repo.clone_from(
|
|
163
|
-
git_clone_url,
|
|
164
|
-
overleaf_project_dir,
|
|
165
|
-
depth=1,
|
|
166
|
-
)
|
|
162
|
+
git.Repo.clone_from(git_clone_url, overleaf_project_dir)
|
|
167
163
|
# Detect target path if not specified
|
|
168
164
|
if target_path is None:
|
|
169
165
|
ol_contents = os.listdir(overleaf_project_dir)
|
|
@@ -602,3 +602,23 @@ def get_md5(path: str, exclude_files: list[str] | None = None) -> str:
|
|
|
602
602
|
with open(path) as f:
|
|
603
603
|
content = f.read()
|
|
604
604
|
return hashlib.md5(content.encode()).hexdigest()
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
def set_env_vars(ck_info: dict, cli: bool = True) -> None:
|
|
608
|
+
"""Set environmental variables according to the values read from
|
|
609
|
+
``calkit.yaml``.
|
|
610
|
+
"""
|
|
611
|
+
env_vars = ck_info.get("env_vars", {})
|
|
612
|
+
if not isinstance(env_vars, dict):
|
|
613
|
+
msg = (
|
|
614
|
+
"Environmental variables in Calkit project info must be a "
|
|
615
|
+
"map/dictionary"
|
|
616
|
+
)
|
|
617
|
+
if cli:
|
|
618
|
+
from calkit.cli import raise_error
|
|
619
|
+
|
|
620
|
+
raise_error(msg)
|
|
621
|
+
else:
|
|
622
|
+
raise ValueError(msg)
|
|
623
|
+
for k, v in env_vars.items():
|
|
624
|
+
os.environ[str(k)] = str(v)
|
|
@@ -50,6 +50,18 @@ def test_run_in_env(tmp_dir):
|
|
|
50
50
|
stdin=stdin,
|
|
51
51
|
check=True,
|
|
52
52
|
)
|
|
53
|
+
# Check that we can pass project env vars into the container
|
|
54
|
+
ck_info = calkit.load_calkit_info()
|
|
55
|
+
ck_info["env_vars"] = {"MY_COOL_ENV_VAR": "my cool value"}
|
|
56
|
+
with open("calkit.yaml", "w") as f:
|
|
57
|
+
calkit.ryaml.dump(ck_info, f)
|
|
58
|
+
p = subprocess.run(
|
|
59
|
+
["calkit", "xenv", "echo", "$MY_COOL_ENV_VAR"],
|
|
60
|
+
text=True,
|
|
61
|
+
capture_output=True,
|
|
62
|
+
check=True,
|
|
63
|
+
)
|
|
64
|
+
assert "my cool value" in p.stdout
|
|
53
65
|
# Now let's create a 2nd Docker env and make sure we need to call it by
|
|
54
66
|
# name when trying to run
|
|
55
67
|
subprocess.check_call(
|
|
@@ -452,6 +464,19 @@ def test_run(tmp_dir):
|
|
|
452
464
|
subprocess.check_call(
|
|
453
465
|
["calkit", "save", "-am", "Run pipeline", "--no-push"]
|
|
454
466
|
)
|
|
467
|
+
# Test that we can set env vars at the project level
|
|
468
|
+
ck_info = calkit.load_calkit_info()
|
|
469
|
+
ck_info["env_vars"] = {"MY_ENV_VAR": "some-value"}
|
|
470
|
+
with open("calkit.yaml", "w") as f:
|
|
471
|
+
calkit.ryaml.dump(ck_info, f)
|
|
472
|
+
with open("script.py", "w") as f:
|
|
473
|
+
f.write("import os\nprint(os.environ['MY_ENV_VAR'])")
|
|
474
|
+
out = subprocess.check_output(["calkit", "run"], text=True)
|
|
475
|
+
print(out)
|
|
476
|
+
assert "some-value" in out
|
|
477
|
+
subprocess.check_call(
|
|
478
|
+
["calkit", "save", "-am", "Run pipeline", "--no-push"]
|
|
479
|
+
)
|
|
455
480
|
# Make sure we can run on a detached head
|
|
456
481
|
repo = git.Repo()
|
|
457
482
|
repo.git.checkout("HEAD^")
|
|
@@ -57,3 +57,14 @@ can be used to define these variables.
|
|
|
57
57
|
in lieu of directly editing `.env`.
|
|
58
58
|
`calkit check env-vars` can also be run to check for missing variables,
|
|
59
59
|
prompting the user for their values and setting them in `.env`.
|
|
60
|
+
|
|
61
|
+
Additional (non-secret) environmental variables can be set at the project
|
|
62
|
+
level in `calkit.yaml` in the `env_vars` map:
|
|
63
|
+
|
|
64
|
+
```yaml
|
|
65
|
+
env_vars:
|
|
66
|
+
MY_ENV_VAR_NAME: the-value-here
|
|
67
|
+
ANOTHER_VAR: another value
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
These will then be set for calls to the `run` and `xenv` commands.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/editor-split.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/new-project.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/new-pub-2.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/new-token.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/paper.tex.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/latex-codespaces/stage.png
RENAMED
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/chart-more-rows.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/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.9 → calkit_python-0.30.11}/docs/tutorials/img/office/pipeline-out-of-date.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/status-more-rows.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/uncommitted-changes.png
RENAMED
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/updated-publication.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/office/word-to-pdf-stage-2.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/create-project.png
RENAMED
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/docs/tutorials/img/openfoam/datasets-page.png
RENAMED
|
File without changes
|
|
File without changes
|
{calkit_python-0.30.9 → calkit_python-0.30.11}/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
|
|
File without changes
|