hte-cli 0.2.5__tar.gz → 0.2.7__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 (27) hide show
  1. {hte_cli-0.2.5 → hte_cli-0.2.7}/PKG-INFO +1 -1
  2. {hte_cli-0.2.5 → hte_cli-0.2.7}/pyproject.toml +1 -1
  3. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/cli.py +24 -5
  4. {hte_cli-0.2.5 → hte_cli-0.2.7}/.gitignore +0 -0
  5. {hte_cli-0.2.5 → hte_cli-0.2.7}/README.md +0 -0
  6. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/__init__.py +0 -0
  7. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/__main__.py +0 -0
  8. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/api_client.py +0 -0
  9. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/config.py +0 -0
  10. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/errors.py +0 -0
  11. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/events.py +0 -0
  12. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/image_utils.py +0 -0
  13. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/runner.py +0 -0
  14. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/scorers.py +0 -0
  15. {hte_cli-0.2.5 → hte_cli-0.2.7}/src/hte_cli/version_check.py +0 -0
  16. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/__init__.py +0 -0
  17. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/__init__.py +0 -0
  18. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/automated_runner.py +0 -0
  19. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/conftest.py +0 -0
  20. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/e2e_test.py +0 -0
  21. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/test_benchmark_flows.py +0 -0
  22. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/test_eval_logs.py +0 -0
  23. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/test_infrastructure.py +0 -0
  24. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/test_runtime_imports.py +0 -0
  25. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/test_session_lifecycle.py +0 -0
  26. {hte_cli-0.2.5 → hte_cli-0.2.7}/tests/e2e/verify_docker_deps.py +0 -0
  27. {hte_cli-0.2.5 → hte_cli-0.2.7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hte-cli
3
- Version: 0.2.5
3
+ Version: 0.2.7
4
4
  Summary: Human Time-to-Completion Evaluation CLI
5
5
  Project-URL: Homepage, https://github.com/sean-peters-au/lyptus-mono
6
6
  Author: Lyptus Research
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hte-cli"
3
- version = "0.2.5"
3
+ version = "0.2.7"
4
4
  description = "Human Time-to-Completion Evaluation CLI"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -311,19 +311,38 @@ def session_join(ctx, session_id: str, force_setup: bool):
311
311
  continue
312
312
 
313
313
  # Need to pull - show progress
314
+ last_status = ["connecting..."] # Use list for closure mutability
314
315
  with console.status(f"[yellow]↓[/yellow] {short_name} [dim]connecting...[/dim]") as status:
315
316
  def show_progress(image: str, line: str):
316
317
  # Parse docker pull output for layer progress
317
318
  # Lines look like: "abc123: Downloading [====> ] 10MB/50MB"
318
- # Or: "Digest: sha256:..." or "Status: Downloaded newer image"
319
+ # Or: "abc123: Extracting [====> ] 10MB/50MB"
320
+ # Or: "abc123: Pull complete", "Digest: sha256:...", "Status: ..."
321
+ display_text = None
319
322
  if ": " in line:
320
323
  parts = line.split(": ", 1)
321
324
  if len(parts) == 2:
322
- layer_status = parts[1][:50] # Truncate
323
- status.update(f"[yellow]↓[/yellow] {short_name} [dim]{layer_status}[/dim]")
325
+ layer_id = parts[0][-8:] # Last 8 chars of layer ID
326
+ layer_status = parts[1][:40]
327
+ # Show progress bars for Downloading/Extracting
328
+ if "Downloading" in layer_status or "Extracting" in layer_status:
329
+ display_text = f"{layer_id}: {layer_status}"
330
+ elif "Pull complete" in layer_status:
331
+ display_text = f"{layer_id}: done"
332
+ elif "Download complete" in layer_status:
333
+ display_text = f"{layer_id}: downloaded, extracting..."
334
+ elif "Already exists" in layer_status:
335
+ display_text = f"{layer_id}: cached"
336
+ elif "Waiting" in layer_status:
337
+ display_text = f"{layer_id}: waiting..."
338
+ else:
339
+ display_text = layer_status[:50]
324
340
  elif line.strip():
325
- # Show any other non-empty output
326
- status.update(f"[yellow]↓[/yellow] {short_name} [dim]{line[:50]}[/dim]")
341
+ display_text = line[:50]
342
+
343
+ if display_text and display_text != last_status[0]:
344
+ last_status[0] = display_text
345
+ status.update(f"[yellow]↓[/yellow] {short_name} [dim]{display_text}[/dim]")
327
346
 
328
347
  success = pull_image_with_progress(img, on_progress=show_progress)
329
348
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes