Skip to content

Commit 11bafe7

Browse files
committed
docs(README): polish intro and installation
1 parent c7ba64e commit 11bafe7

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

README.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div align="center">
2-
<h1>libtmux</h1>
2+
<h1>⚙️ libtmux</h1>
33
<p><strong>Drive tmux from Python: typed, object-oriented control over servers, sessions, windows, and panes.</strong></p>
44
<p>
55
<a href="https://pypi.org/project/libtmux/"><img src="https://img.shields.io/pypi/v/libtmux.svg" alt="PyPI version"></a>
@@ -12,11 +12,11 @@
1212

1313
---
1414

15-
## What is libtmux?
15+
## 🐍 What is libtmux?
1616

17-
libtmux is a typed Python API over [tmux], the terminal multiplexer. Instead of shelling out and parsing tmux output, you talk to real Python objects: `Server`, `Session`, `Window`, and `Pane`. The same API powers [tmuxp], so it stays battle-tested in real workflows.
17+
libtmux is a typed Python API over [tmux], the terminal multiplexer. Stop shelling out and parsing `tmux ls`. Instead, interact with real Python objects: `Server`, `Session`, `Window`, and `Pane`. The same API powers [tmuxp], so it stays battle-tested in real-world workflows.
1818

19-
## Why libtmux?
19+
### ✨ Features
2020

2121
- Typed, object-oriented control of tmux state
2222
- Query and traverse live sessions, windows, and panes
@@ -36,29 +36,49 @@ Maintenance-only backports (no new fixes):
3636
- Python 2.x: [`v0.8.x`](https://github.com/tmux-python/libtmux/tree/v0.8.x)
3737
- tmux 1.8-3.1c: [`v0.48.x`](https://github.com/tmux-python/libtmux/tree/v0.48.x)
3838

39-
## Installation
39+
## 📦 Installation
4040

4141
Stable release:
4242

43-
```console
44-
pip install --user libtmux
43+
```bash
44+
pip install libtmux
4545
```
4646

4747
Pre-releases (alpha / beta / rc):
4848

49-
```console
50-
pip install --user --upgrade --pre libtmux
49+
```bash
50+
pip install --upgrade --pre libtmux
51+
```
52+
53+
With pipx:
54+
55+
```bash
56+
pipx install --suffix=@next "libtmux" --pip-args "\--pre" --force
57+
# usage: libtmux@next [command]
58+
```
59+
60+
With uv / uvx:
61+
62+
```bash
63+
uv add libtmux --prerelease allow
64+
uvx --from "libtmux" --prerelease allow python
5165
```
5266

5367
From the main branch (bleeding edge):
5468

55-
```console
56-
pip install --user -e 'git+https://github.com/tmux-python/libtmux.git#egg=libtmux'
69+
```bash
70+
pip install -e 'git+https://github.com/tmux-python/libtmux.git#egg=libtmux'
5771
```
5872

5973
Tip: libtmux is pre-1.0. Pin a range in projects to avoid surprises:
6074

75+
```ini
76+
# requirements.txt
77+
libtmux==0.49.*
78+
```
79+
6180
```toml
81+
# pyproject.toml
6282
libtmux = "0.49.*"
6383
```
6484

0 commit comments

Comments
 (0)