labnotes 0.0.27__tar.gz → 0.0.28__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.
- {labnotes-0.0.27 → labnotes-0.0.28}/PKG-INFO +1 -1
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/context.md +2 -1
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tui/run_app.py +7 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/.gitignore +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/CHANGELOG.md +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/MIGRATIONS.md +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/README.md +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/pyproject.toml +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/__init__.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/asset_url.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/cell_progress.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/cli.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/context_guide.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/count_runs.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/create_app.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/create_experiment.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/data_html.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/default_config_text.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/default_counts.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/drain_watch.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/experiment_notes.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/experiment_progress.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/experiment_runs.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/experiments.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/format_value.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/init.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/list_experiments.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/list_runs.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/load_config.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/load_experiment.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/models.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/notebook_kernel.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/output_html.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/parse_run_view.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/pivot_cells.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/print_rows.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/python_blocks.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/read_config.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/read_path.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/render_markdown.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/__init__.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/describe_event.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/execute_run.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/lock_path.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/new_run_id.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/param_args.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/param_grid.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/plan_runs.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/read_experiment_config.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/run_experiment.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/run_folder.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/run_headless.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/shell_command.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/start_experiment.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/stop_then_kill.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/wait_for_group.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/runner/write_run_json.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/saved_outputs.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/serve_app.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/server.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/sort_href.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/sql_quote.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/static/labnotes.css +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/static/row-link.js +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/static/run-cell.js +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/static/view-toggle.js +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/stop_idle_kernels.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/summarize_config.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/__init__.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/experiment_rows.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/file_prefix.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/iso_time.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/list_experiment_runs.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/open_tables.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/path_glob.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/path_pattern.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/read_experiment.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/read_file.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/read_run.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tables/summarize_experiments.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/templates/base.html +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/templates/experiment.html +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/templates/index.html +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/templates/macros.html +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tui/__init__.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tui/dim.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tui/format_elapsed.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/src/labnotes/tui/run_tui.py +0 -0
- {labnotes-0.0.27 → labnotes-0.0.28}/uv.lock +0 -0
|
@@ -90,7 +90,8 @@ open when they finish. Runs not started yet show grayed as `pending`, and as
|
|
|
90
90
|
`skipped` once stopped. Move the cursor to a pending run and press `n` to run it
|
|
91
91
|
next. `d` deselects a pending run so it won't run; `d` again puts it back at
|
|
92
92
|
the end of the queue. `/` filters rows by params text; Enter keeps the filter,
|
|
93
|
-
Escape clears it.
|
|
93
|
+
Escape clears it. `D` deselects every pending run the filter shows. `+` and
|
|
94
|
+
`-` change how many run at once; lowering it lets running runs
|
|
94
95
|
finish; `q` quits. Elsewhere, or with `--no-tui`, it prints a
|
|
95
96
|
line per event instead.
|
|
96
97
|
|
|
@@ -20,6 +20,7 @@ class RunApp(App[None]):
|
|
|
20
20
|
Binding("ctrl+c", "interrupt", "Stop runs"),
|
|
21
21
|
Binding("n", "run_next", "Run next"),
|
|
22
22
|
Binding("d", "toggle_run", "Deselect"),
|
|
23
|
+
Binding("D", "deselect_shown", "Deselect shown"),
|
|
23
24
|
Binding("slash", "filter", "Filter", key_display="/"),
|
|
24
25
|
Binding("escape", "clear_filter", "Clear filter"),
|
|
25
26
|
Binding("plus,equals_sign", "concurrency(1)", "More at once", key_display="+"),
|
|
@@ -177,6 +178,12 @@ class RunApp(App[None]):
|
|
|
177
178
|
if (run := self.cursor_run()) is not None:
|
|
178
179
|
self.controls.toggle(run)
|
|
179
180
|
|
|
181
|
+
def action_deselect_shown(self) -> None:
|
|
182
|
+
shown = [str(key.value) for key in self.query_one(DataTable).rows]
|
|
183
|
+
for run in shown:
|
|
184
|
+
if run in self.pending:
|
|
185
|
+
self.controls.toggle(run)
|
|
186
|
+
|
|
180
187
|
def action_concurrency(self, change: int) -> None:
|
|
181
188
|
self.controls.set_concurrency(self.concurrency + change)
|
|
182
189
|
|
|
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
|
|
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
|