Консольный плеер Яндекс Музыки
Project description
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 |
повтор |
+ / - |
громче / тише |
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
Проект не является официальным продуктом Яндекса. Используйте с собственным аккаунтом Яндекс Музыки.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ymtui-0.1.4.tar.gz.
File metadata
- Download URL: ymtui-0.1.4.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e2f11dfbad5835e13331db509877c1a1096c8454d7c8b01eeb9f0379e9b1c41
|
|
| MD5 |
c0adc7a0bad789e90ffaae2355f51574
|
|
| BLAKE2b-256 |
5a037856e1d7aa42cdc9d04e34c115e0eb7f45d7be69fd01ed81a8a9c146149b
|
Provenance
The following attestation bundles were made for ymtui-0.1.4.tar.gz:
Publisher:
publish.yml on pomeo/ymtui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ymtui-0.1.4.tar.gz -
Subject digest:
0e2f11dfbad5835e13331db509877c1a1096c8454d7c8b01eeb9f0379e9b1c41 - Sigstore transparency entry: 1985817336
- Sigstore integration time:
-
Permalink:
pomeo/ymtui@d62db2d2728f9b2b8d1be117335a091b592a34d1 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/pomeo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d62db2d2728f9b2b8d1be117335a091b592a34d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ymtui-0.1.4-py3-none-any.whl.
File metadata
- Download URL: ymtui-0.1.4-py3-none-any.whl
- Upload date:
- Size: 36.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bce3455c70287cb43d5463056857eda837cf9a6f5e6e304c8b377e592c981fe
|
|
| MD5 |
2bc25caacbd6039056211392ea25d538
|
|
| BLAKE2b-256 |
b27ed1657e4fcfbadf54ad9d95c43895086bb720de0480b96365a8c6a44ffeee
|
Provenance
The following attestation bundles were made for ymtui-0.1.4-py3-none-any.whl:
Publisher:
publish.yml on pomeo/ymtui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ymtui-0.1.4-py3-none-any.whl -
Subject digest:
8bce3455c70287cb43d5463056857eda837cf9a6f5e6e304c8b377e592c981fe - Sigstore transparency entry: 1985817433
- Sigstore integration time:
-
Permalink:
pomeo/ymtui@d62db2d2728f9b2b8d1be117335a091b592a34d1 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/pomeo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d62db2d2728f9b2b8d1be117335a091b592a34d1 -
Trigger Event:
push
-
Statement type: