Skip to main content

Mopidy extension with support for dynamically generated playlists

Project description

Mopidy Dynamic

Latest PyPI version CI build status

Mopidy extension to generate playlists dynamically.

Installation

Install by running:

python3 -m pip install mopidy-dynamic

See this extension's page for alternative installation methods.

Configuration

Before starting Mopidy, you must add configuration for mopidy-dynamic to your Mopidy configuration file:

[dynamic]
enabled = true

# Path to directory with the DPL files.
# Defaults to the extension's data dir.
playlists_dir =

# Backend used to save the playlists.
# Defaults to the bundled M3U backend.
playlists_uri = m3u

DPL files

All dynamic playlists are defined in .dpl files. These files have the following structure:

# Lines starting with # are considered comments and ignored
# Empty lines are also ignored

# Non-indented lines define a new operation
operation
    # Indented lines define options in the current operation
    option
# Unknown operations are ignored

# The library operation adds all tracks at a specified URI
library
    # Add all tracks from the local backend
    local:directory?type=track

# The search operation adds all tracks found by a search operation
# Note: backends usually have a limit on the amount of results
search
    # Search all tracks with 'sound' or 'music' in the name
    track_name=sound
    track_name=music
    # All properties supported by PlaybackController.search are supported
    # https://docs.mopidy.com/stable/api/core/#mopidy.core.LibraryController.search

# The exclude operation removes all tracks that satisfy the given constraints
exclude
    # Remove tracks before 2015 and with any artist starting with B
    max_date=2014-12-31
    any_artist=^B

# The include operation keeps all tracks that satisfy the given constraints
include
    # Keep tracks in the first disc, and that end in a
    max_disc_no=1
    name=a$

# Include and exclude support the following options:
# regular expression: uri, name, genre, artist, composer, performer,
#   any_artist (artist, composer, or performer),
#   album_name, album_artist
# date: min_date, max_date, min_album_date, max_album_date
# integer: min_track_no, max_track_no, min_disc_no, max_disc_no,
#   min_length, max_length

# The sort operation sorts all tracks
sort
    # Sort by name
    name
    # If tracks have the same name, sort by album release date
    album.date

Project resources

Credits

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

mopidy_dynamic-1.0.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mopidy_dynamic-1.0.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file mopidy_dynamic-1.0.0.tar.gz.

File metadata

  • Download URL: mopidy_dynamic-1.0.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mopidy_dynamic-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c36ee634f95157024de99bf6c5ac3f7bcd5a3e7a15b17c85e780627590a15454
MD5 f8774d087e2532e2f18a91f2494d79f7
BLAKE2b-256 548a9c95eff48e9fb8ceaf92e349c252ab2eb557c7bf68c7a89ccad284d0f90e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mopidy_dynamic-1.0.0.tar.gz:

Publisher: cd.yml on ttoino/mopidy-dynamic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mopidy_dynamic-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mopidy_dynamic-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mopidy_dynamic-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91c519a4b837fe785c58de58f75ba60f5c8e3758f463f6ab32bd89da018d1816
MD5 3abcdebbc4566ba450f8887be0a20cac
BLAKE2b-256 8404937750e206b186f40483f1325cc77b83856d2af3a4064e51e1dc49b1d00f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mopidy_dynamic-1.0.0-py3-none-any.whl:

Publisher: cd.yml on ttoino/mopidy-dynamic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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