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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file fmdpy-0.6.3.tar.gz.

File metadata

  • Download URL: fmdpy-0.6.3.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for fmdpy-0.6.3.tar.gz
Algorithm Hash digest
SHA256 492e3b47d33ab93af01ff968c54cf9729b41711cebadbf68bcf2f37c07c3db5e
MD5 dfc8f9dbbda602ec6349fbb6d51621c9
BLAKE2b-256 91e76dad893ac9f9c87c603af3a0556883e6fae44cfc3cbcca47b31f4786a5f0

See more details on using hashes here.

File details

Details for the file fmdpy-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: fmdpy-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for fmdpy-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 feb8b0ade082730f9bfd3897cc395ce8ceb10ae4f3692dc97251fa655edb7cde
MD5 6ea83239ab5fc39cac1364bab765089b
BLAKE2b-256 19c796e621b1ab46d107e1e36695be3853fada4892362da1f78434161e1043e8

See more details on using hashes here.

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