Music swiss army knife
Project description
Tools |
Result |
---|---|
Codacy |
|
Coverage |
Description
CLI / API / Website to manipulate music and create smart playlists, and play it !
It uses poetry and pyenv tools to manage project life and docker to test it.
Under the hood, there is a postgraphile API frontend backed by a postgresql database, it allow us to have users and security integrated.
Dev Environment
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
sudo usermod -aG docker $(whoami)
git clone https://github.com/AdrienPensart/musicbot.git
cd musicbot
https://pyenv.run | bash
pyenv install --verbose $(cat .python-version) -ks
pyenv global $(cat .python-version)
# you should put that at your shell startup
eval "$(pyenv init -)"
python <(curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py)
poetry install
Testing
poetry run pytest
poetry run coverage-badge -f -o doc/coverage.svg
How to use
poetry run docker-compose build --parallel
poetry run docker-compose up
musicbot user create --email your_email --password your_password --save
musicbot local scan /tests/fixtures/folder1 /tests/fixtures/folder2
musicbot local tracks
Linting
poetry run pylint musicbot tests doc
Documentation
poetry run rstcheck doc/help.rst
poetry run doc/gen.py > README.rst
poetry run rstcheck README.rst
Commands
Usage: musicbot [OPTIONS] COMMAND [ARGS]...
Music swiss knife, new gen.
Options:
Global options:
-c, --config FILE Config file path [default: ~/musicbot.ini]
-l, --log FILE Log file path
-q, --quiet Disable progress bars [default: False]
-t, --timings Set verbosity to info and show execution timings [default: False]
Verbosity: [mutually_exclusive]
--debug Same as "--verbosity debug"
--info Same as "--verbosity info"
--warning Same as "--verbosity warning"
--error Same as "--verbosity error"
--critical Same as "--verbosity critical"
--verbosity [debug|info|warning|error|critical] Set verbosity level [default: warning]
-V, --version Show the version and exit.
-h, --help Show this message and exit.
Commands:
completion Shell completion
folder Manage folders
help Print help
local Local music management
music (file) Music file
spotify Spotify tool
user User management
version Print version
youtube Youtube tool
musicbot completion
Usage: musicbot completion [OPTIONS] COMMAND [ARGS]...
Shell completion subcommand
Options:
-h, --help Show this message and exit.
Commands:
help Print help
install Install the click-completion-command completion
show (generate,print) Show the click-completion-command completion code
musicbot completion install
Usage: musicbot completion install [OPTIONS] [[bash|fish|zsh|powershell]] [PATH]
Auto install shell completion code in your rc file
Options:
-i, --case-insensitive / --no-case-insensitive Case insensitive completion
--append / --overwrite Append the completion code to the file
-h, --help Show this message and exit.
musicbot completion show
Usage: musicbot completion show [OPTIONS] [[bash|fish|zsh|powershell]]
Generate shell code to enable completion
Options:
-i, --case-insensitive / --no-case-insensitive Case insensitive completion
-h, --help Show this message and exit.
musicbot folder
Usage: musicbot folder [OPTIONS] COMMAND [ARGS]...
Manage folders
Options:
-h, --help Show this message and exit.
Commands:
find Just list music files
flac2mp3 Convert all files in folders to mp3
help Print help
inconsistencies (consistency) Check music files consistency
tracks List tracks
musicbot folder find
Usage: musicbot folder find [OPTIONS] [FOLDERS]...
Just list music files
Options:
-h, --help Show this message and exit.
musicbot folder flac2mp3
Usage: musicbot folder flac2mp3 [OPTIONS] [FOLDERS]...
Convert all files in folders to mp3
Options:
--folder DIRECTORY Destination folder
--concurrency INTEGER Number of coroutines [default: 8]
--dry Take no real action [default: False]
-h, --help Show this message and exit.
musicbot folder inconsistencies
Usage: musicbot folder inconsistencies [OPTIONS] [FOLDERS]...
Check music files consistency
Options:
--dry Take no real action [default: False]
Check options:
--checks [no-title|no-artist|no-album|no-genre|no-rating|no-tracknumber|invalid-title|invalid-comment|invalid-path]
Consistency tests [default: no-title, no-artist, no-album, no-genre, no-rating, no-
tracknumber, invalid-title, invalid-comment, invalid-path]
--fix Fix musics
-h, --help Show this message and exit.
musicbot folder tracks
Usage: musicbot folder tracks [OPTIONS] [FOLDERS]...
List tracks
Options:
--output [table|json] Output format [default: table]
-h, --help Show this message and exit.
musicbot help
Usage: musicbot help [OPTIONS] [COMMAND]...
Print help
Options:
-h, --help Show this message and exit.
musicbot local
Usage: musicbot local [OPTIONS] COMMAND [ARGS]...
Local music management
Options:
-h, --help Show this message and exit.
Commands:
bests Generate bests playlists with some rules
clean Clean all musics
count Count musics
execute Raw query
filter Print a filter
filters List filters
folders List folders
help Print help
inconsistencies (consistency) Check music consistency
load-filters Load default filters
player (play) Music player
playlist Generate a new playlist
rescan Clean and load musics
scan Load musics
stats (stat) Generate some stats for music collection with filters
sync Copy selected musics with filters to destination folder
watch Watch files changes in folders
musicbot local bests
Usage: musicbot local bests [OPTIONS] FOLDER
Generate bests playlists with some rules
Options:
--prefix TEXT Append prefix before each path (implies relative)
--suffix TEXT Append this suffix to playlist name
--dry Take no real action [default: False]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Filter options:
--name TEXT Filter name
--limit INTEGER Fetch a maximum limit of music
--youtubes TEXT Select musics with a youtube link
--no-youtubes TEXT Select musics without youtube link
--spotifys TEXT Select musics with a spotifys link
--no-spotifys TEXT Select musics without spotifys link
--formats TEXT Select musics with file format
--no-formats TEXT Filter musics without format
--keywords TEXT Select musics with keywords
--no-keywords TEXT Filter musics without keywords
--artists TEXT Select musics with artists
--no-artists TEXT Filter musics without artists
--albums TEXT Select musics with albums
--no-albums TEXT Filter musics without albums
--titles TEXT Select musics with titles
--no-titles TEXT Filter musics without titless
--genres TEXT Select musics with genres
--no-genres TEXT Filter musics without genres
--min-duration INTEGER Minimum duration filter (hours:minutes:seconds)
--max-duration INTEGER Maximum duration filter (hours:minutes:seconds))
--min-size INTEGER Minimum file size filter (in bytes)
--max-size INTEGER Maximum file size filter (in bytes)
--min-rating FLOAT Minimum rating [default: 0.0]
--max-rating FLOAT Maximum rating [default: 5.0]
--relative Generate relatives paths
--shuffle Randomize selection
-h, --help Show this message and exit.
musicbot local clean
Usage: musicbot local clean [OPTIONS]
Clean all musics
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-y, --yes Confirm action
-h, --help Show this message and exit.
musicbot local count
Usage: musicbot local count [OPTIONS]
Count musics
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local execute
Usage: musicbot local execute [OPTIONS] QUERY
Raw query
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local filter
Usage: musicbot local filter [OPTIONS] NAME
Print a filter
Options:
--output [table|json] Output format [default: table]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local filters
Usage: musicbot local filters [OPTIONS]
List filters
Options:
--output [table|json] Output format [default: table]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local folders
Usage: musicbot local folders [OPTIONS]
List folders
Options:
--output [table|json] Output format [default: table]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local inconsistencies
Usage: musicbot local inconsistencies [OPTIONS]
Check music consistency
Options:
Check options:
--checks [no-title|no-artist|no-album|no-genre|no-rating|no-tracknumber|invalid-title|invalid-comment|invalid-path]
Consistency tests [default: no-title, no-artist, no-album, no-genre, no-rating, no-
tracknumber, invalid-title, invalid-comment, invalid-path]
--fix Fix musics
--dry Take no real action [default: False]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Filter options:
--name TEXT Filter name
--limit INTEGER Fetch a maximum limit of music
--youtubes TEXT Select musics with a youtube link
--no-youtubes TEXT Select musics without youtube link
--spotifys TEXT Select musics with a spotifys link
--no-spotifys TEXT Select musics without spotifys link
--formats TEXT Select musics with file format
--no-formats TEXT Filter musics without format
--keywords TEXT Select musics with keywords
--no-keywords TEXT Filter musics without keywords
--artists TEXT Select musics with artists
--no-artists TEXT Filter musics without artists
--albums TEXT Select musics with albums
--no-albums TEXT Filter musics without albums
--titles TEXT Select musics with titles
--no-titles TEXT Filter musics without titless
--genres TEXT Select musics with genres
--no-genres TEXT Filter musics without genres
--min-duration INTEGER Minimum duration filter (hours:minutes:seconds)
--max-duration INTEGER Maximum duration filter (hours:minutes:seconds))
--min-size INTEGER Minimum file size filter (in bytes)
--max-size INTEGER Maximum file size filter (in bytes)
--min-rating FLOAT Minimum rating [default: 0.0]
--max-rating FLOAT Maximum rating [default: 5.0]
--relative Generate relatives paths
--shuffle Randomize selection
-h, --help Show this message and exit.
musicbot local load-filters
Usage: musicbot local load-filters [OPTIONS]
Load default filters
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local player
Usage: musicbot local player [OPTIONS]
Music player
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Filter options:
--name TEXT Filter name
--limit INTEGER Fetch a maximum limit of music
--youtubes TEXT Select musics with a youtube link
--no-youtubes TEXT Select musics without youtube link
--spotifys TEXT Select musics with a spotifys link
--no-spotifys TEXT Select musics without spotifys link
--formats TEXT Select musics with file format
--no-formats TEXT Filter musics without format
--keywords TEXT Select musics with keywords
--no-keywords TEXT Filter musics without keywords
--artists TEXT Select musics with artists
--no-artists TEXT Filter musics without artists
--albums TEXT Select musics with albums
--no-albums TEXT Filter musics without albums
--titles TEXT Select musics with titles
--no-titles TEXT Filter musics without titless
--genres TEXT Select musics with genres
--no-genres TEXT Filter musics without genres
--min-duration INTEGER Minimum duration filter (hours:minutes:seconds)
--max-duration INTEGER Maximum duration filter (hours:minutes:seconds))
--min-size INTEGER Minimum file size filter (in bytes)
--max-size INTEGER Maximum file size filter (in bytes)
--min-rating FLOAT Minimum rating [default: 0.0]
--max-rating FLOAT Maximum rating [default: 5.0]
--relative Generate relatives paths
--shuffle Randomize selection
-h, --help Show this message and exit.
musicbot local playlist
Usage: musicbot local playlist [OPTIONS] [PATH]
Generate a new playlist
Options:
--dry Take no real action [default: False]
--output [json|m3u|table] Output format [default: table]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Filter options:
--name TEXT Filter name
--limit INTEGER Fetch a maximum limit of music
--youtubes TEXT Select musics with a youtube link
--no-youtubes TEXT Select musics without youtube link
--spotifys TEXT Select musics with a spotifys link
--no-spotifys TEXT Select musics without spotifys link
--formats TEXT Select musics with file format
--no-formats TEXT Filter musics without format
--keywords TEXT Select musics with keywords
--no-keywords TEXT Filter musics without keywords
--artists TEXT Select musics with artists
--no-artists TEXT Filter musics without artists
--albums TEXT Select musics with albums
--no-albums TEXT Filter musics without albums
--titles TEXT Select musics with titles
--no-titles TEXT Filter musics without titless
--genres TEXT Select musics with genres
--no-genres TEXT Filter musics without genres
--min-duration INTEGER Minimum duration filter (hours:minutes:seconds)
--max-duration INTEGER Maximum duration filter (hours:minutes:seconds))
--min-size INTEGER Minimum file size filter (in bytes)
--max-size INTEGER Maximum file size filter (in bytes)
--min-rating FLOAT Minimum rating [default: 0.0]
--max-rating FLOAT Maximum rating [default: 5.0]
--relative Generate relatives paths
--shuffle Randomize selection
-h, --help Show this message and exit.
musicbot local rescan
Usage: musicbot local rescan [OPTIONS] [FOLDERS]...
Clean and load musics
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local scan
Usage: musicbot local scan [OPTIONS] [FOLDERS]...
Load musics
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot local stats
Usage: musicbot local stats [OPTIONS]
Generate some stats for music collection with filters
Options:
--output [table|json] Output format [default: table]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Filter options:
--name TEXT Filter name
--limit INTEGER Fetch a maximum limit of music
--youtubes TEXT Select musics with a youtube link
--no-youtubes TEXT Select musics without youtube link
--spotifys TEXT Select musics with a spotifys link
--no-spotifys TEXT Select musics without spotifys link
--formats TEXT Select musics with file format
--no-formats TEXT Filter musics without format
--keywords TEXT Select musics with keywords
--no-keywords TEXT Filter musics without keywords
--artists TEXT Select musics with artists
--no-artists TEXT Filter musics without artists
--albums TEXT Select musics with albums
--no-albums TEXT Filter musics without albums
--titles TEXT Select musics with titles
--no-titles TEXT Filter musics without titless
--genres TEXT Select musics with genres
--no-genres TEXT Filter musics without genres
--min-duration INTEGER Minimum duration filter (hours:minutes:seconds)
--max-duration INTEGER Maximum duration filter (hours:minutes:seconds))
--min-size INTEGER Minimum file size filter (in bytes)
--max-size INTEGER Maximum file size filter (in bytes)
--min-rating FLOAT Minimum rating [default: 0.0]
--max-rating FLOAT Maximum rating [default: 5.0]
--relative Generate relatives paths
--shuffle Randomize selection
-h, --help Show this message and exit.
musicbot local sync
Usage: musicbot local sync [OPTIONS] DESTINATION
Copy selected musics with filters to destination folder
Options:
--dry Take no real action [default: False]
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Filter options:
--name TEXT Filter name
--limit INTEGER Fetch a maximum limit of music
--youtubes TEXT Select musics with a youtube link
--no-youtubes TEXT Select musics without youtube link
--spotifys TEXT Select musics with a spotifys link
--no-spotifys TEXT Select musics without spotifys link
--formats TEXT Select musics with file format
--no-formats TEXT Filter musics without format
--keywords TEXT Select musics with keywords
--no-keywords TEXT Filter musics without keywords
--artists TEXT Select musics with artists
--no-artists TEXT Filter musics without artists
--albums TEXT Select musics with albums
--no-albums TEXT Filter musics without albums
--titles TEXT Select musics with titles
--no-titles TEXT Filter musics without titless
--genres TEXT Select musics with genres
--no-genres TEXT Filter musics without genres
--min-duration INTEGER Minimum duration filter (hours:minutes:seconds)
--max-duration INTEGER Maximum duration filter (hours:minutes:seconds))
--min-size INTEGER Minimum file size filter (in bytes)
--max-size INTEGER Maximum file size filter (in bytes)
--min-rating FLOAT Minimum rating [default: 0.0]
--max-rating FLOAT Maximum rating [default: 5.0]
--relative Generate relatives paths
--shuffle Randomize selection
-h, --help Show this message and exit.
musicbot local watch
Usage: musicbot local watch [OPTIONS]
Watch files changes in folders
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot music
Usage: musicbot music [OPTIONS] COMMAND [ARGS]...
Music file
Options:
-h, --help Show this message and exit.
Commands:
add-keywords Add keywords to music
delete-keywords Delete keywords to music
fingerprint Print music fingerprint
flac2mp3 Convert flac music to mp3
help Print help
inconsistencies (consistency) Check music consistency
set-tags Set music title
tags Print music tags
musicbot music add-keywords
Usage: musicbot music add-keywords [OPTIONS] PATH [KEYWORDS]...
Add keywords to music
Options:
--dry Take no real action [default: False]
-h, --help Show this message and exit.
musicbot music delete-keywords
Usage: musicbot music delete-keywords [OPTIONS] PATH [KEYWORDS]...
Delete keywords to music
Options:
--dry Take no real action [default: False]
-h, --help Show this message and exit.
musicbot music fingerprint
Usage: musicbot music fingerprint [OPTIONS] PATH
Print music fingerprint
Options:
--acoustid-api-key TEXT AcoustID API Key
-h, --help Show this message and exit.
musicbot music flac2mp3
Usage: musicbot music flac2mp3 [OPTIONS] PATH
Convert flac music to mp3
Options:
--folder DIRECTORY Destination folder
--dry Take no real action [default: False]
-h, --help Show this message and exit.
musicbot music inconsistencies
Usage: musicbot music inconsistencies [OPTIONS] PATH
Check music consistency
Options:
--folder DIRECTORY Destination folder
--dry Take no real action [default: False]
Check options:
--checks [no-title|no-artist|no-album|no-genre|no-rating|no-tracknumber|invalid-title|invalid-comment|invalid-path]
Consistency tests [default: no-title, no-artist, no-album, no-genre, no-rating, no-
tracknumber, invalid-title, invalid-comment, invalid-path]
--fix Fix musics
-h, --help Show this message and exit.
musicbot spotify
Usage: musicbot spotify [OPTIONS] COMMAND [ARGS]...
Spotify tool
Options:
-h, --help Show this message and exit.
Commands:
diff Diff between local and spotify
help Print help
playlist Show playlist
playlists List playlists
tracks Show tracks
musicbot spotify diff
Usage: musicbot spotify diff [OPTIONS]
Diff between local and spotify
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
Spotify options:
--username TEXT Spotify username
--client-id TEXT Spotify client ID
--client-secret TEXT Spotify client secret
--token TEXT Spotify token
--cache-path FILE Spotify cache path
--scopes TEXT Spotify scopes
--redirect-uri TEXT Spotify redirect URI
--output [table|json] Output format [default: table]
--min-threshold FLOAT RANGE Minimum distance threshold
--max-threshold FLOAT RANGE Maximum distance threshold
-h, --help Show this message and exit.
musicbot spotify playlist
Usage: musicbot spotify playlist [OPTIONS] NAME
Show playlist
Options:
Spotify options:
--username TEXT Spotify username
--client-id TEXT Spotify client ID
--client-secret TEXT Spotify client secret
--token TEXT Spotify token
--cache-path FILE Spotify cache path
--scopes TEXT Spotify scopes
--redirect-uri TEXT Spotify redirect URI
--output [table|json] Output format [default: table]
-h, --help Show this message and exit.
musicbot spotify playlists
Usage: musicbot spotify playlists [OPTIONS]
List playlists
Options:
Spotify options:
--username TEXT Spotify username
--client-id TEXT Spotify client ID
--client-secret TEXT Spotify client secret
--token TEXT Spotify token
--cache-path FILE Spotify cache path
--scopes TEXT Spotify scopes
--redirect-uri TEXT Spotify redirect URI
-h, --help Show this message and exit.
musicbot spotify tracks
Usage: musicbot spotify tracks [OPTIONS]
Show tracks
Options:
Spotify options:
--username TEXT Spotify username
--client-id TEXT Spotify client ID
--client-secret TEXT Spotify client secret
--token TEXT Spotify token
--cache-path FILE Spotify cache path
--scopes TEXT Spotify scopes
--redirect-uri TEXT Spotify redirect URI
--output [table|json] Output format [default: table]
-h, --help Show this message and exit.
musicbot user
Usage: musicbot user [OPTIONS] COMMAND [ARGS]...
User management
Options:
-h, --help Show this message and exit.
Commands:
help Print help
list List users (admin)
login (token) Authenticate user
register (add,create,new) Register a new user
unregister (delete,remove) Remove a user
musicbot user list
Usage: musicbot user list [OPTIONS]
List users (admin)
Options:
--output [table|json] Output format [default: table]
Admin options:
--graphql-admin TEXT GraphQL endpoint [default: http://127.0.0.1:5001/graphql]
--graphql-admin-user TEXT GraphQL admin user (basic auth)
--graphql-admin-password TEXT GraphQL admin password (basic auth)
-h, --help Show this message and exit.
musicbot user login
Usage: musicbot user login [OPTIONS]
Authenticate user
Options:
-s, --save Save to config file [default: False]
User options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-h, --help Show this message and exit.
musicbot user register
Usage: musicbot user register [OPTIONS]
Register a new user
Options:
-s, --save Save to config file [default: False]
Register options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
--first-name TEXT User first name
--last-name TEXT User last name
-h, --help Show this message and exit.
musicbot user unregister
Usage: musicbot user unregister [OPTIONS]
Remove a user
Options:
Auth options:
--graphql TEXT GraphQL endpoint [default: http://127.0.0.1:5000/graphql]
-e, --email TEXT User email
-p, --password TEXT User password
-t, --token TEXT User token
-h, --help Show this message and exit.
musicbot version
Usage: musicbot version [OPTIONS]
Print version
Equivalent : -V
Options:
-h, --help Show this message and exit.
musicbot youtube
Usage: musicbot youtube [OPTIONS] COMMAND [ARGS]...
Youtube tool
Options:
-h, --help Show this message and exit.
Commands:
download Download a youtube link with artist and title
find Search a youtube link with artist and title
fingerprint Fingerprint a youtube video
help Print help
search Search a youtube link with artist and title
musicbot youtube download
Usage: musicbot youtube download [OPTIONS] ARTIST TITLE
Download a youtube link with artist and title
Options:
--path TEXT
-h, --help Show this message and exit.
musicbot youtube find
Usage: musicbot youtube find [OPTIONS] PATH
Search a youtube link with artist and title
Options:
--acoustid-api-key TEXT AcoustID API Key
-h, --help Show this message and exit.
musicbot youtube fingerprint
Usage: musicbot youtube fingerprint [OPTIONS] URL
Fingerprint a youtube video
Options:
--acoustid-api-key TEXT AcoustID API Key
-h, --help Show this message and exit.
musicbot youtube search
Usage: musicbot youtube search [OPTIONS] ARTIST TITLE
Search a youtube link with artist and title
Options:
-h, --help Show this message and exit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
musicbot-0.7.1.tar.gz
(49.3 kB
view hashes)
Built Distribution
musicbot-0.7.1-py3-none-any.whl
(50.5 kB
view hashes)