Skip to main content

Monitor new releases by a specified list of artists and auto download using the deemix library

Project description

deemon

PyPI PyPI - Python Version PyPI - License PyPI - Status PyPI - Downloads GitHub last commit Discord

About | Prerequisites | Installation | Usage | Examples

About

deemon is an automation tool that relies on the deemix library and the deezer-py API module to monitor a specified list of artists for new releases

Support

Open an Issue | Discord

Prerequisites

  • python >= 3.6
  • deemix >= 2.0.1

Installation

$ pip install deemon

You may want to add an entry in your crontab to run this weekly (e.g. every Friday at 06:00):

0 6 * * 5 /home/USER/.local/bin/deemon -a artists.txt -m /plex/music

Configuration

Starting with version 0.4.0, deemon now uses a config.json file to store configuration settings.

  • Windows: %appdata%/deemon

  • Mac: /Users//Library/Application Support/deemon

  • Linux: /home//.config/deemon

To configure email notifications you'll need to edit config.json and provide your SMTP server settings.

smtp_sender_email will likely need to be the same address used as smtp_username

Usage

$ deemon --artists <file|dir\> [ --music <dir\> ] [ --config <dir\> ] [ --bitrate < 1 | 3 | 9 > ]
                        [ --db <dir\> ] [ --download-all ] [ --record-type <album|single> ]

By default, deemon uses the default paths for the config and download directories provided by deemix to make getting started easier.

  • -a, --artists /path/to/file.txt or /path/to/artists...

    • Required - Path to text file containing one artist per line -or- path to parent directory containing artist subdirectories
  • -m, --music /path/to/music

    • Optional - Path to download new releases
    • Default: ~/Music/deemix Music
  • -c, --config /path/to/config

    • Optional - Path to deemix config directory
    • Default: ~/.config/deemix
  • -d, --db /path/to/database

    • Optional - Path to save database
    • Default: ~/.config/deemon
  • -b, --bitrate int

    • Optional - Set bitrate
    • 1 - MP3 128kbps
    • 3 - MP3 320kbps (Default)
    • 9 - FLAC
  • -D, --download-all

    • Optional - Download all releases when adding new artist
  • -r, --record-type album or single

    • Optional - Only monitor for either 'album' or 'single'
  • --test-email

    • Send test notification to verify SMTP settings
  • -V, --version

    • Print version information

Examples

In the examples below, my music library structure is as follows:

plex/
   music/
      Artist 1/
      Artist 2/

Method A - Use a text file containing one artist per line, download to /plex/music as FLAC:

This method is good for monitoring only specific artists

$ deemon -a artists.txt -m /plex/music -b 9
$ cat artists.txt
Artist 1
Artist 2
Artist 3

Method B - Use a directory containing subdirectory for each artists; download to /plex/music:

This method is good for monitoring all artists

$ deemon -a /plex/music -m /plex/music
$ ls /plex/music
Artist 1/
Artist 2/
Artist 3/

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

deemon-0.4.1.tar.gz (22.6 kB view hashes)

Uploaded Source

Built Distribution

deemon-0.4.1-py3-none-any.whl (22.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