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 libgirepository-2.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.3.tar.gz (29.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.3-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ymtui-0.1.3.tar.gz
  • Upload date:
  • Size: 29.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.3.tar.gz
Algorithm Hash digest
SHA256 e32a1446a9f95b05e979842a4ffda09b6a874e54ec493db62f5e3fef156cf8ea
MD5 ad7d934d02afc16cb29eb735d25908a5
BLAKE2b-256 f3ed888c0ff539573cfbd80b24d8d395914f6d0f461c045b7500c76c43c99f85

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ymtui-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 35.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fbb5e2856c2d5c18387cad77a9a0ff301d461673700add0ff3c699bcea34f1af
MD5 5568f651c92c59f72e83ed8ca6f00410
BLAKE2b-256 4d506328d00697eba508313cf89dd91e77a716f307b212966e9bb0380352c98b

See more details on using hashes here.

Provenance

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