Skip to main content

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

Project description

ymtui

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

PyPI Python License: MIT

Скриншот ymtui

ymtui — это терминальный плеер для Яндекс Музыки на Textual

Возможности

  • 🌊 Моя волна — бесконечное персональное радио с подгрузкой и подстройкой
  • ❤️ Любимое, 🏆 Чарт, 🕘 История прослушивания
  • Плейлисты дня (Дежавю, Премьера, Плейлист дня…) из персональной ленты
  • Новые плейлисты и 💿 Новинки (альбомы)
  • 🎼 Жанры / Настроения / Занятия / Эпохи — навигация по подборкам
  • 📂 Мои плейлисты
  • 🔎 Поиск треков
  • ⏯ Воспроизведение, перемотка (клавишами и кликом по полосе), 🔀 шафл, 🔁 повтор, лайки
  • 💾 Сохранение сессии: при следующем запуске откроется тот же раздел/плейлист, а последний трек подгрузится на сохранённой позиции
  • 🎨 Темы и 🌐 языки интерфейса (русский / английский), всё сохраняется
  • 🎛 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 libgirepository1.0-dev gir1.2-glib-2.0 gcc pkg-config python3-dev

pipx install "ymtui[mpris]"     # или uv tool install "ymtui[mpris]"

Без этого приложение работает полностью — просто без медиа-клавиш.

Первый запуск

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.0.tar.gz (27.8 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.0-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ymtui-0.1.0.tar.gz
  • Upload date:
  • Size: 27.8 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.0.tar.gz
Algorithm Hash digest
SHA256 03b258693ab1a40fb73f0bbdf8093b73f3e701cee0c378a99dafaee544ce8985
MD5 05e37de6a81e2ae2609024492d09dba8
BLAKE2b-256 129d0769c642756e7c8f39d028f104e61960e492898f12283f88d9ee37074b74

See more details on using hashes here.

Provenance

The following attestation bundles were made for ymtui-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: ymtui-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79abe7d98193d3c80b24c705bac8d60e50e1fd5bb6e4d3a33a44aa28f7a584a0
MD5 264731624f6b5867b18705fbd5d54050
BLAKE2b-256 e64e8783cfe0ea6cc50d150abb34cc442756e3dc6c4e14f66de465f8cb931c65

See more details on using hashes here.

Provenance

The following attestation bundles were made for ymtui-0.1.0-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