Skip to main content

Python library for VK Audio (API)

Project description

Лицензия Совместимость с Python Версия библиотеки PyPi downloads

VKpyMusic

Click here to switch to English version

VKpyMusic - это библиотека Python, которая предоставляет простой интерфейс для взаимодействия с API музыкального сервиса ВКонтакте (VK). Библиотека позволяет разработчикам легко выполнять операции, связанные с музыкой и другими функциональными возможностями, доступными через VK API.

Установка

Библиотека протестирована с Python 3.8-3.13.

  • Установка через pip (менеджер пакетов Python):

     $ pip install vkpymusic
    
  • Установка из исходников (требуется git):

     $ pip install git+https://github.com/issamansur/vkpymusic.git
    

Рекомендуется использование первого варианта.

Использование

Чтобы начать работу с VKpyMusic, вам понадобится действительный токен доступа к VK и пользовательский агент, который предоставляет доступ к API музыкального сервиса VK. Но если у вас их нет, ничего страшного - у нас есть свой собственный класс для их получения.


Использование класса TokenReceiver для получения токена и юзер-агента

Для получения токена VKpyMusic задействует класс TokenReceiver, который отвечает за выполнение авторизации с использованием доступных логина и пароля. Он предоставляет методы для обработки captcha, двухфакторной аутентификации и различных сценариев ошибок. Подробнее о работе класса здесь.

from vkpymusic import TokenReceiver

login = input("   Enter login: ")
password = input("Enter password: ")

tokenReceiver = TokenReceiver(login, password)

if tokenReceiver.auth():
    print(tokenReceiver.get_token())
    tokenReceiver.save_to_config()

Результат:

   Enter login: +...........
Enter password: .........
SMS with a confirmation code has been sent to your phone! The code is valid for a few minutes!
Code: 277765
Token was received!
Token was saved!


Использование класса Service

  • Для начала работы с аудио вы можете воспользоваться токеном, сгенерированным в прошлом пункте с помощью класса TokenReceiver:

     from vkpymusic import Service
     
     service = Service.parse_config()
    
  • Или указать свой токен и юзер-агент:

     service = Service("<your_client>", "<your_token>")
    

Подробнее о работе класса здесь

Получить информацию о песнях текущего пользователя

Следующий код пытается получить 10 треков пользователя. Обратите внимание, что в качестве первого аргумента принимается только ID пользователя (не username)! Если аудиозаписи пользователя закрыты, вызывается исключение VkApiException: VK API Error 201: Access denied.

user_songs = service.get_songs_by_userid(123456789, 10)

Поиск треков по запросу

songs = service.search_songs_by_text("Radiohead no surprises", 5)

Получить популярные треки

songs = service.get_popular(count=50, offset=0)

Сохранить трек локально

songs = service.search_songs_by_text("Radiohead no surprises", 5)
Service.save_music(songs[0])
# или
service.save_music(songs[0])


Полный пример

from vkpymusic import Service, TokenReceiver

login = input("   Enter login: ")
password = input("Enter password: ")

tokenReceiver = TokenReceiver(login, password)

if tokenReceiver.auth():
    print(tokenReceiver.get_token())
    tokenReceiver.save_to_config()

service = Service.parse_config()
tracks = service.search_songs_by_text('Radiohead no surprises')
Service.save_music(tracks[0])

Документация

Детальная документация и примеры использования для VKpyMusic находится на официальной странице GitHub:

https://github.com/issamansur/vkpymusic

https://issamansur.github.io/vkpymusic/

Вклад и поддержка

Если у вас есть какие-либо предложения по улучшению VKpyMusic или вы обнаружите какие-либо проблемы, пожалуйста, создайте новую проблему на странице проекта GitHub. Мы приветствуем ваши запросы на исправления и готовы помочь вам с любыми проблемами, с которыми вы столкнетесь.

Лицензия

VKpyMusic распространяется под лицензией MIT. За более детальной информацией о лицензии обратитесь к файлу LICENSE.

Авторы

VKpyMusic разрабатывается @issamansur или/и командой 'EDEXADE, inc.'

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

vkpymusic-4.0.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

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

vkpymusic-4.0.0-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file vkpymusic-4.0.0.tar.gz.

File metadata

  • Download URL: vkpymusic-4.0.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.3 Darwin/25.3.0

File hashes

Hashes for vkpymusic-4.0.0.tar.gz
Algorithm Hash digest
SHA256 f7a3c8e5993f8dc279d74e16724719b288d724275de40e8d42a74f2aa40249a0
MD5 0a5ab1e83d509fe4a21e85acb68c29e8
BLAKE2b-256 a4e19e402cab8280181efc745517235ce277e83220f61726a4ae8510ad608ac1

See more details on using hashes here.

File details

Details for the file vkpymusic-4.0.0-py3-none-any.whl.

File metadata

  • Download URL: vkpymusic-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.3 Darwin/25.3.0

File hashes

Hashes for vkpymusic-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a729ff5665e5a20fe79f300f5a7701b8a7728f65ffefe5568ed5eb6eff3477b8
MD5 7dd14bfb764deef6248158890afe8e0b
BLAKE2b-256 b466fe40353856b4489f5b00ed5a490b2617b041eedfb469eea0a421984bdb70

See more details on using hashes here.

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