diff --git a/README.md b/README.md index 2e4420c4..9dd7f728 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![Поддерживаемые Python версии](https://img.shields.io/badge/python-3.7+-blue.svg)](https://pypi.org/project/yandex-music/) [![Покрытие кода тестами](https://codecov.io/gh/MarshalX/yandex-music-api/branch/main/graph/badge.svg)](https://codecov.io/gh/MarshalX/yandex-music-api) [![Качество кода](https://api.codacy.com/project/badge/Grade/27011a5a8d9f4b278d1bfe2fe8725fed)](https://app.codacy.com/gh/MarshalX/yandex-music-api) -[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml/badge.svg)](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml) +[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml) [![Статус документации](https://readthedocs.org/projects/yandex-music/badge/?version=latest)](https://yandex-music.readthedocs.io/en/latest/?badge=latest) [![Лицензия LGPLv3](https://img.shields.io/badge/license-LGPLv3-lightgrey.svg)](https://www.gnu.org/licenses/lgpl-3.0.html) @@ -25,13 +25,6 @@ - [Получение помощи](#получение-помощи) - [Список изменений](#список-изменений) - [Реализации на других языках](#реализации-на-других-языках) - 1. [C#](#c) - 2. [PHP](#php) - 3. [JavaScript](#javascript) - - [Разработанные проекты](#разработанные-проекты) - 1. [Плагин для Kodi](#плагин-для-kodi) - 2. [Telegram бот-клиент](#telegram-бот-клиент) - - [Благодарность](#благодарность) - [Внесение своего вклада в проект](#внесение-своего-вклада-в-проект) - [Спонсоры](#спонсоры) - [Лицензия](#лицензия) @@ -46,7 +39,7 @@ #### Доступ к вашим данным Яндекс.Музыка -Начиная с версии [2.0.0](https://github.com/MarshalX/yandex-music-api/blob/a30082f4929e56381c870cb03103777ae29bcc6b/CHANGES.rst#%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F-200) библиотека больше не предоставляет интерфейсы для работы с OAuth Яндекс и Яндекс.Паспорт. Задача по получению токена для доступа к данным лежит на плечах разработчиков, использующих данную библиотеку. О том как получить токен читайте в документации. +Задача по получению токена для доступа к данным лежит на плечах разработчиков, использующих данную библиотеку. О том как получить токен читайте в [документации](https://yandex-music.readthedocs.io/en/main/token.html). ### Установка @@ -56,7 +49,7 @@ pip install -U yandex-music ``` -Или Вы можете установить из исходного кода с помощью команды: +Или вы можете установить из исходного кода с помощью команды: ``` shell git clone https://github.com/MarshalX/yandex-music-api @@ -108,7 +101,7 @@ from yandex_music import Client client = Client('token').init() ``` -После успешного создания клиента Вы вольны в выборе необходимого метода из API. Все они доступны у объекта класса `Client`. Подробнее в методах клиента в [документации](https://yandex-music.readthedocs.io/en/latest/yandex_music.client.html). +После успешного создания клиента вы вольны в выборе необходимого метода из API. Все они доступны у объекта класса `Client`. Подробнее в методах клиента в [документации](https://yandex-music.readthedocs.io/en/latest/yandex_music.client.html). Пример получения первого трека из плейлиста "Мне нравится" и его загрузки: @@ -132,7 +125,7 @@ client.tracks(['10994777:1193829', '40133452:5206873', '48966383:6693286', '5138 В качестве ID трека выступает его уникальный номер и номер альбома. Первым треком из примера является следующий трек:music.yandex.ru/album/**1193829**/track/**10994777** -Выполнение запросов с использование прокси в синхронной версии: +Выполнение запросов с использованием прокси в синхронной версии: ``` python from yandex_music.utils.request import Request @@ -150,7 +143,7 @@ client = Client(request=request).init() Больше примеров тут: [proxies - advanced usage - requests](https://2.python-requests.org/en/master/user/advanced/#proxies) -Выполнение запросов с использование прокси в асинхронной версии: +Выполнение запросов с использованием прокси в асинхронной версии: ``` python from yandex_music.utils.request_async import Request @@ -166,9 +159,9 @@ Socks прокси не поддерживаются в асинхронной #### Изучение по примерам -Вот несколько примеров для обзора. Даже если это не Ваш подход к обучению, пожалуйста, возьмите и бегло просмотрите их. +Вот несколько примеров для обзора. Даже если это не ваш подход к обучению, пожалуйста, возьмите и бегло просмотрите их. -Код примеров опубликован в открытом доступе, поэтому Вы можете взять его и начать писать вокруг него свой. +Код примеров опубликован в открытом доступе, поэтому вы можете взять его и начать писать вокруг него свой. Посетите [эту страницу](https://github.com/MarshalX/yandex-music-api/blob/main/examples/), чтобы изучить официальные примеры. @@ -198,7 +191,7 @@ await full_track.download() #### Логирование -Данная библиотека использует модуль `logging`. Чтобы настроить логирование на стандартный вывод, поместите +Данная библиотека использует модуль `logging`. Чтобы настроить логирование на стандартный вывод, поместите в начало вашего скрипта следующий код: ``` python import logging @@ -208,16 +201,14 @@ logging.basicConfig( ) ``` -в начало вашего скрипта. - -Вы также можете использовать логирование в вашем приложении, вызвав `logging.getLogger()` и установить уровень какой Вы хотите: +Вы также можете использовать логирование в вашем приложении, вызвав `logging.getLogger()` и установить уровень какой вы хотите: ``` python logger = logging.getLogger() logger.setLevel(logging.INFO) ``` -Если Вы хотите `DEBUG` логирование: +Если вы хотите `DEBUG` логирование: ``` python logger.setLevel(logging.DEBUG) @@ -225,7 +216,7 @@ logger.setLevel(logging.DEBUG) ### Документация -Документация `yandex-music-api` расположена на [readthedocs.io](https://yandex-music.readthedocs.io/). Вашей отправной точкой должен быть класс `Client`, а точнее его методы. Именно они выполняют все запросы на API и возвращают Вам готовые объекты. [Класс Client на readthedocs.io](https://yandex-music.readthedocs.io/en/latest/yandex_music.client.html). +Документация `yandex-music-api` расположена на [readthedocs.io](https://yandex-music.readthedocs.io/). Вашей отправной точкой должен быть класс `Client`, а точнее его методы. Именно они выполняют все запросы на API и возвращают вам готовые объекты. [Класс Client на readthedocs.io](https://yandex-music.readthedocs.io/en/latest/yandex_music.client.html). ### Получение помощи @@ -241,44 +232,11 @@ logger.setLevel(logging.DEBUG) ### Реализации на других языках -#### C# - -Реализация с совершенно другим подходом, так как используется API для frontend'a, а не мобильных и десктопных приложений: [Winster332/Yandex.Music.Api](https://github.com/Winster332/Yandex.Music.Api). - -[@Winster332](https://github.com/Winster332) не сильно проявляет активность, но существует форк, который продолжил начатое. Эндпоинты изменены с фронтовых на мобильные: [K1llMan/Yandex.Music.Api](https://github.com/K1llMan/Yandex.Music.Api). - -#### PHP - -Частично переписанная текущая библиотека на PHP: [LuckyWins/yandex-music-api](https://github.com/LuckyWins/yandex-music-api). - -#### JavaScript - -API wrapper на NodeJS. Не обновлялся больше двух лет: [itsmepetrov/yandex-music-api](https://github.com/itsmepetrov/yandex-music-api). Продолжение разработки заброшенной библиотеки: [kontsevoye/ym-api](https://github.com/kontsevoye/ym-api). - -### Разработанные проекты - -#### Плагин для Kodi - -Плагин может проигрывать пользовательские плейлисты и плейлисты Яндекса, поиск по Яндекс Музыке, радио. - -Сайт проекта: [ymkodi.ru](https://ymkodi.ru/). Исходный код: [kodi.plugin.yandex-music](https://github.com/Angel777d/kodi.plugin.yandex-music). -Автор: [@Angel777d](https://github.com/Angel777d). - -[![Плагин для Kodi](https://raw.githubusercontent.com/Angel777d/kodi.plugin.yandex-music/master/assets/img/kody_yandex_music_plugin.png)](https://ymkodi.ru/) - -#### Telegram бот-клиент - -Неофициальный бот. Умные и ваши плейлисты, понравившиеся треки. Лайки, дизлайки, текста песен, поиск, распознавание песен, похожие треки! Полноценный клиент на базе мессенджера. - -Сайт проекта: [music-yandex-bot.ru](https://music-yandex-bot.ru/). Бот в Telegram: [@music\_yandex\_bot](https://t.me/music_yandex_bot). Автор: [@MarshalX](https://github.com/MarshalX). - -Статья на habr.com с описанием реализации: [Под капотом бота-клиента Яндекс.Музыки](https://habr.com/ru/post/487428/). - -[![Telegram бот-клиент](https://hsto.org/webt/uv/4s/a3/uv4sa3pslohuzlmuzrjzteju2dk.png)](https://music-yandex-bot.ru/) - -### Благодарность - -Спасибо разработчикам `python-telegram-bot`. Выбрал Вас в качестве примера. +- [OpenAPI спецификация](https://github.com/acherkashin/yandex-music-open-api/blob/main/src/yandex-music.yaml) +- [C#](https://github.com/K1llMan/Yandex.Music.Api) +- [PHP](https://github.com/LuckyWins/yandex-music-api) +- [TS](https://github.com/acherkashin/yandex-music-open-api) +- [JS](https://github.com/kontsevoye/ym-api) ### Внесение своего вклада в проект diff --git a/docs/source/readme.content.md b/docs/source/readme.content.md index ae994704..50c26b4d 100644 --- a/docs/source/readme.content.md +++ b/docs/source/readme.content.md @@ -8,7 +8,7 @@ ## Доступ к вашим данным Яндекс.Музыка -Начиная с версии [2.0.0](https://github.com/MarshalX/yandex-music-api/blob/a30082f4929e56381c870cb03103777ae29bcc6b/CHANGES.rst#%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F-200) библиотека больше не предоставляет интерфейсы для работы с OAuth Яндекс и Яндекс.Паспорт. Задача по получению токена для доступа к данным лежит на плечах разработчиков, использующих данную библиотеку. О том как получить токен читайте в документации. +Задача по получению токена для доступа к данным лежит на плечах разработчиков, использующих данную библиотеку. О том как получить токен читайте в [документации](https://yandex-music.readthedocs.io/en/main/token.html). # Установка @@ -18,7 +18,7 @@ pip install -U yandex-music ``` -Или Вы можете установить из исходного кода с помощью команды: +Или вы можете установить из исходного кода с помощью команды: ``` shell git clone https://github.com/MarshalX/yandex-music-api @@ -70,7 +70,7 @@ from yandex_music import Client client = Client('token').init() ``` -После успешного создания клиента Вы вольны в выборе необходимого метода из API. Все они доступны у объекта класса `Client`. Подробнее в методах клиента в [документации](https://yandex-music.readthedocs.io/en/latest/yandex_music.client.html). +После успешного создания клиента вы вольны в выборе необходимого метода из API. Все они доступны у объекта класса `Client`. Подробнее в методах клиента в [документации](https://yandex-music.readthedocs.io/en/latest/yandex_music.client.html). Пример получения первого трека из плейлиста "Мне нравится" и его загрузки: @@ -94,7 +94,7 @@ client.tracks(['10994777:1193829', '40133452:5206873', '48966383:6693286', '5138 В качестве ID трека выступает его уникальный номер и номер альбома. Первым треком из примера является следующий трек:music.yandex.ru/album/**1193829**/track/**10994777** -Выполнение запросов с использование прокси в синхронной версии: +Выполнение запросов с использованием прокси в синхронной версии: ``` python from yandex_music.utils.request import Request @@ -112,7 +112,7 @@ client = Client(request=request).init() Больше примеров тут: [proxies - advanced usage - requests](https://2.python-requests.org/en/master/user/advanced/#proxies) -Выполнение запросов с использование прокси в асинхронной версии: +Выполнение запросов с использованием прокси в асинхронной версии: ``` python from yandex_music.utils.request_async import Request @@ -128,9 +128,9 @@ Socks прокси не поддерживаются в асинхронной ## Изучение по примерам -Вот несколько примеров для обзора. Даже если это не Ваш подход к обучению, пожалуйста, возьмите и бегло просмотрите их. +Вот несколько примеров для обзора. Даже если это не ваш подход к обучению, пожалуйста, возьмите и бегло просмотрите их. -Код примеров опубликован в открытом доступе, поэтому Вы можете взять его и начать писать вокруг него свой. +Код примеров опубликован в открытом доступе, поэтому вы можете взять его и начать писать вокруг него свой. Посетите [эту страницу](https://github.com/MarshalX/yandex-music-api/blob/main/examples/), чтобы изучить официальные примеры. @@ -160,7 +160,7 @@ await full_track.download() ## Логирование -Данная библиотека использует модуль `logging`. Чтобы настроить логирование на стандартный вывод, поместите +Данная библиотека использует модуль `logging`. Чтобы настроить логирование на стандартный вывод, поместите в начало вашего скрипта следующий код: ``` python import logging @@ -170,16 +170,14 @@ logging.basicConfig( ) ``` -в начало вашего скрипта. - -Вы также можете использовать логирование в вашем приложении, вызвав `logging.getLogger()` и установить уровень какой Вы хотите: +Вы также можете использовать логирование в вашем приложении, вызвав `logging.getLogger()` и установить уровень какой вы хотите: ``` python logger = logging.getLogger() logger.setLevel(logging.INFO) ``` -Если Вы хотите `DEBUG` логирование: +Если вы хотите `DEBUG` логирование: ``` python logger.setLevel(logging.DEBUG) @@ -199,44 +197,19 @@ logger.setLevel(logging.DEBUG) # Реализации на других языках -## C# - -Реализация с совершенно другим подходом, так как используется API для frontend'a, а не мобильных и десктопных приложений: [Winster332/Yandex.Music.Api](https://github.com/Winster332/Yandex.Music.Api). - -[@Winster332](https://github.com/Winster332) не сильно проявляет активность, но существует форк, который продолжил начатое. Эндпоинты изменены с фронтовых на мобильные: [K1llMan/Yandex.Music.Api](https://github.com/K1llMan/Yandex.Music.Api). - -## PHP - -Частично переписанная текущая библиотека на PHP: [LuckyWins/yandex-music-api](https://github.com/LuckyWins/yandex-music-api). - -## JavaScript - -API wrapper на NodeJS. Не обновлялся больше двух лет: [itsmepetrov/yandex-music-api](https://github.com/itsmepetrov/yandex-music-api). Продолжение разработки заброшенной библиотеки: [kontsevoye/ym-api](https://github.com/kontsevoye/ym-api). - -# Разработанные проекты - -## Плагин для Kodi - -Плагин может проигрывать пользовательские плейлисты и плейлисты Яндекса, поиск по Яндекс Музыке, радио. - -Сайт проекта: [ymkodi.ru](https://ymkodi.ru/). Исходный код: [kodi.plugin.yandex-music](https://github.com/Angel777d/kodi.plugin.yandex-music). -Автор: [@Angel777d](https://github.com/Angel777d). - -[![Плагин для Kodi](https://raw.githubusercontent.com/Angel777d/kodi.plugin.yandex-music/master/assets/img/kody_yandex_music_plugin.png)](https://ymkodi.ru/) - -## Telegram бот-клиент - -Неофициальный бот. Умные и ваши плейлисты, понравившиеся треки. Лайки, дизлайки, текста песен, поиск, распознавание песен, похожие треки! Полноценный клиент на базе мессенджера. - -Сайт проекта: [music-yandex-bot.ru](https://music-yandex-bot.ru/). Бот в Telegram: [@music\_yandex\_bot](https://t.me/music_yandex_bot). Автор: [@MarshalX](https://github.com/MarshalX). +- [OpenAPI спецификация](https://github.com/acherkashin/yandex-music-open-api/blob/main/src/yandex-music.yaml) +- [C#](https://github.com/K1llMan/Yandex.Music.Api) +- [PHP](https://github.com/LuckyWins/yandex-music-api) +- [TS](https://github.com/acherkashin/yandex-music-open-api) +- [JS](https://github.com/kontsevoye/ym-api) -Статья на habr.com с описанием реализации: [Под капотом бота-клиента Яндекс.Музыки](https://habr.com/ru/post/487428/). +# Внесение своего вклада в проект -[![Telegram бот-клиент](https://hsto.org/webt/uv/4s/a3/uv4sa3pslohuzlmuzrjzteju2dk.png)](https://music-yandex-bot.ru/) +Внесение своего вклада максимально приветствуется! Есть перечень пунктов, который стоит соблюдать. Каждый пункт перечня расписан в [CONTRIBUTING.md](https://github.com/MarshalX/yandex-music-api/blob/main/CONTRIBUTING.md). -# Благодарность и спонсоры +Вы можете помочь и сообщив о [баге](https://github.com/MarshalX/yandex-music-api/issues/new?assignees=MarshalX&labels=bug&template=bug-report.md&title=) или о [новом поле пришедшем от API](https://github.com/MarshalX/yandex-music-api/issues/new?assignees=&labels=feature&template=found-unknown-fields.md&title=%D0%9D%D0%BE%D0%B2%D0%BE%D0%B5+%D0%BD%D0%B5%D0%B8%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D0%B5+%D0%BF%D0%BE%D0%BB%D0%B5+%D0%BE%D1%82+API). -Спасибо разработчикам `python-telegram-bot`. Выбрал Вас в качестве примера. +# Спонсоры ## JetBrains diff --git a/docs/source/readme.md b/docs/source/readme.md index aa8866c3..1918d1db 100644 --- a/docs/source/readme.md +++ b/docs/source/readme.md @@ -11,7 +11,7 @@ [![Поддерживаемые Python версии](https://img.shields.io/badge/python-3.7+-blue.svg)](https://pypi.org/project/yandex-music/) [![Покрытие кода тестами](https://codecov.io/gh/MarshalX/yandex-music-api/branch/main/graph/badge.svg)](https://codecov.io/gh/MarshalX/yandex-music-api) [![Качество кода](https://api.codacy.com/project/badge/Grade/27011a5a8d9f4b278d1bfe2fe8725fed)](https://app.codacy.com/gh/MarshalX/yandex-music-api) -[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml/badge.svg)](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml) +[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml) [![Статус документации](https://readthedocs.org/projects/yandex-music/badge/?version=latest)](https://yandex-music.readthedocs.io/en/latest/?badge=latest) [![Лицензия LGPLv3](https://img.shields.io/badge/license-LGPLv3-lightgrey.svg)](https://www.gnu.org/licenses/lgpl-3.0.html)