tuieval 0.2.0.dev34__py3-none-any.whl → 0.2.0.dev35__py3-none-any.whl
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/_version.py +2 -2
- tuieval/tui.py +17 -2
- {tuieval-0.2.0.dev34.dist-info → tuieval-0.2.0.dev35.dist-info}/METADATA +1 -1
- {tuieval-0.2.0.dev34.dist-info → tuieval-0.2.0.dev35.dist-info}/RECORD +7 -7
- {tuieval-0.2.0.dev34.dist-info → tuieval-0.2.0.dev35.dist-info}/WHEEL +0 -0
- {tuieval-0.2.0.dev34.dist-info → tuieval-0.2.0.dev35.dist-info}/entry_points.txt +0 -0
- {tuieval-0.2.0.dev34.dist-info → tuieval-0.2.0.dev35.dist-info}/licenses/LICENSE +0 -0
tuieval/_version.py
CHANGED
|
@@ -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.dev35'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 2, 0, 'dev35')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
tuieval/tui.py
CHANGED
|
@@ -181,7 +181,8 @@ def fmt_secs(secs):
|
|
|
181
181
|
|
|
182
182
|
|
|
183
183
|
class StreamView(TextArea):
|
|
184
|
-
"""Read-only, word-wrapped text that grows as tokens stream in. Scroll it with the mouse
|
|
184
|
+
"""Read-only, word-wrapped text that grows as tokens stream in. Scroll it with the mouse; it follows
|
|
185
|
+
new text only while scrolled to the bottom."""
|
|
185
186
|
|
|
186
187
|
can_focus = False
|
|
187
188
|
|
|
@@ -189,14 +190,28 @@ class StreamView(TextArea):
|
|
|
189
190
|
|
|
190
191
|
def __init__(self, **kw):
|
|
191
192
|
super().__init__(read_only=True, soft_wrap=True, show_cursor=False, max_checkpoints=1, **kw)
|
|
193
|
+
self.trim_pending = False
|
|
192
194
|
|
|
193
195
|
def append(self, text, follow=True):
|
|
196
|
+
# Follow only when already at the bottom: scrolled up to read, the view stays put.
|
|
197
|
+
follow = follow and self.scroll_y >= self.max_scroll_y - 1
|
|
194
198
|
self.insert(text, self.document.end)
|
|
195
199
|
if len(self.text) > self.MAX_CHARS:
|
|
196
|
-
|
|
200
|
+
if follow:
|
|
201
|
+
self.trim()
|
|
202
|
+
elif not self.trim_pending: # once the new text is laid out, so the place is measured right
|
|
203
|
+
self.trim_pending = True
|
|
204
|
+
self.call_after_refresh(self.trim)
|
|
197
205
|
if follow:
|
|
198
206
|
self.scroll_end(animate=False)
|
|
199
207
|
|
|
208
|
+
def trim(self):
|
|
209
|
+
"""Drop the oldest text, keeping the view the same distance from the end (the text that's left)."""
|
|
210
|
+
self.trim_pending = False
|
|
211
|
+
from_end = self.max_scroll_y - self.scroll_y
|
|
212
|
+
self.load_text("…" + self.text[-self.MAX_CHARS // 2:])
|
|
213
|
+
self.call_after_refresh(lambda: self.scroll_to(y=max(0, self.max_scroll_y - from_end), animate=False))
|
|
214
|
+
|
|
200
215
|
|
|
201
216
|
# ------------------------------------------------------------------ answer detail
|
|
202
217
|
def answer_entry(row):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: tuieval
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev35
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
tuieval/__init__.py,sha256=myVXVX7htbwezW6k3x_FuKgn1RSZ2WcTaDEMByGn6Wg,312
|
|
2
2
|
tuieval/__main__.py,sha256=E6Gls0DNz8GQK2K-kOUIx8cYhgANW_CH54VKrfCfs14,52
|
|
3
|
-
tuieval/_version.py,sha256=
|
|
3
|
+
tuieval/_version.py,sha256=CbIICvzgRxETJn7V5B1XvQciGOT10G9JqjADauvBPbc,535
|
|
4
4
|
tuieval/builtin.toml,sha256=Kxw22RZCJhURUyu5Wz8tj5Y1nM85A8hFVRbA4ocoPUg,4293
|
|
5
5
|
tuieval/cli.py,sha256=7joEA07W2we-kcg4VXxfCSXazj7dWBCKlQlSXpXQfTc,4390
|
|
6
6
|
tuieval/client.py,sha256=Vui7ucVv_GiKObGoVS_EWSZFUKPou9PWmutqMTrahXk,9313
|
|
@@ -16,7 +16,7 @@ tuieval/remove.py,sha256=Vwh43nm9lVb9U9aN-h6CMYbkTwdR3UWfZObwweF72n0,5157
|
|
|
16
16
|
tuieval/run_evals.py,sha256=ZGx4XcZ15qD3vIg15xCfdX4SxTDHXBp_GYoiGexchdw,43668
|
|
17
17
|
tuieval/scaffold.py,sha256=YBOqniJpf_GtKKAFF3_OHxxMGbmTWdFjcClGcOnrrKE,12130
|
|
18
18
|
tuieval/selftest.py,sha256=nExkrOidgymlmvkxImEBfrQG5iTUN5WuRMIKtqusCCs,9835
|
|
19
|
-
tuieval/tui.py,sha256=
|
|
19
|
+
tuieval/tui.py,sha256=OTkp7CkY6X1OjCLC-7N74BoVwRoawHDng5Nb_caWT1A,160493
|
|
20
20
|
tuieval/tune.py,sha256=jXwYuSjfdqbLCE3WonP2xaUHwk_FnhI67twB1BaHggI,38992
|
|
21
21
|
tuieval/verdict.py,sha256=Muo1a05mCv781MlEJsXwDsGaKbRi0JS4Lv8HdvK_Aco,19054
|
|
22
22
|
tuieval/watch_proxy.py,sha256=z916NRhEur04a9RnLm6ZpIEY1SnnUGPiHYbmlD9ktQ0,11035
|
|
@@ -45,8 +45,8 @@ tuieval/templates/packs/tool_call/pack.toml,sha256=n4bx0lGJHSmW41uVqhfIXJ2BWZpmT
|
|
|
45
45
|
tuieval/templates/packs/tool_call/system.txt,sha256=mKxu-lB-0YjLHXdgeFJa8x2C180OvcNz5cHv2N5Bg3U,254
|
|
46
46
|
tuieval/templates/packs/tool_call/tests.yaml,sha256=Nv7c4syrzJ9cU8EBKSK_1ZSFx9V02aCjW4-2TBCPT7s,1859
|
|
47
47
|
tuieval/templates/packs/tool_call/tools.yaml,sha256=HgxCkh0On2VwbHSsjAGM8tNCK7ZtKLGrs7lMCn3Fprs,1048
|
|
48
|
-
tuieval-0.2.0.
|
|
49
|
-
tuieval-0.2.0.
|
|
50
|
-
tuieval-0.2.0.
|
|
51
|
-
tuieval-0.2.0.
|
|
52
|
-
tuieval-0.2.0.
|
|
48
|
+
tuieval-0.2.0.dev35.dist-info/METADATA,sha256=TmKW6Vv6y36IMxqxbI6_B0NRMM62t-9yXkUq-pI4z6Y,13189
|
|
49
|
+
tuieval-0.2.0.dev35.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
50
|
+
tuieval-0.2.0.dev35.dist-info/entry_points.txt,sha256=7eIhi1GpFxBP2OLJV02Nn8LwsNuO512eKOGt1IBbj04,45
|
|
51
|
+
tuieval-0.2.0.dev35.dist-info/licenses/LICENSE,sha256=7wfRgGtBGH1aXhZkIn47oUznqKC18kEPMvUVgol7Ffc,1077
|
|
52
|
+
tuieval-0.2.0.dev35.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|