Skip to main content

beets plugin to copy non-music files to import path

Project description

This is a fork of copyartifacts, which was created in its entirety by Sami Barakat. It includes Python 3 fixes and has been published to PyPI as beets-copyartifacts3.

copyartifacts plugin for beets

A plugin that moves non-music files during the import process.

This is a plugin for beets: a music library manager and much more.



The stable version of the plugin is available from PyPI. Installation can be done using pip:

pip install beets-copyartifacts3

If you get permission errors try running it with sudo


The development version can be installed from GitHub by using these commands:

git clone
cd beets-copyartifacts
python install

If you get permission errors try running it with sudo


You will need to enable the plugin in beets’ config.yaml

plugins: copyartifacts

It can copy files by file extenstion:

    extensions: .cue .log

Or copy all non-music files (it does this by default):

    extensions: .*

It can also print what got left:

    print_ignored: yes

Renaming files

Renaming works in much the same way as beets Path Formats with the following limitations: - The fields available are $artist, $albumartist, $album and $albumpath. - The full set of built in functions are also supported, with the exception of %aunique - which will return an empty string.

Each template string uses a query syntax for each of the file extensions. For example the following template string will be applied to .log files:

    ext:log: $albumpath/$artist - $album

This will rename a log file to: ~/Music/Artist/2014 - Album/Artist - Album.log

Example config

plugins: copyartifacts

    default: $albumartist/$year - $album/$track - $title
    singleton: Singletons/$artist - $title
    ext:log: $albumpath/$artist - $album
    ext:cue: $albumpath/$artist - $album
    ext:jpg: $albumpath/cover

    extensions: .cue .log .jpg
    print_ignored: yes


copyartifacts was built in its entirety by Sami Barakat. This fork is simply a Python 3 compatible version published to PyPI.

copyartifacts was built on top of the hard work already done by Adrian Sampson and the larger community on beets. We have also benefited from the work of our contributors.

This plugin was built out of necessity and to scratch an itch. It has gained a bit of attention, so I intend to maintain it where I can, however I doubt I will be able to spend large amount of time on it. Please report any issues you may have and feel free to contribute.


Copyright (c) 2015-2017 Sami Barakat Copyright (c) 2020 Adam Miller

Licensed under the MIT license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beets-copyartifacts3-0.1.3.tar.gz (5.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page