Skip to main content

Scenario Operations Tool — tmux-backed monitoring pane launcher

Project description

ops_eyes

ops_eyes is a terminal-based scenario operations tool that launches and manages named sets of monitoring panes inside a tmux session. An interactive curses selector lets you choose a scenario; each scenario brings up a pre-configured set of panes running whatever commands you need — htop, journalctl -f, watch, custom scripts, or anything else.

Features

  • Curses-based scenario selector (keyboard + mouse)
  • Per-scenario pane layout, commands, and descriptions stored in YAML
  • Live pane management inside tmux: add (F2), delete (F3), edit name/command (F4), zoom (F5), swap order (F6)
  • Layout cycling (F1): tiled, even-horizontal, even-vertical, main-horizontal, main-vertical
  • Geometry persistence: pane sizes and order saved back to YAML on exit
  • Scenario management in selector: new (N), copy (C), edit metadata (E), delete (D), reorder (←/→), save (S), reload (R)
  • First-run prompt to copy the bundled example config into ~/.ops_eyes.yaml

Requirements

  • Python 3.8 or later
  • tmux 2.1 or later — must be installed separately:
    sudo apt install tmux        # Debian / Ubuntu
    sudo dnf install tmux        # Fedora / RHEL
    brew install tmux            # macOS
    

Installation

pip install ops_eyes

The ops_eyes command will be available immediately after install.

Quick Start

# Launch the interactive selector
ops_eyes

# Jump directly to a named scenario
ops_eyes my-scenario

# List configured scenarios
ops_eyes --list

# Use a custom config file
ops_eyes --config /path/to/my.yaml

Configuration

On first run, ops_eyes will offer to copy the bundled example config to ~/.ops_eyes.yaml. You can also create or edit ~/.ops_eyes.yaml directly.

Config format

scenarios:
  my-servers:
    description: Production servers overview
    layout: tiled
    panes:
      - name: web-01
        command: ssh web-01 'htop'
      - name: db-01
        command: ssh db-01 'htop'
      - name: logs
        command: ssh web-01 'journalctl -f'
      - name: terminal
        command: ''          # interactive shell

Top-level keys inside a scenario:

Key Default Description
description "" Human-readable description shown in the selector
layout tiled Initial tmux layout: tiled, even-horizontal, even-vertical, main-horizontal, main-vertical
panes [] Ordered list of pane definitions

Pane keys:

Key Description
name Label shown in the pane border
command Shell command to run; empty string for an interactive shell

Keyboard reference

Selector (top level)

Key Action
↑ / ↓, j / k Navigate scenario list
← / → Move selected scenario up / down
Enter / double-click Launch scenario
N New scenario
C Copy selected scenario
E Edit scenario name / description
D Delete scenario
S Save config (opens file browser)
R Reload config (opens file browser)
Q / F10 Quit

Inside a scenario (tmux)

Key Action
F1 Cycle layout
F2 Add new terminal pane
F3 Delete focused pane
F4 Edit focused pane name / command
F5 Zoom / unzoom focused pane
F6 Swap focused pane with the next
F8 / F9 Previous / next pane
F12 Exit scenario → return to selector

License

Apache 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ops_eyes-0.1.0.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ops_eyes-0.1.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file ops_eyes-0.1.0.tar.gz.

File metadata

  • Download URL: ops_eyes-0.1.0.tar.gz
  • Upload date:
  • Size: 33.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ops_eyes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a6231c4529d454c8315424b104e5f6c22b9d9f0f568f010667cac02706cbb401
MD5 d42eed0cdfabbf66537737a7a801d25c
BLAKE2b-256 b7ad3e295131ceebe0bfa4464ecae221e1b5450d45b32508308bd0392de0c057

See more details on using hashes here.

File details

Details for the file ops_eyes-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ops_eyes-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ops_eyes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 822dd585c31f7b2bc5eca2a4da5380805d5e93fa7cdd97a16599275b5fcdea13
MD5 8783413b4d3c4c70ab083909d9074c26
BLAKE2b-256 48612a35791e29bde7de24ac8eb8383c72401d85a505f51dbd8305674f0a7f8c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page