Metadata-Version: 2.4
Name: btui
Version: 0.1.1
Summary: Cross-platform Bluetooth TUI manager
Author: TK
License-Expression: MIT
Project-URL: Homepage, https://github.com/Thatkidtk/ell
Project-URL: Repository, https://github.com/Thatkidtk/ell
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: typer>=0.12
Requires-Dist: textual>=0.58
Requires-Dist: rich>=13
Requires-Dist: bleak>=0.22
Requires-Dist: tomli>=2.0; python_version < "3.11"
Requires-Dist: tomli-w>=1.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=4.0; extra == "dev"

# Bluetooth TUI Manager (btui)

Work-in-progress cross-platform TUI for discovering and managing Bluetooth devices from the terminal.

Quick start (once dependencies installed):
- `btui list` — list paired devices.
- `btui scan` — discover nearby devices.
- `btui connect <id>` / `btui disconnect <id>` — manage connections.
- `btui tui` — launch the Textual interface.
- `btui profile list` / `btui profile activate <name>` — manage profile groups from config.
- `btui config init` — write a starter config.
- `btui doctor` — check platform dependencies.
- Add `--debug` to commands for file/console logging (`~/.config/btui/log.txt`).

See roadmap.md for the feature plan and milestones.

Config
- Location: `~/.config/btui/config.toml` (Linux/macOS) or `%APPDATA%\\btui\\config.toml` (Windows).
- Favorites:
  - `[favorites]` section mapping names to device IDs (e.g., `work = "AA:BB:CC:DD:EE:FF"`).
  - Use `--favorite <name>` with `btui connect|disconnect`.
- Profiles:
  - `[profiles.<name>]` with `devices = ["AA:BB", "11:22"]`.
  - Activate with `btui profile activate <name>`.
- TUI:
  - `f`/`c` filter favorites/connected-only; `t` toggles favorite for selected device.
  - `enter` connect/disconnect selected; `o`/`i` set default audio out/in (macOS with SwitchAudioSource).
  - `p` activates the last/first profile defined.

Backends
- macOS: requires `blueutil` in PATH. Optional audio routing via `SwitchAudioSource`.
- Linux: requires `bluetoothctl` (bluez utilities).
- Windows: read-only listing for now (connect/disconnect not yet implemented).

Development / packaging
- Install dev deps: `pip install -e .[dev]`
- Tests: `python -m pytest`
- Lint: `python -m ruff .`
- Build: `python -m build` then `twine upload dist/*`
- Recommended install: `pipx install btui`
