ymtui
Консольный плеер Яндекс Музыки.
ymtui — это терминальный плеер для Яндекс Музыки на Textual
Возможности
- 🌊 Моя волна — бесконечное персональное радио с подгрузкой и подстройкой, а также волны под занятие / настроение / жанр / эпоху (Бег, Просыпаюсь, Грустное…) — выберите «Моя волна» и загляните в нижний блок
- ❤️ Любимое, 🏆 Чарт, 🕘 История прослушивания
- ⭐ Плейлисты дня (Дежавю, Премьера, Плейлист дня…) из персональной ленты
- ✨ Новые плейлисты и 💿 Новинки (альбомы)
- 🎼 Жанры / Настроения / Занятия / Эпохи — навигация по подборкам
- 📂 Мои плейлисты
- 🔎 Поиск треков
- ⏯ Воспроизведение, перемотка (клавишами и кликом по полосе), 🔀 шафл, 🔁 повтор, лайки
- 💾 Сохранение сессии: при следующем запуске откроется тот же раздел/плейлист, а последний трек подгрузится на сохранённой позиции
- 🎨 Темы и 🌐 языки интерфейса (русский / английский), всё сохраняется
- 🖼 Обложка альбома в плеере (опционально, включается в
Ctrl+P) - 🎛 MPRIS: управление мультимедиа-клавишами и через
playerctl(с обложкой)
Установка
1. Системные зависимости
Для воспроизведения нужен libmpv:
# Debian / Ubuntu
sudo apt install libmpv2 # на старых релизах: libmpv1
# Fedora
sudo dnf install mpv-libs
# Arch
sudo pacman -S mpv
2. Установка ymtui
Рекомендуемый способ — pipx (изолированно) или uv:
pipx install ymtui
# или
uv tool install ymtui
# или
pip install --user ymtui
3. (Опционально) Медиа-клавиши и playerctl
Поддержка MPRIS вынесена в отдельную зависимость, т.к. требует системных
библиотек GObject. Если нужны мультимедиа-клавиши / playerctl:
# Debian / Ubuntu — заголовки для сборки PyGObject
sudo apt install libgirepository-2.0-dev gir1.2-glib-2.0 gcc pkg-config python3-dev
pipx install "ymtui[mpris]" # или uv tool install "ymtui[mpris]"
Без этого приложение работает полностью — просто без медиа-клавиш.
4. (Опционально) Обложка альбома
Показ обложки в плеере (включается в Ctrl+P). Лучше всего смотрится в
терминалах с графикой (kitty, WezTerm, iTerm2, foot), в остальных — фолбэк:
pipx install "ymtui[cover]" # можно совмещать: ymtui[mpris,cover]
Первый запуск
ymtui
При первом запуске пройдёт авторизация через OAuth Device Flow: в терминале
появится ссылка и код — откройте ссылку, введите код, и токен сохранится в
~/.config/ymtui/config.ini. Повторно авторизовываться не нужно.
Если получение токена для вашего аккаунта не работает — смотрите альтернативные способы.
Уже есть токен? Можно вписать его вручную:
[ymtui] token = y0_AgAEA...
Управление
| Клавиша | Действие |
|---|---|
space |
играть / пауза |
enter |
играть выбранный трек |
n / p |
следующий / предыдущий |
< / > (или , / .) |
перемотка −5с / +5с |
| клик по полосе | перемотка на позицию |
l |
лайк / снять лайк |
s |
перемешать |
r |
повтор |
d |
характер волны: авто → любимое → незнакомое → популярное |
+ / - |
громче / тише |
tab / shift+tab |
переключение панелей |
↑ / ↓ |
движение по списку |
/ |
поиск |
? |
справка |
ctrl+p |
настройки (тема, язык, скриншот…) |
q |
выход |
Темы и язык
Нажмите Ctrl+P (настройки) → можно сменить тему оформления и язык
интерфейса (русский / английский). Выбор сохраняется и применяется сразу,
без перезапуска.
Медиа-клавиши (MPRIS / playerctl)
С установленным extra [mpris] плеер виден как ymtui:
playerctl -p ymtui play-pause
playerctl -p ymtui next
playerctl -p ymtui metadata --format '{{artist}} — {{title}}'
Можно запускать несколько копий: первая занимает имя ymtui, остальные —
ymtui.instance<PID>.
Конфигурация и данные
Всё хранится в ~/.config/ymtui/:
config.ini— токен авторизации;state.json— последняя сессия (раздел, трек, позиция, тема, язык).
Разработка
git clone https://github.com/pomeo/ymtui
cd ymtui
uv sync # или: pip install -e ".[mpris]"
python main.py
Лицензия
MIT © Sergey Ovechkin
Проект не является официальным продуктом Яндекса. Используйте с собственным аккаунтом Яндекс Музыки.
Metadata
Release files for ymtui 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ymtui-0.1.7.tar.gz | 33.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ymtui-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.8 kB
Release files / ymtui-0.1.7.tar.gz
| Download URL | ymtui-0.1.7.tar.gz |
|---|---|
| Size | 33.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5cf0af3fbbb355a6af18a37d6899fda2ff387ae2b59cf290389934cfeee76c46
|
|
BLAKE2b-256 checksum How to use checksums |
bb29f274b17245d829fb2c1b778869e5c584415086f53b221c1e6384430a7398
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / ymtui-0.1.7-py3-none-any.whl
| Download URL | ymtui-0.1.7-py3-none-any.whl |
|---|---|
| Size | 39.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a825ff2cccd3e3cffe091b1b1e9972f5fc88fadfb814a3ca80aade85e2895b14
|
|
BLAKE2b-256 checksum How to use checksums |
51bd64cee43b7af7ba1be3e42b277a30b3c4ca726d49efda8844b2a54e46b1b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency log