Skip to main content

Tag music files using your $EDITOR

Project description

vitag

Python License PyPI

A minimal CLI tool inspired by vidir, enabling fast batch editing of audio metadata in your favorite text editor (default is your $EDITOR system var).

Features

  • Collects audio files from given paths
  • Extracts tags using mutagen and writes them into a temp file in a structured json format
  • Lets you edit the json in your preferred text editor
  • Validates changes, detects conflicts, and translates the json updates to audio file tags

Requirements

Instalation

Install through pip:

$ pip install vitag

Or clone the repository:

$ git clone https://github.com/Tx270/vitag
$ cd vitag
# build locally and install with pip
$ pip install .
# or manually install dependencies and run
$ pip install mutagen typer
$ python3 "./cli.py"

Usage

For more info check --help

vitag [PATH ...] \
    [--recursive] \
    [--editor <cmd>] \
    [--verbose]

Examples

# Edit all audio files in a folder
vitag "Album 1"

# Edit multiple paths at once with custom editor
vitag "01 Song.mp3" "Album 2/" --editor nano

# Recursive scan (for example useful for albums with many disks)
vitag "Album 1/" -r

The star (*) symbol means that the tag is not the same between all given files

{
  "artist": "King Gizzard",
  "album": "*",
  "genre": "*",
  "year": 2018
}

You can edit, add and remove tags by editing the json

{
  "artist": "King Gizzard",
  "album": "*",
  "genre": "pop",
  "year": 2020
}

In the example above, in all selected files:

  • artist and album tags will stay the same for each file
  • genre tag will be changed to pop regardless of the previous value
  • year tag will be changed to 2020.

Roadmap

  • Extensions:
    • Add --extension option to filter file types
    • Test with more audio formats
    • Add supported audio formats to the README file
  • UI/UX:
    • Add progress bars for loading and saving tags
    • Add better error messages
  • Distribution:
    • Upload package to PyPI
  • Features:
    • Add cover art support

License

See LICENSE

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

vitag-1.1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

vitag-1.1.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file vitag-1.1.0.tar.gz.

File metadata

  • Download URL: vitag-1.1.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for vitag-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c51ae1c9bb4b1157589071ffe9d528fb721d41f43d553008af5b7dfb883f7b1e
MD5 98c15e7395b07fcab75d54552d59c735
BLAKE2b-256 6889168a2f9a4eb8232d8b515758e18f4fa1273e5e1947c29df1f401f2f6d823

See more details on using hashes here.

File details

Details for the file vitag-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: vitag-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for vitag-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4aed086008bd8a4f7a8a4542b42c2ca798b695d5ffde968ecd910f5a6333ff5e
MD5 be5018bf9cd6fb513a278b8e394be186
BLAKE2b-256 89942b00f9270ffe1c155561c81c50f0cfd74a96fb093ed3ddc86c4c9cd05bf3

See more details on using hashes here.

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