hte-cli 0.2.10__tar.gz → 0.2.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.
Files changed (27) hide show
  1. {hte_cli-0.2.10 → hte_cli-0.2.11}/PKG-INFO +1 -1
  2. {hte_cli-0.2.10 → hte_cli-0.2.11}/pyproject.toml +1 -1
  3. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/cli.py +35 -10
  4. {hte_cli-0.2.10 → hte_cli-0.2.11}/.gitignore +0 -0
  5. {hte_cli-0.2.10 → hte_cli-0.2.11}/README.md +0 -0
  6. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/__init__.py +0 -0
  7. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/__main__.py +0 -0
  8. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/api_client.py +0 -0
  9. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/config.py +0 -0
  10. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/errors.py +0 -0
  11. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/events.py +0 -0
  12. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/image_utils.py +0 -0
  13. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/runner.py +0 -0
  14. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/scorers.py +0 -0
  15. {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/version_check.py +0 -0
  16. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/__init__.py +0 -0
  17. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/__init__.py +0 -0
  18. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/automated_runner.py +0 -0
  19. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/conftest.py +0 -0
  20. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/e2e_test.py +0 -0
  21. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_benchmark_flows.py +0 -0
  22. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_eval_logs.py +0 -0
  23. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_infrastructure.py +0 -0
  24. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_runtime_imports.py +0 -0
  25. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_session_lifecycle.py +0 -0
  26. {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/verify_docker_deps.py +0 -0
  27. {hte_cli-0.2.10 → hte_cli-0.2.11}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hte-cli
3
- Version: 0.2.10
3
+ Version: 0.2.11
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.10"
3
+ version = "0.2.11"
4
4
  description = "Human Time-to-Completion Evaluation CLI"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -364,21 +364,46 @@ def session_join(ctx, session_id: str, force_setup: bool):
364
364
  layer_progress[layer_id]["current"] = layer_progress[layer_id]["total"]
365
365
  layer_progress[layer_id]["phase"] = "done"
366
366
 
367
+ # Track waiting layers
368
+ waiting_match = re.search(r"([a-f0-9]+):\s*Waiting", line)
369
+ if waiting_match:
370
+ layer_id = waiting_match.group(1)
371
+ if layer_id not in layer_progress:
372
+ layer_progress[layer_id] = {"current": 0, "total": 0, "phase": "waiting"}
373
+
367
374
  # Aggregate progress
368
375
  total_current = sum(lp.get("current", 0) for lp in layer_progress.values())
369
376
  total_size = sum(lp.get("total", 0) for lp in layer_progress.values())
370
- active_layers = sum(1 for lp in layer_progress.values() if lp.get("phase") in ("Downloading", "Extracting"))
377
+ downloading = sum(1 for lp in layer_progress.values() if lp.get("phase") == "Downloading")
378
+ extracting = sum(1 for lp in layer_progress.values() if lp.get("phase") == "Extracting")
371
379
  done_layers = sum(1 for lp in layer_progress.values() if lp.get("phase") == "done")
372
-
373
- if total_size > 0:
374
- pct = (total_current / total_size) * 100
375
- display = f"{format_size(total_current)}/{format_size(total_size)} ({pct:.0f}%)"
376
- if active_layers > 0:
377
- display += f" - {active_layers} active"
380
+ waiting = sum(1 for lp in layer_progress.values() if lp.get("phase") == "waiting")
381
+ total_layers = len(layer_progress)
382
+
383
+ # Only show size progress if we have meaningful data (>1MB)
384
+ if total_size > 1024 * 1024:
385
+ display = f"{format_size(total_current)}/{format_size(total_size)}"
386
+ if downloading > 0:
387
+ display += f" ({downloading} downloading"
388
+ if extracting > 0:
389
+ display += f", {extracting} extracting"
390
+ display += ")"
391
+ elif extracting > 0:
392
+ display += f" ({extracting} extracting)"
393
+ elif total_layers > 0:
394
+ # Show layer counts instead
395
+ parts = []
396
+ if downloading > 0:
397
+ parts.append(f"{downloading} downloading")
398
+ if extracting > 0:
399
+ parts.append(f"{extracting} extracting")
378
400
  if done_layers > 0:
379
- display += f", {done_layers} done"
380
- elif "Pulling" in line or "Waiting" in line:
381
- display = "preparing layers..."
401
+ parts.append(f"{done_layers} done")
402
+ if waiting > 0:
403
+ parts.append(f"{waiting} waiting")
404
+ display = ", ".join(parts) if parts else "starting..."
405
+ elif "Pulling" in line:
406
+ display = "preparing..."
382
407
  elif line.strip():
383
408
  display = line[:40]
384
409
  else:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes