Metadata-Version: 2.4
Name: tvmux
Version: 0.6.1
Summary: terminal multiplexer recorder
Author-email: Gareth Davidson <gaz@bitplane.net>
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: click>=8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: fastapi>=0.109
Requires-Dist: uvicorn>=0.27
Requires-Dist: httpx>=0.25
Requires-Dist: psutil>=5.9
Requires-Dist: asciinema>=2.4
Requires-Dist: requests>=2.0
Requires-Dist: tomli>=1.2.0
Requires-Dist: tomli-w>=1.0.0
Requires-Dist: textual>=5.2.0
Requires-Dist: textual-asciinema>=0.0.3
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: coverage ; extra == "dev"
Requires-Dist: pytest-cov ; extra == "dev"
Requires-Dist: build ; extra == "dev"
Requires-Dist: twine ; extra == "dev"
Requires-Dist: ruff ; extra == "dev"
Requires-Dist: pydoc-markdown ; extra == "dev"
Provides-Extra: dev

# 📺 `tvmux`

Per-project/window `tmux` recorder using `asciinema`; records the current pane
and follows the user around the current window.

## 🎥 Usage

Install `tvmux` from pip or uv, or run standalone from `uvx`, like so:

```bash
$ uvx tvmux
```

The above will open a `textual` user interface, where you can view ongoing
recordings, start + stop them etc.

You can start recording from the command line too:

```bash
# Start recording
tvmux rec
# list ongoing recordings
tvmux rec ls
# stop them all, like you would a Docker container
tvmux rec stop $(tvmux ls -q)
```

By default, it'll save to `~/Videos/tmux/YYYY-MM/`. See all configuration options:

```bash
# Show default config (TOML format)
tvmux config defaults

# Show available environment variables
tvmux config defaults --format=env

# Show your current config
tvmux config show
```

To customize, create `~/.tvmux.conf` or use environment variables like `TVMUX_OUTPUT_DIRECTORY`.

## 🔗 links

* [🏠 home](https://bitplane.net/dev/python/tvmux)
* [📚 pydoc](https://bitplane.net/dev/python/tvmux/pydoc)
* [🐱 github](https://github.com/bitplane/tvmux)
* [🐍 pypi](https://pypi.org/project/tvmux)

### 🌍 See also

|                                                     |                                    |
|-----------------------------------------------------|------------------------------------|
| [📺 asciinema](https://asciinema.org/)              | The terminal recorder              |
| [🪟 textual](https://textualize.io/)                | TUI library for Python             |
| [🗔  bittty](https://bitplane.net/dev/python/bittty) | My terminal                        |
| [🎬 sh2mp4](https://bitplane.net/dev/sh/sh2mp4)     | Convert this to MP4 files          |

## TODO

### Prep for 0.6

- [x] Need asciinema scrubber using bittty ([wip](https://github.com/ttygroup/textual-asciinema))
- [ ] Start a basic TUI in Textual

