labnotes 0.2.29__tar.gz → 0.2.30__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.2.29 → labnotes-0.2.30}/PKG-INFO +1 -1
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/ensure.py +10 -1
- {labnotes-0.2.29 → labnotes-0.2.30}/.gitignore +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/CHANGELOG.md +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/MIGRATIONS.md +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/README.md +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/conftest.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/pyproject.toml +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/__main__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/asset_url.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/check_counts.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/cli.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/command_line_group.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/compose_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/config_migration.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/context.md +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/context_guide.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/copy_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/count_groups.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/count_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/create_app.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/create_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/create_note.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/client.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/command.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/marker.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/server.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon/socket_path.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/daemon_command.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/data_html.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/default_config_text.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/default_counts.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/drain_watch.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/experiment_definition.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/experiment_notes.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/experiment_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/experiments.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/file_changes.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/format_duration.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/format_started.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/format_value.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/get_state.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/grid_cell.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/group_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/init.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/invocation_started.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/is_non_negative_int.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/is_non_negative_number.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/is_positive_int.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/latest_log.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/list_experiments.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/list_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/load_config.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/load_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/load_run.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/log.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/log_path.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/memory_interval.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/models.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/nests_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/note_path.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/notebook_kernel.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/output_html.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/param_names.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/parse_param_value.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/parse_params.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/parse_run_view.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/parse_subset.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/pivot_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/print_rows.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/python_blocks.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/read_config.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/read_path.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/render_markdown.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/retries.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/run_columns.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/run_output.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/cgroup_memory.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/check_args.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/check_hook_placeholders.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/check_subset.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/claim_run.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/command_flags.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/container_cgroup.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/container_memory.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/continue_run.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/describe_event.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/docker_output.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/execute_run.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/exit_signal.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/fill_dirs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/fill_experiment_env.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/finalize_lost_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/first_invocation.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/flag_name.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/group_args.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/hold_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/in_subset.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/invocation_hook.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/invocation_meta.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/new_run_id.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/new_stamped_run_id.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/override_flags.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/param_args.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/param_grid.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/placeholders.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/plan_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/prepare_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/project_snapshot.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/read_experiment_config.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/record_memory.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/run_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/run_folder.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/run_git.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/run_headless.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/run_locked.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/run_state.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/runs_parent.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/shell_command.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/signal_tree.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/start_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/stop_then_kill.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/untracked_diff.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/wait_for_tree.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runner/write_run_json.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/runs_view_command.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/save_conflict_copy.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/save_note.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/saved_outputs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/serve_app.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/server.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/set_state.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/shared_params.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/sort_href.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/sql_quote.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/state_path.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/elapsed.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/experiment.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/labnotes.css +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/local-time.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/new-note.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/note-edit.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/note-editor.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/row-link.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/run-cell.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/run-output.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/THIRD_PARTY_NOTICES +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/ansi_up.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/atomic-editor-editor-inline-preview.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-3VL5A6CI.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-DDFT2RE5.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-GRK3PUFM.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-HETKD2IB.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-JSBRDJBE.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-KGFOUVBD.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-LAFDP4SS.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-LFGFNL4F.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-LRGARZ6Y.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-LZVVMIXK.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-SVHN5VMN.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-YFJJZMCS.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-YONOI2RA.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/chunk-ZO3BUX3P.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-autocomplete.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-commands.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-lang-python.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-language.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-state.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-streamparser.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/codemirror-view.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/crelt.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/diff-match-patch.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/lezer-common.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/lezer-highlight.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/lezer-lr.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/lezer-markdown.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/lezer-python.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/marijn-find-cluster-break.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/style-mod.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/vendor/w3c-keyname.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/static/view-toggle.js +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/summarize_config.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/experiment_rows.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/experiment_run_ids.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/experiment_toml.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/experiments_ddl.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/file_prefix.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/file_text.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/iso_time.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/list_experiment_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/list_resumable_runs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/note_text.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/open_tables.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/path_glob.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/path_pattern.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_blocks.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_file.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_log.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_memory.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_run.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/read_run_file.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/runs_columns.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tables/summarize_experiments.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/templates/base.html +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/templates/editor_imports.html +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/templates/experiment.html +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/templates/index.html +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/templates/note.html +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/templates/run.html +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/browse_app.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/browse_tui.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/check_view_response.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/config.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/dim.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/experiment_screen.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/experiments_screen.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/fill_table.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/format_cell.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/format_elapsed.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/guard_view.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/leave_prompt.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/load_view.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/log_block.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/log_blocks.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/native_rows.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/reload_on_change.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/run_app.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/run_cells.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/run_output.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/run_panel.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/run_tui.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/runs_browser.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/runs_table.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/runs_view.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/stopped_title.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/table_columns.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/table_rows.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/view_column.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/view_pane.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/view_process.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/tui/view_switcher.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/utils/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/utils/format_bytes.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/utils/process_alive.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/utils/run_usage.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/utils/tree_rss.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/utils/tree_usage.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/__init__.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/answer.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/build.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/changed.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/experiment.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/respond.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view/serve.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/view_specs.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/wait_for_note.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/src/labnotes/watch_rows.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/testing-conventions.toml +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/tests/conftest.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/tests/e2e/conftest.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/tests/integration/conftest.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/tests/perf/conftest.py +0 -0
- {labnotes-0.2.29 → labnotes-0.2.30}/uv.lock +0 -0
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import subprocess
|
|
5
5
|
import sys
|
|
6
|
+
import time
|
|
6
7
|
|
|
7
8
|
from labnotes.daemon.client import daemon_socket
|
|
8
9
|
from labnotes.daemon.socket_path import discovery_folder
|
|
9
10
|
from labnotes.models import LabnotesConfig
|
|
11
|
+
from labnotes.tables.iso_time import iso_time
|
|
10
12
|
|
|
11
13
|
START_SECONDS = 10
|
|
12
14
|
|
|
@@ -20,6 +22,11 @@ async def ensure_daemon(config: LabnotesConfig, name: str) -> None:
|
|
|
20
22
|
errors = folder / "daemon.stderr"
|
|
21
23
|
errors.touch(mode=0o600, exist_ok=True)
|
|
22
24
|
with errors.open("ab") as stream:
|
|
25
|
+
stream.write(
|
|
26
|
+
f"--- {iso_time(time.time())} starting daemon for {name}\n".encode()
|
|
27
|
+
)
|
|
28
|
+
stream.flush()
|
|
29
|
+
start = stream.tell()
|
|
23
30
|
process = subprocess.Popen(
|
|
24
31
|
[
|
|
25
32
|
sys.executable,
|
|
@@ -40,7 +47,9 @@ async def ensure_daemon(config: LabnotesConfig, name: str) -> None:
|
|
|
40
47
|
if daemon_socket(config, name) is not None:
|
|
41
48
|
return
|
|
42
49
|
if (status := process.poll()) is not None and status != 0:
|
|
43
|
-
|
|
50
|
+
with errors.open("rb") as log:
|
|
51
|
+
log.seek(start)
|
|
52
|
+
detail = log.read().decode("utf-8", errors="replace").strip()
|
|
44
53
|
raise ValueError(detail or f"Daemon for {name} exited during startup.")
|
|
45
54
|
await asyncio.sleep(0.1)
|
|
46
55
|
raise ValueError(f"Daemon for {name} did not start in {START_SECONDS}s.")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|