ellf-cli 4.0.86__tar.gz → 4.0.88__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.
Files changed (181) hide show
  1. {ellf_cli-4.0.86/ellf_cli.egg-info → ellf_cli-4.0.88}/PKG-INFO +1 -1
  2. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/about.json +1 -1
  3. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf.json +1 -1
  4. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/query.py +37 -0
  5. {ellf_cli-4.0.86 → ellf_cli-4.0.88/ellf_cli.egg-info}/PKG-INFO +1 -1
  6. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/LICENSE +0 -0
  7. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/MANIFEST.in +0 -0
  8. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/README.md +0 -0
  9. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/__init__.py +0 -0
  10. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/__main__.py +0 -0
  11. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/about.py +0 -0
  12. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/appdirs.py +0 -0
  13. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/auth.py +0 -0
  14. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/cli.py +0 -0
  15. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/cloud/__init__.py +0 -0
  16. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/cloud/gcp.py +0 -0
  17. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/cluster_config.py +0 -0
  18. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/__init__.py +0 -0
  19. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/_recipe_file.py +0 -0
  20. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/_recipe_subcommand.py +0 -0
  21. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/_state.py +0 -0
  22. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/actions.py +0 -0
  23. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/agents.py +0 -0
  24. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/assets.py +0 -0
  25. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/clusters.py +0 -0
  26. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/config.py +0 -0
  27. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/datasets.py +0 -0
  28. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/files/__init__.py +0 -0
  29. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/files/cp.py +0 -0
  30. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/files/ls.py +0 -0
  31. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/files/rm.py +0 -0
  32. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/files/rsync.py +0 -0
  33. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/files/stats.py +0 -0
  34. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/general.py +0 -0
  35. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/import_export.py +0 -0
  36. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/__init__.py +0 -0
  37. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/_helpers.py +0 -0
  38. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/deploy.py +0 -0
  39. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/init_values.py +0 -0
  40. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/provision.py +0 -0
  41. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/register.py +0 -0
  42. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/setup.py +0 -0
  43. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/start.py +0 -0
  44. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/terraform.py +0 -0
  45. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/infra/tls.py +0 -0
  46. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/jobs.py +0 -0
  47. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/packages.py +0 -0
  48. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/paths.py +0 -0
  49. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/plans.py +0 -0
  50. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/projects.py +0 -0
  51. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/publish_code.py +0 -0
  52. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/publish_data.py +0 -0
  53. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/recipes.py +0 -0
  54. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/secrets.py +0 -0
  55. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/support.py +0 -0
  56. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/tasks.py +0 -0
  57. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/commands/todos.py +0 -0
  58. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/config.py +0 -0
  59. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/.claude-plugin/plugin.json +0 -0
  60. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/.gitignore +0 -0
  61. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/bin/write-current-session.py +0 -0
  62. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/hooks/hooks.json +0 -0
  63. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skill_variants.json +0 -0
  64. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.assistant/SKILL.md +0 -0
  65. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.assistant/references/annotation_audit.md +0 -0
  66. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.assistant/references/builtin_ellf_annotation_recipes.md +0 -0
  67. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.coding/SKILL.md +0 -0
  68. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.coding/references/annotation_audit.md +0 -0
  69. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.coding/references/builtin_ellf_annotation_recipes.md +0 -0
  70. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-annotate.coding/references/builtin_prodigy_recipes.md +0 -0
  71. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-ask/SKILL.md +0 -0
  72. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-handoff/SKILL.md +0 -0
  73. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.assistant/SKILL.md +0 -0
  74. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.assistant/references/annotation_metrics.md +0 -0
  75. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.assistant/references/training_monitoring.md +0 -0
  76. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.coding/SKILL.md +0 -0
  77. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.coding/references/annotation_metrics.md +0 -0
  78. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.coding/references/training_monitoring.md +0 -0
  79. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-monitor.coding/scripts/check_training.py +0 -0
  80. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-ops.assistant/SKILL.md +0 -0
  81. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-ops.coding/SKILL.md +0 -0
  82. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-ops.coding/references/data_infra_cli.md +0 -0
  83. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-ops.coding/scripts/run_job.py +0 -0
  84. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-patterns/SKILL.md +0 -0
  85. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-patterns/references/pattern_strategies.md +0 -0
  86. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/SKILL.md +0 -0
  87. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_action_recipe.py +0 -0
  88. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_agent_recipe.py +0 -0
  89. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_blocks_ui.py +0 -0
  90. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_correct.py +0 -0
  91. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_custom_ui.py +0 -0
  92. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_manual.py +0 -0
  93. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_pages_ui.py +0 -0
  94. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_routing.py +0 -0
  95. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_task_recipe.py +0 -0
  96. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/assets/templates/template_teach.py +0 -0
  97. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/references/builtin_recipes.md +0 -0
  98. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/references/ellf_recipe_sdk.md +0 -0
  99. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/references/lint_recipe.py +0 -0
  100. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/references/prodigy_recipe_api.md +0 -0
  101. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-prodigy/references/template_index.md +0 -0
  102. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.assistant/SKILL.md +0 -0
  103. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.assistant/references/consulting_patterns.md +0 -0
  104. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.assistant/references/explosion_strategy.md +0 -0
  105. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.assistant/references/prodigy_llm_bot.md +0 -0
  106. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.coding/SKILL.md +0 -0
  107. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.coding/references/consulting_patterns.md +0 -0
  108. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.coding/references/explosion_strategy.md +0 -0
  109. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-project.coding/references/prodigy_llm_bot.md +0 -0
  110. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-support.assistant/SKILL.md +0 -0
  111. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-support.coding/SKILL.md +0 -0
  112. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-todo/SKILL.md +0 -0
  113. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.assistant/SKILL.md +0 -0
  114. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.assistant/references/diagnostics.md +0 -0
  115. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.assistant/references/evaluation_guide.md +0 -0
  116. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.assistant/references/model_selection.md +0 -0
  117. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.assistant/references/training_paradigms.md +0 -0
  118. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.assistant/references/workflow.md +0 -0
  119. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/SKILL.md +0 -0
  120. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/config_advanced.md +0 -0
  121. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/config_architectures.md +0 -0
  122. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/config_training.md +0 -0
  123. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/diagnostics.md +0 -0
  124. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/evaluation_guide.md +0 -0
  125. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/experiment_patterns.md +0 -0
  126. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/model_selection.md +0 -0
  127. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/training_paradigms.md +0 -0
  128. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/training_troubleshooting.md +0 -0
  129. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/references/workflow.md +0 -0
  130. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ellf_skills/skills/ellf-train.coding/scripts/ellf_logger.py +0 -0
  131. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/errors.py +0 -0
  132. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/helm.py +0 -0
  133. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/key_pair.py +0 -0
  134. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/main.py +0 -0
  135. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/messages.py +0 -0
  136. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/cookiecutter.json +0 -0
  137. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/.gitignore +0 -0
  138. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/README.md.tmpl +0 -0
  139. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/requirements-dev.in +0 -0
  140. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/requirements.in +0 -0
  141. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/setup.py.tmpl +0 -0
  142. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/__init__.py +0 -0
  143. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/about.py +0 -0
  144. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/recipes/__init__.py +0 -0
  145. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/recipes/example_task.py +0 -0
  146. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/testing/__init__.py +0 -0
  147. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ty.py +0 -0
  148. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/ui.py +0 -0
  149. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/url.py +0 -0
  150. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli/util.py +0 -0
  151. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli.egg-info/SOURCES.txt +0 -0
  152. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli.egg-info/dependency_links.txt +0 -0
  153. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli.egg-info/entry_points.txt +0 -0
  154. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli.egg-info/not-zip-safe +0 -0
  155. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli.egg-info/requires.txt +0 -0
  156. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/ellf_cli.egg-info/top_level.txt +0 -0
  157. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/pyproject.toml +0 -0
  158. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/setup.cfg +0 -0
  159. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/setup.py +0 -0
  160. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_appdirs.py +0 -0
  161. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_auth.py +0 -0
  162. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_config.py +0 -0
  163. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_errors.py +0 -0
  164. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_files_cp.py +0 -0
  165. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_files_cp_helpers.py +0 -0
  166. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_info.py +0 -0
  167. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_invalid_secrets.py +0 -0
  168. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_key_pair.py +0 -0
  169. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_login.py +0 -0
  170. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_main.py +0 -0
  171. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_plans.py +0 -0
  172. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_projects.py +0 -0
  173. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_query.py +0 -0
  174. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_recipe_file.py +0 -0
  175. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_recipes.py +0 -0
  176. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_state.py +0 -0
  177. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_support.py +0 -0
  178. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_ty.py +0 -0
  179. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_ui.py +0 -0
  180. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_ui_extras.py +0 -0
  181. {ellf_cli-4.0.86 → ellf_cli-4.0.88}/tests/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ellf-cli
3
- Version: 4.0.86
3
+ Version: 4.0.88
4
4
  Summary: Ellf Command Line Interface
5
5
  Home-page: https://prodi.gy
6
6
  Author: ExplosionAI GmbH
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "title": "Ellf CLI",
3
3
  "name": "ellf-cli",
4
- "version": "4.0.86",
4
+ "version": "4.0.88",
5
5
  "summary": "Ellf Command Line Interface",
6
6
  "uri": "https://prodi.gy",
7
7
  "prog": "ellf",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "prog": "ellf",
3
3
  "help": "Ellf Command Line Interface.",
4
- "version": "4.0.85",
4
+ "version": "4.0.87",
5
5
  "extra_key": "_extra",
6
6
  "commands": {
7
7
  "actions": {
@@ -611,6 +611,38 @@ def _get_job_type(
611
611
  return "action"
612
612
 
613
613
 
614
+ def _refresh_container_to_latest(
615
+ job: pam_models.TaskDetail | pam_models.ActionDetail | pam_models.AgentDetail,
616
+ *,
617
+ quiet: bool = False,
618
+ ) -> None:
619
+ """Update ``job.plan.container`` in-place to the latest recipe image.
620
+
621
+ Looks up the recipe by name on the job's cluster and uses
622
+ ``recipe.package.container``. Best-effort: if the lookup fails for
623
+ any reason, the saved container is left untouched.
624
+ """
625
+ try:
626
+ recipe = resolve_recipe(job.plan.recipe_name, cluster_id=job.cluster_id)
627
+ except (EllfError, httpx.HTTPError):
628
+ if not quiet:
629
+ msg.warn(
630
+ f"Could not look up latest image for recipe "
631
+ f"{job.plan.recipe_name!r}; using saved container"
632
+ )
633
+ return
634
+ if not recipe.package or not recipe.package.container:
635
+ return
636
+ latest = recipe.package.container
637
+ if latest != job.plan.container:
638
+ if not quiet:
639
+ msg.info(
640
+ f"Using latest image for {job.plan.recipe_name!r}: "
641
+ f"{job.plan.container} -> {latest}"
642
+ )
643
+ job.plan.container = latest
644
+
645
+
614
646
  def start_job(
615
647
  job: _JobT,
616
648
  worker_class: str | None,
@@ -624,6 +656,11 @@ def start_job(
624
656
  job.plan = auth.client.recipeplan.update(
625
657
  pam_models.RecipePlanUpdating(id=job.plan.id, worker_class=worker_class)
626
658
  )
659
+ # Refresh plan.container against the latest registered recipe on the
660
+ # cluster so that `pdcli repo push` followed by `<job> start` actually
661
+ # picks up the newly published image. Without this, the container
662
+ # baked into plan at job-creation time pins forever.
663
+ _refresh_container_to_latest(job, quiet=quiet)
627
664
  job_spec = _build_job_spec(job)
628
665
  job_operations.start(job_spec, quiet=quiet)
629
666
  root_cfg = get_root_cfg()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ellf-cli
3
- Version: 4.0.86
3
+ Version: 4.0.88
4
4
  Summary: Ellf Command Line Interface
5
5
  Home-page: https://prodi.gy
6
6
  Author: ExplosionAI GmbH
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes