tuieval 0.2.0.dev23__tar.gz → 0.2.0.dev25__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.dev23 → tuieval-0.2.0.dev25}/PKG-INFO +1 -1
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/_version.py +2 -2
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/graders/code.py +1 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/tests/test_tuieval.py +8 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/.gitignore +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/CHANGELOG.md +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/LICENSE +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/README.md +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/RELEASING.md +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/README.md +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/favicon.ico +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/readme-header.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/social-preview.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-1024.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-128.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-16.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-16.svg +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-256.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-32.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-48.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-512.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-64.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon-animated.svg +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/brand/tuieval-icon.svg +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/images/tui-setup.png +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/models.md +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/docs/writing-packs.md +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/pyproject.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/__init__.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/__main__.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/builtin.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/cli.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/client.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/compare.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/doctor.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/engine.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/export.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/graders/__init__.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/graders/answer.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/graders/rag.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/graders/reply.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/graders/tool_call.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/machines.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/onboard.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/packs.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/profiles.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/remove.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/run_evals.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/scaffold.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/selftest.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/models.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/answer/pack.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/answer/system.txt +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/answer/tests.yaml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/code/pack.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/code/system.txt +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/code/tests.yaml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/rag/pack.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/rag/system.txt +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/rag/tests.yaml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/reply/pack.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/reply/system.txt +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/reply/tests.yaml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/tool_call/pack.toml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/tool_call/system.txt +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/tool_call/tests.yaml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/tool_call/tools.yaml +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/tui.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/tune.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/verdict.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/watch_proxy.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/workspace.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/yamlout.py +0 -0
- {tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/tests/mock_server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: tuieval
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev25
|
|
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.dev25'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 2, 0, 'dev25')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -53,6 +53,7 @@ def _err(e):
|
|
|
53
53
|
return last[:200]
|
|
54
54
|
try:
|
|
55
55
|
exec(compile(CANDIDATE, "candidate.py", "exec"), ns)
|
|
56
|
+
ns = dict(ns) # tests get a copy, so their imports can't rebind the candidate's globals
|
|
56
57
|
exec(compile(SETUP, "setup.py", "exec"), ns)
|
|
57
58
|
setup_error = None
|
|
58
59
|
except BaseException as e:
|
|
@@ -242,6 +242,14 @@ class Units(unittest.TestCase):
|
|
|
242
242
|
"not decided yet for Coding")
|
|
243
243
|
self.assertEqual(todo, [("Coding", "run Certify (the sample screened so far looks promising)", ["coding"])])
|
|
244
244
|
|
|
245
|
+
def test_code_checks_cannot_rebind_candidate_names(self):
|
|
246
|
+
from tuieval.graders.code import grade_code
|
|
247
|
+
answer = "```python\nfrom datetime import datetime\ndef f(s):\n return datetime.fromisoformat(s)\n```"
|
|
248
|
+
tests = ("# SETUP\nimport datetime\n# CHECK: parse\n"
|
|
249
|
+
"assert f('2026-01-02') == datetime.datetime(2026, 1, 2)\n")
|
|
250
|
+
out = grade_code(answer, {"hidden_tests": tests}, {})
|
|
251
|
+
self.assertTrue(out["pass"], out)
|
|
252
|
+
|
|
245
253
|
def test_short_note(self):
|
|
246
254
|
from tuieval import tui
|
|
247
255
|
self.assertEqual(tui.short_note("server exited with code 1 while loading: bad file"), "didn't start: bad file")
|
|
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.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/tool_call/system.txt
RENAMED
|
File without changes
|
{tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/src/tuieval/templates/packs/tool_call/tests.yaml
RENAMED
|
File without changes
|
{tuieval-0.2.0.dev23 → tuieval-0.2.0.dev25}/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
|
|
File without changes
|