Skip to main content

Консольный плеер Яндекс Музыки

Project description

ymtui

Консольный плеер Яндекс Музыки.

PyPI Python License: MIT

Скриншот 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

ymtui-0.1.5.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ymtui-0.1.5-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file ymtui-0.1.5.tar.gz.

File metadata

  • Download URL: ymtui-0.1.5.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ymtui-0.1.5.tar.gz
Algorithm Hash digest
SHA256 9623259c2f64f8bdc4c644281dd3ccbbddcb3029f5bf2e085446fd14ad733344
MD5 f8078edcc00be138ec100f9abb7bc0f1
BLAKE2b-256 3bc29cc1ea4ee2d786d6d8d71b5290cf59a5b64af4aec57dbd6311bcfa514935

See more details on using hashes here.

Provenance

The following attestation bundles were made for ymtui-0.1.5.tar.gz:

Publisher: publish.yml on pomeo/ymtui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ymtui-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: ymtui-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ymtui-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cd9fd42a0e1db1f3325bf1e416a5127e86f67c9d0bb15a4e9a9deb1295c4e83b
MD5 197bb93303e6c0fa4cfe5d3a89abdad1
BLAKE2b-256 12c9b4e34b807ca444236a3b0400dec66ce01a5c7c6b38041faeb504baaadb02

See more details on using hashes here.

Provenance

The following attestation bundles were made for ymtui-0.1.5-py3-none-any.whl:

Publisher: publish.yml on pomeo/ymtui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page