Skip to main content

ImportModifyInfo Plugin for Beets

PyPI Status Python Version License

Read the documentation at https://beets-importmodifyinfo.readthedocs.io/ The Ethical Source Principles Contributor Covenant Tests Codecov

pre-commit Ruff codestyle

The ImportModifyInfo Plugin for Beets applies modifications to received metadata before import. This is largely intended to correct issues with imported metadata which would otherwise be lost on running mbsync. This plugin is inspired by the ImportReplace Plugin and my old modifyonimport plugin, but I found that those modifications would often be lost when running mbsync or equivalent. There is a limitation to the way this plugin works which is important to understand, please read the Limitations and Caveats section.

Limitations and Caveats

This plugin's configuration looks like a command-line from the modify command. This is done for convenience, and to allow one to limit the scope of the modifications using a typical beets query. This is not modify, however, as the queries are against objects created from the importer, and modifications are made to the importer info, not the items in your library.

This means that existing metadata from the files being imported is unavailable, as is existing metadata in the database when using import -L. This only has access to the metadata coming from the importer, i.e. MusicBrainz.

Despite this limitation, it's valuable for correcting issues with importer metadata, or to make the imported metadata consistent.

Installation

As the beets documentation describes in Other plugins, to use an external plugin like this one, there are two options for installation:

  • Make sure it’s in the Python path (known as sys.path to developers). This just means the plugin has to be installed on your system (e.g., with a setup.py script or a command like pip or easy_install). For example, pip install beets-importmodifyinfo.
  • Set the pluginpath config variable to point to the directory containing the plugin. (See Configuring) This would require cloning or otherwise downloading this repository before adding to the pluginpath.

Configuring

First, enable the importmodifyinfo plugin (see Using Plugins).

To configure the plugin, make a importmodifyinfo: section in your configuration file. Sections may be added for modify_albuminfo and modify_trackinfo, each of which is a list of strings as you would supply to the modify command.

For example:

importmodifyinfo:
  modify_albuminfo:
    - album:'some album' albumtype=ep albumtypes='ep; remix'
  modify_trackinfo:
    - album:'some album' title:'some title' title='some other title'

Using

There is no direct usage other than the configuration, as these modifications are automatically applied during the import or sync process.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, ImportModifyInfo Plugin for Beets is free and open source software. This software prioritizes meeting the criteria of the Ethical Source Principles, though it does not currently utilize an ethical source license.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project is a plugin for the beets project, and would not exist without that fantastic project. This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

Metadata

Release files for beets-importmodifyinfo 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for beets-importmodifyinfo 0.9.0
File Size Uploaded
beets_importmodifyinfo-0.9.0.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for beets-importmodifyinfo 0.9.0
File Interpreter ABI Platform
beets_importmodifyinfo-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.2 kB

Release files / beets_importmodifyinfo-0.9.0.tar.gz

Download URL beets_importmodifyinfo-0.9.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
dcf064b3e28317948dd4202b8625689091de62597d8d2881b1ad70e86c43ab35
BLAKE2b-256 checksum
How to use checksums
02985b24b7859fc435400edf514d3457d40d5d993ca56346dbd273c6b5e7fd0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / beets_importmodifyinfo-0.9.0-py3-none-any.whl

Download URL beets_importmodifyinfo-0.9.0-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f26cce93e9bb2bca68162cdb95d98a8b74311dab2161a6f66b549bb7ec197ba
BLAKE2b-256 checksum
How to use checksums
fd8487a30f4456d33cc6fc91d6883f28b9bfe063bb40fd582891b7ef95e7a2f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page