puddletag


Namepuddletag JSON
Version 2.4.0 PyPI version JSON
download
home_pagehttps://docs.puddletag.net/
SummaryPowerful, simple, audio tag editor
upload_time2024-06-23 07:36:51
maintainerNone
docs_urlNone
authorpuddletag developers
requires_python>=3.7
licenseGNU General Public License v3 or later (GPLv3+)
keywords tagging ogg mp3 apev2 mp4 id3
VCS
bugtrack_url
requirements audioread certifi charset-normalizer configobj idna levenshtein lxml mutagen pyacoustid pyparsing pyqt5 pyqt5-qt5 pyqt5-sip rapidfuzz requests six unidecode urllib3
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # puddletag

![Screenshot](docs/_images/5.png)

puddletag is an audio tag editor (primarily created) for GNU/Linux similar to the Windows program, Mp3tag. Unlike most taggers for GNU/Linux, it uses a spreadsheet-like layout so that all the tags you want to edit by hand are visible and easily editable.

The usual tag editor features are supported like extracting tag information from filenames, renaming files based on their tags by using patterns and basic tag editing.

Then there’re _Functions_, which can do things like replace text, trim it, do case conversions, etc. _Actions_ can automate repetitive tasks. Doing web lookups using Amazon (including cover art), Discogs (does cover art too!), FreeDB and MusicBrainz is also supported. There’s quite a bit more, but I’ve reached my comma quota.

Supported formats: ID3v1, ID3v2 (mp3), MP4 (mp4, m4a, etc.), VorbisComments (ogg, flac), Musepack (mpc), Monkey’s Audio (.ape) and WavPack (wv).


## Dependencies

puddletag uses several third-party modules to performs its tasks:

- [Python3](https://www.python.org/)
- [PyQt5](https://pypi.org/project/pyqt5/), for the GUI.
- [configobj](https://pypi.org/project/configobj/)
- [pyparsing](https://pypi.org/project/pyparsing/) , takes care of the parsing
- [Mutagen](https://pypi.org/project/mutagen/), used as the tagging lib
- [Chromaprint](http://acoustid.org/chromaprint) (recommended), for AcoustID support
- [unidecode](https://pypi.org/project/Unidecode/)


## How to install

### PyPI

Puddletag is available on [PyPI](https://pypi.org/project/puddletag/).

In addition to the full releases, every time we merge a PR or commit a change, we automatically release a new version on [TestPyPI](https://test.pypi.org/project/puddletag/), so if you want to try a brand new feature or a recent bugfix, you can give these pre-releases a try.

There are several tools to install puddletag via PyPI, for example [pip](https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-to-the-user-site), [pipx](https://pypa.github.io/pipx/installation/), [pipenv](https://pipenv.pypa.io/en/latest/), and several others. Choose the one that suits best your workflow, but we strongly recommend you create an isolated, local (f.e. by using `pip install --local`) environment when installing third-party software.

### Distributions package

Here below is a list of the distributions and platforms where puddletag is available, and how to install it:

<details>
<summary><b>Debian</b></summary>

`apt install puddletag`

Contact: @sandrotosi
</details>

<details>
<summary><b>Gentoo</b></summary>

1. overlay: https://github.com/istitov/stuff/
1. add overlay: `sudo layman -a stuff`
1. install: `sudo emerge -av puddletag`

Contact: @DolphinStKom
</details>

<details>
<summary><b>Arch Linux</b></summary>

puddletag is currently part of the [AUR](https://aur.archlinux.org/packages/puddletag/):

```
git clone https://aur.archlinux.org/puddletag.git
cd puddletag
makepkg -si
```

</details>

<details>
<summary><b>Fedora</b></summary>

Available since Fedora 32.

`dnf install puddletag`
</details>

<details>
<summary><b>Brew/MacOS</b></summary>

_support needed, open an issue if interested in working on it_
</details>

### Source Code

If you seek the bleeding edge of puddletag, or wanting to contribute (we welcome all contributions!) you can install and/or run via source code.

First, you need to install the dependencies; this step is different depending on the distribution; on Debian you can run:

```
apt install python3 python3-mutagen python3-configobj python3-pyparsing python3-pyqt5 python3-pyqt5.qtsvg python3-unidecode
```

Then, clone the repo and run puddletag:

```sh
git clone 'https://github.com/puddletag/puddletag'
cd 'puddletag'
./puddletag
```

Alternatively you can use a [virtual environment](https://docs.python.org/3/library/venv.html) to install the dependencies, which only requires python and pip to be installed:
```sh
git clone 'https://github.com/puddletag/puddletag.git'
cd 'puddletag'
python3 -m 'venv' '.'
bin/pip3 install -r 'requirements.txt'
bin/python3 'puddletag'
```

## License

`puddletag` is licensed under the GPLv3, which you can find in its entirety at  [http://www.gnu.org/licenses/gpl-3.0.html](http://www.gnu.org/licenses/gpl-3.0.html)  

            

Raw data

            {
    "_id": null,
    "home_page": "https://docs.puddletag.net/",
    "name": "puddletag",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "tagging ogg mp3 apev2 mp4 id3",
    "author": "puddletag developers",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/b2/2e/3660d34f535b6a335e5e8b192c143f79b7aa57160d97acf346bb297f8a40/puddletag-2.4.0.tar.gz",
    "platform": null,
    "description": "# puddletag\n\n![Screenshot](docs/_images/5.png)\n\npuddletag is an audio tag editor (primarily created) for GNU/Linux similar to the Windows program, Mp3tag. Unlike most taggers for GNU/Linux, it uses a spreadsheet-like layout so that all the tags you want to edit by hand are visible and easily editable.\n\nThe usual tag editor features are supported like extracting tag information from filenames, renaming files based on their tags by using patterns and basic tag editing.\n\nThen there\u2019re _Functions_, which can do things like replace text, trim it, do case conversions, etc. _Actions_ can automate repetitive tasks. Doing web lookups using Amazon (including cover art), Discogs (does cover art too!), FreeDB and MusicBrainz is also supported. There\u2019s quite a bit more, but I\u2019ve reached my comma quota.\n\nSupported formats: ID3v1, ID3v2 (mp3), MP4 (mp4, m4a, etc.), VorbisComments (ogg, flac), Musepack (mpc), Monkey\u2019s Audio (.ape) and WavPack (wv).\n\n\n## Dependencies\n\npuddletag uses several third-party modules to performs its tasks:\n\n- [Python3](https://www.python.org/)\n- [PyQt5](https://pypi.org/project/pyqt5/), for the GUI.\n- [configobj](https://pypi.org/project/configobj/)\n- [pyparsing](https://pypi.org/project/pyparsing/) , takes care of the parsing\n- [Mutagen](https://pypi.org/project/mutagen/), used as the tagging lib\n- [Chromaprint](http://acoustid.org/chromaprint) (recommended), for AcoustID support\n- [unidecode](https://pypi.org/project/Unidecode/)\n\n\n## How to install\n\n### PyPI\n\nPuddletag is available on [PyPI](https://pypi.org/project/puddletag/).\n\nIn addition to the full releases, every time we merge a PR or commit a change, we automatically release a new version on [TestPyPI](https://test.pypi.org/project/puddletag/), so if you want to try a brand new feature or a recent bugfix, you can give these pre-releases a try.\n\nThere are several tools to install puddletag via PyPI, for example [pip](https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-to-the-user-site), [pipx](https://pypa.github.io/pipx/installation/), [pipenv](https://pipenv.pypa.io/en/latest/), and several others. Choose the one that suits best your workflow, but we strongly recommend you create an isolated, local (f.e. by using `pip install --local`) environment when installing third-party software.\n\n### Distributions package\n\nHere below is a list of the distributions and platforms where puddletag is available, and how to install it:\n\n<details>\n<summary><b>Debian</b></summary>\n\n`apt install puddletag`\n\nContact: @sandrotosi\n</details>\n\n<details>\n<summary><b>Gentoo</b></summary>\n\n1. overlay: https://github.com/istitov/stuff/\n1. add overlay: `sudo layman -a stuff`\n1. install: `sudo emerge -av puddletag`\n\nContact: @DolphinStKom\n</details>\n\n<details>\n<summary><b>Arch Linux</b></summary>\n\npuddletag is currently part of the [AUR](https://aur.archlinux.org/packages/puddletag/):\n\n```\ngit clone https://aur.archlinux.org/puddletag.git\ncd puddletag\nmakepkg -si\n```\n\n</details>\n\n<details>\n<summary><b>Fedora</b></summary>\n\nAvailable since Fedora 32.\n\n`dnf install puddletag`\n</details>\n\n<details>\n<summary><b>Brew/MacOS</b></summary>\n\n_support needed, open an issue if interested in working on it_\n</details>\n\n### Source Code\n\nIf you seek the bleeding edge of puddletag, or wanting to contribute (we welcome all contributions!) you can install and/or run via source code.\n\nFirst, you need to install the dependencies; this step is different depending on the distribution; on Debian you can run:\n\n```\napt install python3 python3-mutagen python3-configobj python3-pyparsing python3-pyqt5 python3-pyqt5.qtsvg python3-unidecode\n```\n\nThen, clone the repo and run puddletag:\n\n```sh\ngit clone 'https://github.com/puddletag/puddletag'\ncd 'puddletag'\n./puddletag\n```\n\nAlternatively you can use a [virtual environment](https://docs.python.org/3/library/venv.html) to install the dependencies, which only requires python and pip to be installed:\n```sh\ngit clone 'https://github.com/puddletag/puddletag.git'\ncd 'puddletag'\npython3 -m 'venv' '.'\nbin/pip3 install -r 'requirements.txt'\nbin/python3 'puddletag'\n```\n\n## License\n\n`puddletag` is licensed under the GPLv3, which you can find in its entirety at  [http://www.gnu.org/licenses/gpl-3.0.html](http://www.gnu.org/licenses/gpl-3.0.html)  \n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3 or later (GPLv3+)",
    "summary": "Powerful, simple, audio tag editor",
    "version": "2.4.0",
    "project_urls": {
        "Download": "https://github.com/puddletag/puddletag",
        "Homepage": "https://docs.puddletag.net/"
    },
    "split_keywords": [
        "tagging",
        "ogg",
        "mp3",
        "apev2",
        "mp4",
        "id3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05ab3129f6245de48159986f01af90ddd01c751c4ab141b65bac0eaf0e968bb3",
                "md5": "50d2c2fe5bdef8bd08384f5bb8f95979",
                "sha256": "b15b0e7f353d8ae000d007e10fe095fdebbe12d8b9669551cea7baa02dbadd52"
            },
            "downloads": -1,
            "filename": "puddletag-2.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "50d2c2fe5bdef8bd08384f5bb8f95979",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 675153,
            "upload_time": "2024-06-23T07:36:49",
            "upload_time_iso_8601": "2024-06-23T07:36:49.596490Z",
            "url": "https://files.pythonhosted.org/packages/05/ab/3129f6245de48159986f01af90ddd01c751c4ab141b65bac0eaf0e968bb3/puddletag-2.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b22e3660d34f535b6a335e5e8b192c143f79b7aa57160d97acf346bb297f8a40",
                "md5": "7acbd1975bfd1335c44e574b0b4812d3",
                "sha256": "32d75b8f458ead1d0da72bea14f707cc07d5bd909d75a6d006de72379761ab88"
            },
            "downloads": -1,
            "filename": "puddletag-2.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7acbd1975bfd1335c44e574b0b4812d3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 636663,
            "upload_time": "2024-06-23T07:36:51",
            "upload_time_iso_8601": "2024-06-23T07:36:51.240297Z",
            "url": "https://files.pythonhosted.org/packages/b2/2e/3660d34f535b6a335e5e8b192c143f79b7aa57160d97acf346bb297f8a40/puddletag-2.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-23 07:36:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "puddletag",
    "github_project": "puddletag",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "audioread",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2023.7.22"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "2.0.10"
                ]
            ]
        },
        {
            "name": "configobj",
            "specs": [
                [
                    "==",
                    "5.0.8"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.7"
                ]
            ]
        },
        {
            "name": "levenshtein",
            "specs": [
                [
                    "==",
                    "0.25.1"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    "==",
                    "5.2.2"
                ]
            ]
        },
        {
            "name": "mutagen",
            "specs": [
                [
                    "==",
                    "1.47.0"
                ]
            ]
        },
        {
            "name": "pyacoustid",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "3.1.2"
                ]
            ]
        },
        {
            "name": "pyqt5",
            "specs": [
                [
                    "==",
                    "5.15.10"
                ]
            ]
        },
        {
            "name": "pyqt5-qt5",
            "specs": [
                [
                    "==",
                    "5.15.2"
                ]
            ]
        },
        {
            "name": "pyqt5-sip",
            "specs": [
                [
                    "==",
                    "12.13.0"
                ]
            ]
        },
        {
            "name": "rapidfuzz",
            "specs": [
                [
                    "==",
                    "3.8.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.0"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "unidecode",
            "specs": [
                [
                    "==",
                    "1.3.8"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "1.26.19"
                ]
            ]
        }
    ],
    "lcname": "puddletag"
}
        
Elapsed time: 1.23555s