# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['musicbot', 'musicbot.commands', 'musicbot.music']

package_data = \
{'': ['*'], 'musicbot': ['schema/*']}

install_requires = \
['attrdict>=2.0,<3.0',
 'attrs>=19.1,<20.0',
 'click-didyoumean>=0.0.3,<0.0.4',
 'click-man>=0.4.1,<0.5.0',
 'click-spinner>=0.1.8,<0.2.0',
 'click>=7.0,<8.0',
 'click_aliases>=1.0.1,<2.0.0',
 'coloredlogs>=14.0,<15.0',
 'feedparser>=5.2.1,<6.0.0',
 'flask>=1.1.1,<2.0.0',
 'graphql-py>=0.7.1,<0.8.0',
 'humanfriendly>=8.1,<9.0',
 'isodate>=0.6.0,<0.7.0',
 'isort[pyproject]>=4.3,<5.0',
 'logging-tree>=1.8,<2.0',
 'mps-youtube>=0.2.8,<0.3.0',
 'prettytable>=0.7.2,<0.8.0',
 'prompt_toolkit>=3.0.2,<4.0.0',
 'psycopg2-binary>=2.8,<3.0',
 'pyacoustid>=1.1,<2.0',
 'pydub>=0.23.1,<0.24.0',
 'pytaglib>=1.4,<2.0',
 'python-dotenv>=0.12.0,<0.13.0',
 'python-slugify>=4.0.0,<5.0.0',
 'python-vlc>=3.0,<4.0',
 'pytube3>=9.6.4,<10.0.0',
 'spotipy>=2.10.0,<3.0.0',
 'tqdm>=4.31,<5.0',
 'watchdog>=0.10.0,<0.11.0',
 'youtube-dl>=2020.1.24,<2021.0.0']

entry_points = \
{'console_scripts': ['musicbot = musicbot.cli:main']}

setup_kwargs = {
    'name': 'musicbot',
    'version': '0.2.0',
    'description': 'Music swiss army knife',
    'long_description': '========\nMusicBot\n========\n+---------------+-----------------+\n|     Tools     |      Result     |\n+===============+=================+\n|     Codacy    |    |codacy|     |\n+---------------+-----------------+\n|     Coverage  |   |coverage|    |\n+---------------+-----------------+\n\n.. |codacy| image:: https://api.codacy.com/project/badge/Grade/621acf3309b24c538c40824f9af467de\n   :target: https://www.codacy.com/app/AdrienPensart/musicbot?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=AdrienPensart/musicbot&amp;utm_campaign=Badge_Grade\n   :alt: Codacy badge\n.. |coverage| image:: https://github.com/AdrienPensart/musicbot/blob/master/doc/coverage.svg\n   :alt: Coverage badge\n\nDescription\n-----------\nCLI / API / Website to manipulate music and create smart playlists, and play it !\n\nIt uses poetry and pyenv tools to manage project life and docker to test it.\n\nUnder the hood, there is a postgraphile API frontend backed by a postgresql database, it allow us\nto have users and security integrated.\n\nDev Environment\n------------\n\n.. code-block:: bash\n\n  sudo apt install -y vlc libtag1-dev postgresql-server-dev-all ffmpeg python3-pip docker.io libchromaprint-tools libbz2-dev libsqlite3-dev llvm libncurses5-dev libncursesw5-dev tk-dev liblzma-dev libssl-dev libreadline-dev\n  sudo usermod -aG docker $(whoami)\n\n  git clone https://github.com/AdrienPensart/musicbot.git\n  cd musicbot\n\n  https://pyenv.run | bash\n  pyenv install --verbose $(cat .python-version) -ks\n  pyenv global $(cat .python-version)\n\n  # you should put that at your shell startup\n  eval "$(pyenv init -)"\n\n  python <(curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py) --preview\n  poetry install\n\nTesting\n------------\n\n.. code-block:: bash\n\n  poetry run pytest\n  poetry run coverage-badge -f -o doc/coverage.svg\n\nHow to use\n------------\n\n.. code-block:: bash\n\n  poetry run docker-compose build --parallel\n  poetry run docker-compose up\n  musicbot user create --email your_email --password your_password --save\n  musicbot local scan /tests/fixtures/folder1 /tests/fixtures/folder2\n  musicbot local tracks\n\nLinting\n------------\n\n.. code-block:: bash\n\n  poetry run pylint musicbot tests\n\nDocumentation\n------------\n\n.. code-block:: bash\n\n  poetry run doc/gen.sh\n\nCommands\n--------\n.. code-block::\n\n  Usage: musicbot [OPTIONS] COMMAND [ARGS]...\n  \n    Music swiss knife, new gen.\n  \n  Options:\n    -V, --version                                       Show the version and exit.\n    -c, --config PATH                                   Config file path  [default: ~/musicbot.ini]\n    -l, --log PATH                                      Log file path\n    -i, --info                                          Same as "--verbosity info"\n    -d, --debug                                         Be very verbose, same as "--verbosity debug" + hide progress bars  [default: False]\n    -t, --timings                                       Set verbosity to info and show execution timings  [default: False]\n    -v, --verbosity [debug|info|warning|error|critical]\n                                                        Verbosity levels  [default: warning]\n    -q, --quiet                                         Disable progress bars  [default: False]\n    -h, --help                                          Show this message and exit.\n  \n  Commands:\n    folder   Manage folders\n    help     Print help\n    json     JSON tools for music libraries\n    local    Local music management\n    music    Music file\n    spotify  Spotify tool\n    user     User management\n    version  Print version\n    youtube  Youtube tool\n\n\nmusicbot folder\n***************\n.. code-block::\n\n  Usage: musicbot folder [OPTIONS] COMMAND [ARGS]...\n  \n    Manage folders\n  \n  Options:\n    -h, --help  Show this message and exit.\n  \n  Commands:\n    flac2mp3  Convert all files in folders to mp3\n    help      Print help\n    tracks    List tracks\n\n\nmusicbot folder flac2mp3\n************************\n.. code-block::\n\n  Usage: musicbot folder flac2mp3 [OPTIONS] [FOLDERS]...\n  \n    Convert all files in folders to mp3\n  \n  Options:\n    --concurrency INTEGER  Number of coroutines  [default: 8]\n    --dry                  Take no real action  [default: False]\n    -h, --help             Show this message and exit.\n\n\nmusicbot folder tracks\n**********************\n.. code-block::\n\n  Usage: musicbot folder tracks [OPTIONS] [FOLDERS]...\n  \n    List tracks\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot help\n*************\n.. code-block::\n\n  Usage: musicbot help [OPTIONS] [COMMAND]...\n  \n    Print help\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot json\n*************\n.. code-block::\n\n  Usage: musicbot json [OPTIONS] COMMAND [ARGS]...\n  \n    JSON tools for music libraries\n  \n  Options:\n    -h, --help  Show this message and exit.\n  \n  Commands:\n    diff  Diff tracks\n    help  Print help\n\n\nmusicbot json diff\n******************\n.. code-block::\n\n  Usage: musicbot json diff [OPTIONS] SOURCE DESTINATION\n  \n    Diff tracks\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local\n**************\n.. code-block::\n\n  Usage: musicbot local [OPTIONS] COMMAND [ARGS]...\n  \n    Local music management\n  \n  Options:\n    -e, --email TEXT     User email\n    -p, --password TEXT  User password\n    --graphql TEXT       GraphQL endpoint  [default: http://127.0.0.1:5000/graphql]\n    -t, --token TEXT     User token\n    -h, --help           Show this message and exit.\n  \n  Commands:\n    artists       List artists\n    bests         Generate bests playlists with some rules\n    clean         Clean all musics\n    consistency   Check music files consistency\n    execute       Raw query\n    filter        Print a filter\n    filters       List filters\n    find          Just list music files\n    folders       List folders\n    help          Print help\n    load-filters  Load default filters\n    play          Music player\n    playlist      Generate a new playlist\n    scan          (re)Load musics\n    stats         Generate some stats for music collection with filters\n    sync          Copy selected musics with filters to destination folder\n    watch         Watch files changes in folders\n\n\nmusicbot local artists\n**********************\n.. code-block::\n\n  Usage: musicbot local artists [OPTIONS]\n  \n    List artists\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot local bests\n********************\n.. code-block::\n\n  Usage: musicbot local bests [OPTIONS] PATH\n  \n    Generate bests playlists with some rules\n  \n  Options:\n    --dry                   Take no real action  [default: False]\n    --name TEXT             Filter name\n    --limit INTEGER         Fetch a maximum limit of music\n    --youtubes TEXT         Select musics with a youtube link\n    --no-youtubes TEXT      Select musics without youtube link\n    --spotifys TEXT         Select musics with a spotifys link\n    --no-spotifys TEXT      Select musics without spotifys link\n    --formats TEXT          Select musics with file format\n    --no-formats TEXT       Filter musics without format\n    --keywords TEXT         Select musics with keywords\n    --no-keywords TEXT      Filter musics without keywords\n    --artists TEXT          Select musics with artists\n    --no-artists TEXT       Filter musics without artists\n    --albums TEXT           Select musics with albums\n    --no-albums TEXT        Filter musics without albums\n    --titles TEXT           Select musics with titles\n    --no-titles TEXT        Filter musics without titless\n    --genres TEXT           Select musics with genres\n    --no-genres TEXT        Filter musics without genres\n    --min-duration INTEGER  Minimum duration filter (hours:minutes:seconds)\n    --max-duration INTEGER  Maximum duration filter (hours:minutes:seconds))\n    --min-size INTEGER      Minimum file size filter (in bytes)\n    --max-size INTEGER      Maximum file size filter (in bytes)\n    --min-rating FLOAT      Minimum rating  [default: 0.0]\n    --max-rating FLOAT      Maximum rating  [default: 5.0]\n    --relative              Generate relatives paths\n    --shuffle               Randomize selection\n    --prefix TEXT           Append prefix before each path (implies relative)\n    --suffix TEXT           Append this suffix to playlist name\n    -h, --help              Show this message and exit.\n\n\nmusicbot local clean\n********************\n.. code-block::\n\n  Usage: musicbot local clean [OPTIONS]\n  \n    Clean all musics\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local consistency\n**************************\n.. code-block::\n\n  Usage: musicbot local consistency [OPTIONS] [FOLDERS]...\n  \n    Check music files consistency\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local execute\n**********************\n.. code-block::\n\n  Usage: musicbot local execute [OPTIONS] QUERY\n  \n    Raw query\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local filter\n*********************\n.. code-block::\n\n  Usage: musicbot local filter [OPTIONS] NAME\n  \n    Print a filter\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot local filters\n**********************\n.. code-block::\n\n  Usage: musicbot local filters [OPTIONS]\n  \n    List filters\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot local find\n*******************\n.. code-block::\n\n  Usage: musicbot local find [OPTIONS] [FOLDERS]...\n  \n    Just list music files\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local folders\n**********************\n.. code-block::\n\n  Usage: musicbot local folders [OPTIONS]\n  \n    List folders\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot local load-filters\n***************************\n.. code-block::\n\n  Usage: musicbot local load-filters [OPTIONS]\n  \n    Load default filters\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local play\n*******************\n.. code-block::\n\n  Usage: musicbot local play [OPTIONS]\n  \n    Music player\n  \n  Options:\n    -e, --email TEXT        User email\n    -p, --password TEXT     User password\n    --graphql TEXT          GraphQL endpoint  [default: http://127.0.0.1:5000/graphql]\n    -t, --token TEXT        User token\n    --name TEXT             Filter name\n    --limit INTEGER         Fetch a maximum limit of music\n    --youtubes TEXT         Select musics with a youtube link\n    --no-youtubes TEXT      Select musics without youtube link\n    --spotifys TEXT         Select musics with a spotifys link\n    --no-spotifys TEXT      Select musics without spotifys link\n    --formats TEXT          Select musics with file format\n    --no-formats TEXT       Filter musics without format\n    --keywords TEXT         Select musics with keywords\n    --no-keywords TEXT      Filter musics without keywords\n    --artists TEXT          Select musics with artists\n    --no-artists TEXT       Filter musics without artists\n    --albums TEXT           Select musics with albums\n    --no-albums TEXT        Filter musics without albums\n    --titles TEXT           Select musics with titles\n    --no-titles TEXT        Filter musics without titless\n    --genres TEXT           Select musics with genres\n    --no-genres TEXT        Filter musics without genres\n    --min-duration INTEGER  Minimum duration filter (hours:minutes:seconds)\n    --max-duration INTEGER  Maximum duration filter (hours:minutes:seconds))\n    --min-size INTEGER      Minimum file size filter (in bytes)\n    --max-size INTEGER      Maximum file size filter (in bytes)\n    --min-rating FLOAT      Minimum rating  [default: 0.0]\n    --max-rating FLOAT      Maximum rating  [default: 5.0]\n    --relative              Generate relatives paths\n    --shuffle               Randomize selection\n    -h, --help              Show this message and exit.\n\n\nmusicbot local playlist\n***********************\n.. code-block::\n\n  Usage: musicbot local playlist [OPTIONS] [PATH]\n  \n    Generate a new playlist\n  \n  Options:\n    --dry                          Take no real action  [default: False]\n    --name TEXT                    Filter name\n    --limit INTEGER                Fetch a maximum limit of music\n    --youtubes TEXT                Select musics with a youtube link\n    --no-youtubes TEXT             Select musics without youtube link\n    --spotifys TEXT                Select musics with a spotifys link\n    --no-spotifys TEXT             Select musics without spotifys link\n    --formats TEXT                 Select musics with file format\n    --no-formats TEXT              Filter musics without format\n    --keywords TEXT                Select musics with keywords\n    --no-keywords TEXT             Filter musics without keywords\n    --artists TEXT                 Select musics with artists\n    --no-artists TEXT              Filter musics without artists\n    --albums TEXT                  Select musics with albums\n    --no-albums TEXT               Filter musics without albums\n    --titles TEXT                  Select musics with titles\n    --no-titles TEXT               Filter musics without titless\n    --genres TEXT                  Select musics with genres\n    --no-genres TEXT               Filter musics without genres\n    --min-duration INTEGER         Minimum duration filter (hours:minutes:seconds)\n    --max-duration INTEGER         Maximum duration filter (hours:minutes:seconds))\n    --min-size INTEGER             Minimum file size filter (in bytes)\n    --max-size INTEGER             Maximum file size filter (in bytes)\n    --min-rating FLOAT             Minimum rating  [default: 0.0]\n    --max-rating FLOAT             Maximum rating  [default: 5.0]\n    --relative                     Generate relatives paths\n    --shuffle                      Randomize selection\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot local scan\n*******************\n.. code-block::\n\n  Usage: musicbot local scan [OPTIONS] [FOLDERS]...\n  \n    (re)Load musics\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot local stats\n********************\n.. code-block::\n\n  Usage: musicbot local stats [OPTIONS]\n  \n    Generate some stats for music collection with filters\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    --name TEXT                    Filter name\n    --limit INTEGER                Fetch a maximum limit of music\n    --youtubes TEXT                Select musics with a youtube link\n    --no-youtubes TEXT             Select musics without youtube link\n    --spotifys TEXT                Select musics with a spotifys link\n    --no-spotifys TEXT             Select musics without spotifys link\n    --formats TEXT                 Select musics with file format\n    --no-formats TEXT              Filter musics without format\n    --keywords TEXT                Select musics with keywords\n    --no-keywords TEXT             Filter musics without keywords\n    --artists TEXT                 Select musics with artists\n    --no-artists TEXT              Filter musics without artists\n    --albums TEXT                  Select musics with albums\n    --no-albums TEXT               Filter musics without albums\n    --titles TEXT                  Select musics with titles\n    --no-titles TEXT               Filter musics without titless\n    --genres TEXT                  Select musics with genres\n    --no-genres TEXT               Filter musics without genres\n    --min-duration INTEGER         Minimum duration filter (hours:minutes:seconds)\n    --max-duration INTEGER         Maximum duration filter (hours:minutes:seconds))\n    --min-size INTEGER             Minimum file size filter (in bytes)\n    --max-size INTEGER             Maximum file size filter (in bytes)\n    --min-rating FLOAT             Minimum rating  [default: 0.0]\n    --max-rating FLOAT             Maximum rating  [default: 5.0]\n    --relative                     Generate relatives paths\n    --shuffle                      Randomize selection\n    -h, --help                     Show this message and exit.\n\n\nmusicbot local sync\n*******************\n.. code-block::\n\n  Usage: musicbot local sync [OPTIONS] DESTINATION\n  \n    Copy selected musics with filters to destination folder\n  \n  Options:\n    --dry                   Take no real action  [default: False]\n    --name TEXT             Filter name\n    --limit INTEGER         Fetch a maximum limit of music\n    --youtubes TEXT         Select musics with a youtube link\n    --no-youtubes TEXT      Select musics without youtube link\n    --spotifys TEXT         Select musics with a spotifys link\n    --no-spotifys TEXT      Select musics without spotifys link\n    --formats TEXT          Select musics with file format\n    --no-formats TEXT       Filter musics without format\n    --keywords TEXT         Select musics with keywords\n    --no-keywords TEXT      Filter musics without keywords\n    --artists TEXT          Select musics with artists\n    --no-artists TEXT       Filter musics without artists\n    --albums TEXT           Select musics with albums\n    --no-albums TEXT        Filter musics without albums\n    --titles TEXT           Select musics with titles\n    --no-titles TEXT        Filter musics without titless\n    --genres TEXT           Select musics with genres\n    --no-genres TEXT        Filter musics without genres\n    --min-duration INTEGER  Minimum duration filter (hours:minutes:seconds)\n    --max-duration INTEGER  Maximum duration filter (hours:minutes:seconds))\n    --min-size INTEGER      Minimum file size filter (in bytes)\n    --max-size INTEGER      Maximum file size filter (in bytes)\n    --min-rating FLOAT      Minimum rating  [default: 0.0]\n    --max-rating FLOAT      Maximum rating  [default: 5.0]\n    --relative              Generate relatives paths\n    --shuffle               Randomize selection\n    -h, --help              Show this message and exit.\n\n\nmusicbot local watch\n********************\n.. code-block::\n\n  Usage: musicbot local watch [OPTIONS]\n  \n    Watch files changes in folders\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot music\n**************\n.. code-block::\n\n  Usage: musicbot music [OPTIONS] COMMAND [ARGS]...\n  \n    Music file\n  \n  Options:\n    -h, --help  Show this message and exit.\n  \n  Commands:\n    fingerprint  Print music fingerprint\n    help         Print help\n\n\nmusicbot music fingerprint\n**************************\n.. code-block::\n\n  Usage: musicbot music fingerprint [OPTIONS] PATH\n  \n    Print music fingerprint\n  \n  Options:\n    --acoustid-api-key TEXT  AcoustID API Key\n    -h, --help               Show this message and exit.\n\n\nmusicbot spotify\n****************\n.. code-block::\n\n  Usage: musicbot spotify [OPTIONS] COMMAND [ARGS]...\n  \n    Spotify tool\n  \n  Options:\n    -h, --help  Show this message and exit.\n  \n  Commands:\n    help       Print help\n    playlist   Show playlist\n    playlists  List playlists\n    tracks     Show tracks\n\n\nmusicbot spotify playlist\n*************************\n.. code-block::\n\n  Usage: musicbot spotify playlist [OPTIONS] NAME\n  \n    Show playlist\n  \n  Options:\n    --spotify TEXT  Spotify token\n    -h, --help      Show this message and exit.\n\n\nmusicbot spotify playlists\n**************************\n.. code-block::\n\n  Usage: musicbot spotify playlists [OPTIONS]\n  \n    List playlists\n  \n  Options:\n    --spotify TEXT  Spotify token\n    -h, --help      Show this message and exit.\n\n\nmusicbot spotify tracks\n***********************\n.. code-block::\n\n  Usage: musicbot spotify tracks [OPTIONS]\n  \n    Show tracks\n  \n  Options:\n    --spotify TEXT                 Spotify token\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot user\n*************\n.. code-block::\n\n  Usage: musicbot user [OPTIONS] COMMAND [ARGS]...\n  \n    User management\n  \n  Options:\n    -h, --help  Show this message and exit.\n  \n  Commands:\n    help                        Print help\n    list                        List users (admin)\n    login (token)               Authenticate user\n    register (add,create,new)   Register a new user\n    unregister (delete,remove)  Remove a user\n\n\nmusicbot user list\n******************\n.. code-block::\n\n  Usage: musicbot user list [OPTIONS]\n  \n    List users (admin)\n  \n  Options:\n    --output [table|json|m3u|csv]  Output format  [default: table]\n    --graphql-admin TEXT           GraphQL endpoint  [default: http://127.0.0.1:5001/graphql]\n    -h, --help                     Show this message and exit.\n\n\nmusicbot user login\n*******************\n.. code-block::\n\n  Usage: musicbot user login [OPTIONS]\n  \n    Authenticate user\n  \n  Options:\n    -e, --email TEXT     User email\n    -p, --password TEXT  User password\n    --graphql TEXT       GraphQL endpoint  [default: http://127.0.0.1:5000/graphql]\n    -s, --save           Save to config file  [default: False]\n    -h, --help           Show this message and exit.\n\n\nmusicbot user register\n**********************\n.. code-block::\n\n  Usage: musicbot user register [OPTIONS]\n  \n    Register a new user\n  \n  Options:\n    -e, --email TEXT     User email\n    -p, --password TEXT  User password\n    --first-name TEXT    User first name\n    --last-name TEXT     User last name\n    --graphql TEXT       GraphQL endpoint  [default: http://127.0.0.1:5000/graphql]\n    -s, --save           Save to config file  [default: False]\n    -h, --help           Show this message and exit.\n\n\nmusicbot user unregister\n************************\n.. code-block::\n\n  Usage: musicbot user unregister [OPTIONS]\n  \n    Remove a user\n  \n  Options:\n    -e, --email TEXT     User email\n    -p, --password TEXT  User password\n    --graphql TEXT       GraphQL endpoint  [default: http://127.0.0.1:5000/graphql]\n    -t, --token TEXT     User token\n    -h, --help           Show this message and exit.\n\n\nmusicbot version\n****************\n.. code-block::\n\n  Usage: musicbot version [OPTIONS]\n  \n    Print version\n  \n    Equivalent : -V\n  \n  Options:\n    -h, --help  Show this message and exit.\n\n\nmusicbot youtube\n****************\n.. code-block::\n\n  Usage: musicbot youtube [OPTIONS] COMMAND [ARGS]...\n  \n    Youtube tool\n  \n  Options:\n    -h, --help  Show this message and exit.\n  \n  Commands:\n    find         Search a youtube link with artist and title\n    fingerprint  Fingerprint a youtube video\n    help         Print help\n    search       Search a youtube link with artist and title\n\n\nmusicbot youtube find\n*********************\n.. code-block::\n\n  Usage: musicbot youtube find [OPTIONS] PATH\n  \n    Search a youtube link with artist and title\n  \n  Options:\n    --youtube-api-key TEXT   YouTube API Key\n    --acoustid-api-key TEXT  AcoustID API Key\n    -h, --help               Show this message and exit.\n\n\nmusicbot youtube fingerprint\n****************************\n.. code-block::\n\n  Usage: musicbot youtube fingerprint [OPTIONS] URL\n  \n    Fingerprint a youtube video\n  \n  Options:\n    --acoustid-api-key TEXT  AcoustID API Key\n    -h, --help               Show this message and exit.\n\n\nmusicbot youtube search\n***********************\n.. code-block::\n\n  Usage: musicbot youtube search [OPTIONS] ARTIST TITLE\n  \n    Search a youtube link with artist and title\n  \n  Options:\n    --youtube-api-key TEXT  YouTube API Key\n    -h, --help              Show this message and exit.\n\n\n',
    'author': 'Adrien Pensart',
    'author_email': 'crunchengine@gmail.com',
    'maintainer': None,
    'maintainer_email': None,
    'url': None,
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.7,<4.0',
}


setup(**setup_kwargs)
