Metadata-Version: 2.4
Name: beets-noqlenmeta
Version: 2.0.1
Summary: Multi-provider metadata enrichment and MusicBrainz identity tools for beets
License-Expression: MIT
Project-URL: Documentation, https://noqlen-meta.readthedocs.io/en/stable/
Project-URL: Repository, https://github.com/jssantogit/noqlen-meta-plugin
Project-URL: Issues, https://github.com/jssantogit/noqlen-meta-plugin/issues
Project-URL: Changelog, https://github.com/jssantogit/noqlen-meta-plugin/blob/main/CHANGELOG.md
Keywords: beets,metadata,musicbrainz,discogs,music-library
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: beets<3,>=2.12
Provides-Extra: audio
Requires-Dist: librosa<1,>=0.11; extra == "audio"
Provides-Extra: discogs
Requires-Dist: python3-discogs-client<3,>=2.8; extra == "discogs"
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: packaging>=24; extra == "dev"
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: python3-discogs-client<3,>=2.8; extra == "dev"
Requires-Dist: ruff>=0.9; extra == "dev"
Requires-Dist: tomli>=2; python_version < "3.11" and extra == "dev"
Requires-Dist: twine>=6; extra == "dev"
Dynamic: license-file

# Noqlen Meta

Noqlen Meta is a beets plugin for multi-provider metadata enrichment and
MusicBrainz identity tools. beets remains the matcher and library manager:
Noqlen enriches releases, tracks, and artists that beets has already selected,
with separate workflows for MusicBrainz identity and AcoustID evidence.

Ordinary enrichment previews by default. Database changes, verified artwork
application, and audio-file synchronization remain explicitly authorized rather
than happening implicitly.

## Capabilities

- Enrich release, track, and artist metadata with genres, styles, moods,
  languages, artist geography, and release details from focused providers.
- Retrieve supported plain lyrics from LRCLIB.
- Enrich importer-selected music and albums or standalone items already managed
  by a beets library.
- Select and apply verified Cover Art Archive artwork, including deterministic
  `cover.jpg` sidecars and optional embedding.
- Analyze local BPM with the optional `[audio]` extra and lazy Librosa support.
- Audit and repair MusicBrainz identity and use AcoustID fingerprints or
  recording evidence in explicit existing-library workflows.
- Synchronize supported ordinary metadata and BPM to audio files through the
  verified write path, with identity-tag synchronization kept separate.

## Installation

Install Noqlen Meta in the same Python environment as beets:

```bash
pip install beets-noqlenmeta
```

Discogs support uses the optional Discogs client:

```bash
pip install "beets-noqlenmeta[discogs]"
```

Optional local BPM analysis uses the audio extra:

```bash
pip install "beets-noqlenmeta[audio]"
```

Enable the plugin in the beets `config.yaml`:

```yaml
plugins:
  - noqlenmeta
```

Verify that beets loaded the plugin:

```bash
beet help noqlenmeta
```

`beet noqlenmeta` is the full command name; `beet nm` is the preferred alias.
