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.4.tar.gz (31.3 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.4-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

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

Hashes for ymtui-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0e2f11dfbad5835e13331db509877c1a1096c8454d7c8b01eeb9f0379e9b1c41
MD5 c0adc7a0bad789e90ffaae2355f51574
BLAKE2b-256 5a037856e1d7aa42cdc9d04e34c115e0eb7f45d7be69fd01ed81a8a9c146149b

See more details on using hashes here.

Provenance

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

Hashes for ymtui-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8bce3455c70287cb43d5463056857eda837cf9a6f5e6e304c8b377e592c981fe
MD5 2bc25caacbd6039056211392ea25d538
BLAKE2b-256 b27ed1657e4fcfbadf54ad9d95c43895086bb720de0480b96365a8c6a44ffeee

See more details on using hashes here.

Provenance

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