Skip to main content

Music Downloader

Project description

FMDPY

PIP-PYVERSION license PIP-VERSION PIP-STATUS Codacy Badge

CI-STATUS CD-STATUS

Downloads

 ,dPYb,                            8I
 IP'`Yb                            8I
 I8  8I                            8I
 I8  8'                            8I
 I8 dP   ,ggg,,ggg,,ggg,     ,gggg,8I  gg,gggg,    gg     gg
 I8dP   ,8" "8P" "8P" "8,   dP"  "Y8I  I8P"  "Yb   I8     8I
 I8P    I8   8I   8I   8I  i8'    ,8I  I8'    ,8i  I8,   ,8I
,d8b,_ ,dP   8I   8I   Yb,,d8,   ,d8b,,I8 _  ,d8' ,d8b, ,d8I
PI8"8888P'   8I   8I   `Y8P"Y8888P"`Y8PI8 YY88888PP""Y88P"888
 I8 `8,                                I8               ,d8I'
 I8  `8,                               I8             ,dP'8I
 I8   8I                               I8            ,8"  8I
 I8   8I                               I8            I8   8I
 I8, ,8'                               I8            `8, ,8I
  "Y8P'                                I8             `Y8P"

INSTALL

From PIP:

python -m pip install --upgrade fmdpy

From github:

python -m pip install git+https://github.com/Liupold/fmdpy

UPDATE

fmdpy -u

USAGE

Usage: fmdpy [OPTIONS] [SEARCH/URL]...

  FMDPY.

  Download music with metadata

  For multiple download you can use something like:

  "fmdpy: 1, 2, 3, 5:8", (This will download 1, 2, 3, 5, 6, 7, 8)

  "fmdpy: >1, >2", (This will play (stream) 1, 2) (using player_cmd)

  "fmdpy: L5", (This will find lyric of 5)

  "fmdpy: /<SEARCH/URL>", (This will search songs based on <SEARCH/URL>).

  Streaming, downloading can also be mixed. If done so downloading will be
  done prior to streaming.

  -f native: save to native container [Default](ffmpeg not req.) (-b is
  ignored)

Options:
  -c, --count INTEGER     Max Number of results
  -f, --fmt TEXT          Format of the audio file.
  -b, --bitrate INTEGER   Bitrate in kb, (250 is default)
  -m, --multiple INTEGER  number of concurrent downloads.
  -d, --directory PATH    Specify the folder.
  -F, --filename TEXT     filename format.
  -l, --lyrics            Add lyrics
  -g, --gen               generate the config file.
  -u, --update            Update: (for pip only)
  -v, --version           display version
  --help                  Show this message and exit.

CONFIG

The default location of config file is ~/.fmdpy.ini and can be set using env var FMDPY_CONFIG_FILE

The sample file is available in repo. example.ini This is by no means necessary for the operation.

To generate the config file use fmdpy -g

SPOTIFY support

It can download playlist from spotify given the following is set in config file.

[API_KEYS]
spotify_client_id =
spotify_client_secret =

Lyrics from lyrics genius

It can also add lyrics from lyricsgenius into the meta data given the following is set in config file.

[API_KEYS]
lyricsgenius =

Filename and directory

file name are directory format can be specified using special characters (version 0.6+)

the following must be set.

Strings Replaced By
$name The Name of the song.
$album The Name of the album.
$artist The Name of the artist.
$year Year the song was published.

If the specified directory is absent it will be created recursively.

Directory Example:

default_directory = /home/<YOUR USERNAME>/Music/$artist/$album/

Streaming

For Streaming (version: 0.5+) is required and

[STREAM]
player_cmd =

(The default player_cmd uses mpv) in player_cmd The following strings will be replaced:

Strings Replaced By
$audio The URL of the music file.
$cover The URL of the cover art file. (JPEG)
$title SONG_NAME [ARTIST_NAME]

vlc example

player_cmd = ['vlc', '$audio']

EXAMPLE

example.gif

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

fmdpy-0.6.3.tar.gz (24.2 kB view hashes)

Uploaded Source

Built Distribution

fmdpy-0.6.3-py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page