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.2.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.2-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ops_eyes-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6eeb838558d21f4c9a1381b4fa331508d273918e523ec14641bf2c3dc9b0c9c2
MD5 3e839ab701823b8096b4e59f1174c7bd
BLAKE2b-256 7b96854420f0e1fc758e08c19145db7e643cf8336fa82e31364b9ade26b1826f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ops_eyes-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 32.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 679a04f56aa839a0ad34c788f99ffd694dc416fcc3cf60cdf52b2e86d99cefdb
MD5 e3cf28769650fd2ca635f52d380a6e65
BLAKE2b-256 4fcc8952f5d20d4995d63b6b227ec6958769d7f58c7ba25f862478ab064d9193

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