tuieval 0.2.0.dev70__tar.gz → 0.2.0.dev72__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.
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/CHANGELOG.md +1 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/PKG-INFO +1 -1
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/_version.py +2 -2
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/run_evals.py +3 -1
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/tui.py +5 -2
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/tests/test_tuieval.py +3 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/.gitignore +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/LICENSE +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/README.md +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/RELEASING.md +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/README.md +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/favicon.ico +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/readme-header.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/social-preview.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-1024.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-128.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-16.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-16.svg +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-256.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-32.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-48.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-512.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-64.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon-animated.svg +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/brand/tuieval-icon.svg +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/tui-answer-reasoning.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/tui-run-reasoning.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/images/tui-setup.png +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/models.md +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/docs/writing-packs.md +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/pyproject.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/__init__.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/__main__.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/builtin.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/cli.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/client.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/compare.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/doctor.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/engine.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/export.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/graders/__init__.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/graders/answer.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/graders/code.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/graders/rag.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/graders/reply.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/graders/tool_call.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/logs.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/machines.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/onboard.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/packs.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/profiles.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/pta.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/remove.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/scaffold.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/selftest.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/models.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/answer/pack.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/answer/system.txt +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/answer/tests.yaml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/code/pack.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/code/system.txt +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/code/tests.yaml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/rag/pack.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/rag/system.txt +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/rag/tests.yaml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/reply/pack.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/reply/system.txt +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/reply/tests.yaml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/pack.toml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/system.txt +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/tests.yaml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/tools.yaml +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/tune.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/verdict.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/watch_proxy.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/workspace.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/yamlout.py +0 -0
- {tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/tests/mock_server.py +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- Retest: the setup checkbox "Rerun existing results" is now "Retest (ask again, even if already answered)", and `tuieval run --retest` is the same (`--force` still works).
|
|
5
6
|
- `tuieval logs` follows the server log of the model running now and moves on with the run; `logs live` shows each answer as it finishes, `--list` every log.
|
|
6
7
|
- Results tables sort by a click on a column name; a second click reverses. Numbers, times and levels sort by value; empty cells stay last.
|
|
7
8
|
- Nvidia and AMD GPUs on Linux: VRAM from `nvidia-smi`, `amd-smi` or `rocm-smi` sizes models (`gpu_memory_gb` overrides it), runs record peak VRAM, and `tuieval doctor` shows the GPU.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: tuieval
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev72
|
|
4
4
|
Summary: Evaluate local and frontier LLMs on your own questions: accuracy, speed, tokens and PASS/FAIL verdicts, in the terminal.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ashe-wb/tuieval
|
|
6
6
|
Project-URL: Issues, https://github.com/ashe-wb/tuieval/issues
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.2.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 2, 0, '
|
|
21
|
+
__version__ = version = '0.2.0.dev72'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 2, 0, 'dev72')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
tuieval run --only my-model --packs my-pack,other-pack
|
|
12
12
|
tuieval run --tags moe --packs my-pack # models tagged "moe"
|
|
13
13
|
tuieval run --packs my-pack --tests a,b # only these tests of a pack (or --tests my-pack:a,other:b)
|
|
14
|
+
tuieval run --only my-model --packs my-pack --tests a --retest # ask a question again
|
|
14
15
|
tuieval run --preset nightly # a selection saved in the TUI (presets.toml)
|
|
15
16
|
tuieval run --tier smoke --only my-model # 3 tests per pack, 1 repeat: check paths and flags
|
|
16
17
|
tuieval run --tier smoke --only openrouter:qwen/qwen3-32b # any OpenRouter model, no models.toml edit
|
|
@@ -742,7 +743,8 @@ def main(argv=None):
|
|
|
742
743
|
p.add_argument("--packs", help="comma-separated packs (default: all)")
|
|
743
744
|
p.add_argument("--tests", help="comma-separated test ids to run instead of the tier's sample: id with one "
|
|
744
745
|
"pack in --packs, else pack:id (and --packs defaults to those packs)")
|
|
745
|
-
p.add_argument("--force", action="store_true",
|
|
746
|
+
p.add_argument("--retest", "--force", action="store_true", dest="force",
|
|
747
|
+
help="ask again even if already answered: the packs, or just the --tests (earlier answers go to history/)")
|
|
746
748
|
p.add_argument("--repeat", type=int, help="times each question is asked, any tier (default: 1 for smoke and "
|
|
747
749
|
"screen, the pack's certification count for certify)")
|
|
748
750
|
p.add_argument("--tier", choices=engine.TIERS, default="screen",
|
|
@@ -385,6 +385,9 @@ HELP = {
|
|
|
385
385
|
[b]Models at a time[/b]: how many of the ticked models run side by side (blank: this machine's
|
|
386
386
|
parallel_models in models.toml, default 1). Answers note the models they ran alongside.
|
|
387
387
|
|
|
388
|
+
[b]Retest[/b]: ask the ticked questions again even if they're already answered (only the tests
|
|
389
|
+
picked with e, if any). Without it, answered questions are skipped. Replaced answers go to history/.
|
|
390
|
+
|
|
388
391
|
[b]Keys[/b]
|
|
389
392
|
s start (with a run going: add to it, or queue it) r results
|
|
390
393
|
a add a model (a GGUF, a model id, openrouter:<id>) m scan model folders for new GGUFs
|
|
@@ -646,7 +649,7 @@ class SetupScreen(Screen):
|
|
|
646
649
|
yield Input("", id="repeat", type="integer", max_length=2, placeholder="1")
|
|
647
650
|
yield Label("Models at a time")
|
|
648
651
|
yield Input("", id="parallel", type="integer", max_length=1, placeholder="1")
|
|
649
|
-
yield Checkbox("
|
|
652
|
+
yield Checkbox("Retest (ask again, even if already answered)", id="force")
|
|
650
653
|
yield Static(id="estimate")
|
|
651
654
|
with Horizontal(id="buttons"):
|
|
652
655
|
yield Button("Start [s]", id="start", variant="success")
|
|
@@ -958,7 +961,7 @@ class SetupScreen(Screen):
|
|
|
958
961
|
if not run:
|
|
959
962
|
text += "\n[yellow]Nothing selected can run (see skipping).[/yellow]"
|
|
960
963
|
elif rerun:
|
|
961
|
-
text += "\n[yellow]Everything selected has results; Start
|
|
964
|
+
text += "\n[yellow]Everything selected has results; Start retests it.[/yellow]"
|
|
962
965
|
resumed = [j for j in run if "done earlier" in j.note]
|
|
963
966
|
if resumed:
|
|
964
967
|
text += f" [yellow]{len(resumed)} pack(s) continue from earlier results[/yellow]"
|
|
@@ -380,6 +380,9 @@ class PickTests(unittest.TestCase):
|
|
|
380
380
|
hist = os.listdir(os.path.join(self.ws, "results", "m", "history"))
|
|
381
381
|
self.assertTrue(any(f.startswith("apps-") for f in hist), hist)
|
|
382
382
|
self.assertEqual(self.status(), "certified")
|
|
383
|
+
self.server("oracle")
|
|
384
|
+
tuieval(self.ws, "run", "--tests", "apps:b", "--retest") # --retest = --force
|
|
385
|
+
self.assertEqual(self.rows(), {"a": True, "b": True, "c": True, "d": True})
|
|
383
386
|
|
|
384
387
|
def test_cli_errors(self):
|
|
385
388
|
self.server("oracle")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/system.txt
RENAMED
|
File without changes
|
{tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/tests.yaml
RENAMED
|
File without changes
|
{tuieval-0.2.0.dev70 → tuieval-0.2.0.dev72}/src/tuieval/templates/packs/tool_call/tools.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|