Releases: experimaestro/experimaestro-python
Releases · experimaestro/experimaestro-python
v2.0.0b26
feat(scheduler): properly track SCHEDULED state for batch jobs - Add _set_job_state_from_process() to check process state and set job state to SCHEDULED or RUNNING accordingly - Add aio_wait_until_running() to Process base class with polling default - SLURM: implement event-driven aio_wait_until_running() using watcher - Add clock icon (🕐) for SCHEDULED state in TUI - Show informative message when trying to view logs for SCHEDULED jobs This enables proper tracking of jobs that are submitted to batch systems like SLURM but not yet executing. The TUI now shows a distinct icon and prevents attempts to view logs that don't exist yet. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b25
v2.0.0b24
v2.0.0b23
v2.0.0b22
feat(scheduler): add adaptive file polling with FileWatcher Add a new polling module that provides hybrid file watching: - FileWatcher combines watchdog with adaptive polling (0.5s to 30s) - When watchdog fires, polling interval resets to minimum - When files are idle, polling interval gradually increases - Provides reliable change detection as fallback when watchdog misses events Integrate FileWatcher into EventReader for more reactive file monitoring. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b21
feat(tui): add OSC 52 clipboard support for remote/tmux environments Clipboard operations now work over SSH and tmux by using OSC 52 escape sequences as a fallback when pyperclip fails. This enables copy actions (like 'f' to copy path) to work in remote terminal sessions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b20
feat(tui): add OSC 52 clipboard support for remote/tmux environments Clipboard operations now work over SSH and tmux by using OSC 52 escape sequences as a fallback when pyperclip fails. This enables copy actions (like 'f' to copy path) to work in remote terminal sessions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b19
fix(events): prevent duplicate event processing due to race condition When processing event files in order (e.g., events-2.jsonl triggering read of events-1.jsonl), the on_created callback could later reset the file position to 0, causing events to be processed twice. Fix: Only set file position to 0 in on_created if not already tracked. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b18
v2.0.0b17
fix(state): cache jobs to receive progress events in TUI Jobs loaded via get_jobs() were not being cached, so when JobProgressEvent arrived, there was no job in _job_cache to apply it to. Progress updates were forwarded to TUI but the underlying job data wasn't updated. Add _get_or_load_job() method that caches jobs when loaded, ensuring progress events can be applied to cached jobs between get_jobs() calls. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>