labnotes 0.0.92__tar.gz → 0.0.94__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.92 → labnotes-0.0.94}/PKG-INFO +1 -1
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/execute_run.py +2 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/group_cells.py +3 -2
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/invocation_rows.py +3 -2
- {labnotes-0.0.92 → labnotes-0.0.94}/.gitignore +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/CHANGELOG.md +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/MIGRATIONS.md +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/README.md +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/pyproject.toml +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/__init__.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/__main__.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/asset_url.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/check_counts.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/cli.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/context.md +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/context_guide.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/count_groups.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/count_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/create_app.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/create_experiment.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/create_note.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/__init__.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/control_run.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/daemon_app.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/daemon_client.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/daemon_running.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/daemon_server.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/describe_status.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/ensure_daemon.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/exit_when_idle.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/remote_start.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/run_daemon.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/run_logs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/serve_daemon.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/socket_path.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/stop_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/watch_daemon.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon/watch_status.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/daemon_command.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/data_html.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/default_config_text.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/default_counts.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/drain_watch.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/experiment_notes.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/experiment_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/experiments.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/file_changes.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/format_duration.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/format_started.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/format_value.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/group_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/init.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/invocation_started.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/is_positive_int.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/list_experiments.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/list_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/load_config.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/load_experiment.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/load_run.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/models.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/modes.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/nests_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/note_path.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/notebook_kernel.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/output_html.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/parse_run_view.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/print_rows.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/python_blocks.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/read_config.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/read_path.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/render_markdown.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/run_command.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/run_control.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/run_output.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/run_status.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/__init__.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/describe_event.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/hold_folder.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/new_param_run_id.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/new_run_id.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/new_stamped_run_id.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/param_args.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/param_grid.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/param_run_name.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/plan_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/prepare_experiment.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/read_experiment_config.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/run_experiment.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/run_folder.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/run_headless.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/runs_parent.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/shell_command.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/signal_tree.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/stop_then_kill.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/wait_for_tree.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/runner/write_run_json.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/save_conflict_copy.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/save_note.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/saved_outputs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/serve_app.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/server.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/shared_params.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/sort_href.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/sql_quote.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/elapsed.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/experiment.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/labnotes.css +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/local-time.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/new-note.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/note-edit.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/note-editor.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/row-link.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/run-cell.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/run-output.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/static/view-toggle.js +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/summarize_config.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/__init__.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/experiment_rows.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/experiment_run_ids.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/file_prefix.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/file_text.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/iso_time.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/list_experiment_runs.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/note_text.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/open_tables.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/path_glob.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/path_pattern.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/read_experiment.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/read_file.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/read_log.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/read_run.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tables/summarize_experiments.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/templates/base.html +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/templates/editor_imports.html +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/templates/experiment.html +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/templates/index.html +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/templates/note.html +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/templates/run.html +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/__init__.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/browse_app.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/browse_tui.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/dim.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/experiment_screen.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/experiments_screen.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/fill_table.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/format_elapsed.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/invocation_columns.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/reload_on_change.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/run_app.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/run_cells.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/run_output.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/run_screen.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/run_tui.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/runs_table.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/tui/stopped_title.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/wait_for_note.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/src/labnotes/watch_rows.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/testing-conventions.toml +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/tests/integration/conftest.py +0 -0
- {labnotes-0.0.92 → labnotes-0.0.94}/uv.lock +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
import os
|
|
2
3
|
import time
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
|
|
@@ -35,6 +36,7 @@ async def execute_run(
|
|
|
35
36
|
process = await asyncio.create_subprocess_shell(
|
|
36
37
|
shell_command(command, folder, params),
|
|
37
38
|
cwd=root,
|
|
39
|
+
env={"FORCE_COLOR": "1", "CLICOLOR_FORCE": "1", **os.environ},
|
|
38
40
|
stdout=stdout,
|
|
39
41
|
stderr=stderr,
|
|
40
42
|
)
|
|
@@ -7,7 +7,7 @@ from labnotes.format_value import format_value
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def group_cells(
|
|
10
|
-
group: Mapping[str, Any], columns: Sequence[str], live: bool
|
|
10
|
+
group: Mapping[str, Any], columns: Sequence[str], live: bool, opened: bool
|
|
11
11
|
) -> list[object]:
|
|
12
12
|
status = Text.assemble(
|
|
13
13
|
(f"{group['passed']}✓", "green"), " ", (f"{group['failed']}✕", "red")
|
|
@@ -15,7 +15,8 @@ def group_cells(
|
|
|
15
15
|
if group["unfinished"]:
|
|
16
16
|
mark, style = ("◐", "yellow") if live else ("–", "dim")
|
|
17
17
|
status.append(f" {group['unfinished']}{mark}", style=style)
|
|
18
|
-
|
|
18
|
+
marker = "▾" if opened else "▸"
|
|
19
|
+
cells: list[object] = [status, f"{marker} {group['name']}", str(len(group["runs"]))]
|
|
19
20
|
for column in columns[1:]:
|
|
20
21
|
if column == "started":
|
|
21
22
|
cells.append(group["started"] or "")
|
|
@@ -22,8 +22,9 @@ def invocation_rows(
|
|
|
22
22
|
[run, *_] = group["runs"]
|
|
23
23
|
rows.append((str(run["id"]), run_cells(run, columns, True, live)))
|
|
24
24
|
continue
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
is_open = group["name"] in opened
|
|
26
|
+
rows.append((group["name"], group_cells(group, columns, live, is_open)))
|
|
27
|
+
if is_open:
|
|
27
28
|
rows += [
|
|
28
29
|
(str(run["id"]), run_cells(run, columns, True, live))
|
|
29
30
|
for run in group["runs"]
|
|
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
|
|
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
|