Metadata-Version: 2.4
Name: gmuxkit
Version: 0.3.0
Summary: GPU tmux session manager — start, attach, peek, and remove remote tmux sessions on a GPU server
Project-URL: Homepage, https://github.com/santhoshkammari/gmuxkit
Author-email: Santhosh Kammari <santhoshkammari1999@gmail.com>
License: MIT
Keywords: cli,gpu,remote,session,ssh,tmux
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Shells
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# gmuxkit

> GPU tmux session manager — start, attach, peek, and remove remote tmux sessions on a GPU server from your laptop.

Close your laptop. Come back later. Your GPU session is still running.

## Install

```bash
uv pip install git+https://github.com/santhoshkammari/gmuxkit.git
```

or with pip:

```bash
pip install git+https://github.com/santhoshkammari/gmuxkit.git
```

## Setup

Add to your `~/.bashrc`:

```bash
export GMUX_HOST="user@your-gpu-host"  # e.g. ng6355@192.168.1.100
```

SSH key auth recommended so there are no password prompts.

## Usage

```
gmux <command> [args]

Commands:
  start  <name>     Create a new named tmux session on GPU
  attach <name>     Attach to a running session (interactive)
  peek   <name>     Print last 3 lines of a session (non-interactive)
  ls                List all sessions with live screen previews
  ls -n             List session names + timestamps only
  rm     <name>     Kill session on GPU and remove from local log

Options:
  --help, -h        Show this help
  --version, -v     Show version
```

## Workflow

```bash
# Start a session on the GPU and kick off work
gmux start mywork
gmux attach mywork      # type your commands, Ctrl+B D to detach

# Close your laptop — session keeps running on GPU

# Come back later, reconnect
gmux ls                 # see all sessions with live screen previews
gmux ls -n              # just names + timestamps
gmux peek mywork        # quick look without attaching
gmux attach mywork      # jump back in

# Done with the session
gmux rm mywork          # kills on GPU + removes from local log
```

## Session log

All sessions are logged to `~/.tmux-sessions/sessions.log` with timestamps — so you never forget a session name even after closing your terminal.

## Requirements

- SSH access to a remote machine with `tmux` installed
- `GMUX_HOST` env var set to `user@host`
