Sigma67 Ytmusicapi Save

Unofficial API for YouTube Music

Project README

ytmusicapi: Unofficial API for YouTube Music ############################################

.. |pypi-downloads| image:: https://img.shields.io/pypi/dm/ytmusicapi?style=flat-square :alt: PyPI Downloads :target: https://pypi.org/project/ytmusicapi/

.. |gitter| image:: https://badges.gitter.im/sigma67/ytmusicapi.svg :alt: Ask questions at https://gitter.im/sigma67/ytmusicapi :target: https://gitter.im/sigma67/ytmusicapi

.. |code-coverage| image:: https://img.shields.io/codecov/c/github/sigma67/ytmusicapi?style=flat-square :alt: Code coverage :target: https://codecov.io/gh/sigma67/ytmusicapi

.. |latest-release| image:: https://img.shields.io/github/v/release/sigma67/ytmusicapi?style=flat-square :alt: Latest release :target: https://github.com/sigma67/ytmusicapi/releases/latest

.. |commits-since-latest| image:: https://img.shields.io/github/commits-since/sigma67/ytmusicapi/latest?style=flat-square :alt: Commits since latest release :target: https://github.com/sigma67/ytmusicapi/commits

|pypi-downloads||gitter||code-coverage||latest-release||commits-since-latest|

ytmusicapi is a Python 3 library to send requests to the YouTube Music API. It emulates YouTube Music web client requests using the user's cookie data for authentication.

.. features

Features

| Browsing:

  • search (including all filters) and suggestions
  • get artist information and releases (songs, videos, albums, singles, related artists)
  • get user information (videos, playlists)
  • get albums
  • get song metadata
  • get watch playlists (next songs when you press play/radio/shuffle in YouTube Music)
  • get song lyrics

| Exploring music:

  • get moods and genres playlists
  • get latest charts (globally and per country)

| Library management:

  • get library contents: playlists, songs, artists, albums and subscriptions, podcasts, channels
  • add/remove library content: rate songs, albums and playlists, subscribe/unsubscribe artists
  • get and modify play history

| Playlists:

  • create and delete playlists
  • modify playlists: edit metadata, add/move/remove tracks
  • get playlist contents
  • get playlist suggestions

| Podcasts:

  • get podcasts
  • get episodes
  • get channels
  • get episodes playlists

| Uploads:

  • upload songs and remove them again
  • list uploaded songs, artists and albums

| Localization:

  • all regions are supported (see locations FAQ <https://ytmusicapi.readthedocs.io/en/stable/faq.html#which-values-can-i-use-for-locations>__
  • 16 languages are supported (see languages FAQ <https://ytmusicapi.readthedocs.io/en/stable/faq.html#which-values-can-i-use-for-languages>__

If you find something missing or broken, check the FAQ <https://ytmusicapi.readthedocs.io/en/stable/faq.html>__ or feel free to create an issue <https://github.com/sigma67/ytmusicapi/issues/new/choose>__.

Requirements

Setup

See the Documentation <https://ytmusicapi.readthedocs.io/en/stable/usage.html>_ for detailed instructions

Usage

.. code-block:: python

from ytmusicapi import YTMusic

yt = YTMusic('oauth.json')
playlistId = yt.create_playlist('test', 'test description')
search_results = yt.search('Oasis Wonderwall')
yt.add_playlist_items(playlistId, [search_results[0]['videoId']])

The tests <https://github.com/sigma67/ytmusicapi/blob/master/tests/>_ are also a great source of usage examples.

.. end-features

Contributing

Pull requests are welcome. There are still some features that are not yet implemented. Please, refer to CONTRIBUTING.rst <https://github.com/sigma67/ytmusicapi/blob/master/CONTRIBUTING.rst>_ for guidance.

Open Source Agenda is not affiliated with "Sigma67 Ytmusicapi" Project. README Source: sigma67/ytmusicapi
Stars
1,487
Open Issues
9
Last Commit
1 week ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating