{ "info": { "author": "Simon Rose", "author_email": "mail@popkornium18.de", "bugtrack_url": null, "classifiers": [ "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# audiotag\n\nAudiotag is a command line audio tagger written in python3.\nIt uses [TagLib](http://taglib.org/) to write the metadata.\nIt features a very simple to use interactive mode which lets you tag a single album as fast as possible.\n\n## Installation\n\nYou can install audiotag directly from PyPI.\n\n```\npip install audiotag\n```\n\nIf you are running **Arch Linux** you can install it from the **AUR**. The package is called [`audiotag`](https://aur.archlinux.org/packages/audiotag/).\n\n## Usage\n\nAudiotag offers different subcommands:\n\n```\nUsage:\n audiotag print FILE...\n audiotag interactive FILE...\n audiotag set [--artist=ARTIST|--noartist] [--title=TITLE|--notitle]\n [--album=ALBUM|--noalbum] [--date=DATE|--nodate]\n [--genre=GENRE|--nogenre] [--tracknumber=TRACKNUMBER|--notracknumber]\n [--tracktotal=TRACKTOTAL|--notracktotal] [--discnumber=DISCNUMBER|--nodiscnumber]\n [--disctotal=DISCTOTAL|--nodisctotal] FILE...\n audiotag clean FILE...\n audiotag rename [--pattern=PATTERN] [-f] FILE...\n audiotag copy SOURCEFOLDER DESTFOLDER\n audiotag -h | --help\n audiotag -v | --version\n```\n\n### Print\n\nThe `print` subcommand prints all tags.\nMultiple values per tag will be printed as a list.\n\n```\n$ audiotag print *.flac\nFilename: /path/to/files/1 - At Giza.flac\nALBUM: ['Conference of the Birds']\nARTIST: ['Om']\nDATE: ['2006']\nDISCNUMBER: ['1']\nDISCTOTAL: ['1']\nENCODER: ['Lavf58.12.100']\nGENRE: ['Doom Metal']\nTITLE: ['At Giza']\nTRACKNUMBER: ['1']\nTRACKTOTAL: ['2']\n\nFilename: /path/to/files/2 - Flight of the Eagle.flac\nALBUM: ['Conference of the Birds']\nARTIST: ['Om']\nDATE: ['2006']\nDISCNUMBER: ['1']\nDISCTOTAL: ['1']\nENCODER: ['Lavf58.12.100']\nGENRE: ['Doom Metal']\nTITLE: ['Flight of the Eagle']\nTRACKNUMBER: ['2']\nTRACKTOTAL: ['2']\n```\n\n### Interactive\n\nThe `interactive` subcommand interprets all given files as a single album and asks for all the necessary information.\nIf the `Number of discs` value is anything greater than 1, audiotag will ask you which disk you are currently tagging.\nOtherwise the `DISCNUMBER` tag will also be set to 1.\n`Number of songs` is used to determine the number of leading zeros when you use the `rename` subcommand.\n\n```\n$ audiotag interactive *.flac\nArtist: Om\nAlbumtitle: Conference of the Birds\nGenre: Doom Metal\nYear: 2006\nNumber of songs: 2\nNumber of discs: 1\n/path/to/files/1 - At Giza.flac\nTitle: At Giza\n/path/to/files/2 - Flight of the Eagle.flac\nTitle: Flight of the Eagle\n```\n\n### Set\n\nIf you want to set the tags in a non-interactive way you can use the `set` command.\nYou can choose from these options:\n\n* `--artist=\"Example\"` \n* `--title=\"Example\"`\n* `--album=\"Example\"`\n* `--date=2000`\n* `--genre=\"Example\"`\n* `--tracknumber=1`\n* `--discnumber=2`\n* `--tracktotal=10`\n* `--disctotal=2`\n\nIf you want to remove tags you can choose these options:\n\n* `--noartist` \n* `--notitle`\n* `--noalbum`\n* `--nodate`\n* `--nogenre`\n* `--notracknumber`\n* `--nodiscnumber`\n* `--notracktotal`\n* `--nodisctotal`\n\nYou can combine these options as you like.\nHere is an example:\n\n```\n$ audiotag set --artist=Om --album=\"Conference of the Birds\" --nodiscnumber 01-at_giza.flac \n```\n\n### Clean\n\nThe `clean` subcommand removes all tags from the file _except_ the `ENCODER` tag.\n\n### Rename\n\nThe `rename` subcommand lets you rename files based on the audio tags.\nYou have to provide a pattern for renaming.\nThe pattern may contain a combination of these placeholders:\n\n* **{A}**: Artist\n* **{T}**: Title\n* **{L}**: Album\n* **{Y}**: Date\n* **{G}**: Genre\n* **{N}**: Tracknumber\n* **{D}**: Discnumber\n* **{NT}**: Tracktotal\n* **{DT}**: Disctotal\n\nIf you don't specify a pattern, audiotag will use `{N} - {T}` if the _Disctotal_ tag is set to `1` or `{D}-{N} - {T}` if the _Disctotal_ tag is set to something else or missing.\nYou do _not_ have to add the extension to the pattern.\nAudiotag adds the extension to the output file name for you.\n\n```\n$ ls\n01-at_giza.flac 02-flight_of_the_eagle.flac\n\n$ audiotag rename *.flac\n\n$ ls\n'1 - At Giza.flac' '2 - Flight of the Eagle.flac'\n```\n\nIf the new filename already exists Audiotag will ask if you want to overwrite the existing file. This check can be disabled with the `-f` or `--force` option.\n\n### Copy\nThe `copy` subcommand copies the tags from all the files in the sourcefolder to corresponding files in the destination folder.\nThe filenames are sorted alphabetically before they are matched.\nNote that the `ENCODER` tag ist _not_ copied.\n\n## Dependencies\n\nThe following dependencies are needed to run audiotag:\n\n* [docopt](https://pypi.org/project/docopt/): For parsing command line arguments\n* [pytaglib](https://pypi.org/project/pytaglib/): Python wrapper for accessing TagLib\n\nOptional dependencies are:\n* [gnureadline](https://pypi.org/project/gnureadline/): For better user input (Readline should already be installed on any Linux system)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/Popkornium18/audiotag", "keywords": "audio,tag,taglib,mp3,flac,ogg", "license": "", "maintainer": "", "maintainer_email": "", "name": "audiotag", "package_url": "https://pypi.org/project/audiotag/", "platform": "", "project_url": "https://pypi.org/project/audiotag/", "project_urls": { "Homepage": "https://gitlab.com/Popkornium18/audiotag" }, "release_url": "https://pypi.org/project/audiotag/0.3.0/", "requires_dist": [ "docopt", "pytaglib", "gnureadline ; extra == 'readline'" ], "requires_python": "", "summary": "A simple CLI audio tagger.", "version": "0.3.0" }, "last_serial": 5546188, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5df79958e8a6aa6d03d46bb8d33ff796", "sha256": "634842a431509942a894c414b54a7d0cec5e5dab0b1e6dfe0570d2317694443f" }, "downloads": -1, "filename": "audiotag-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5df79958e8a6aa6d03d46bb8d33ff796", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4427, "upload_time": "2018-09-25T19:15:49", "url": "https://files.pythonhosted.org/packages/5e/3c/824b7b057b4d2187d647165d421d66a4a957d9c1109b05aabad2c58e3825/audiotag-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "600e492a4e301e04705cab7106672646", "sha256": "7db13935c87024c41c2f8255fed6507e6b33c5280f58062fd843f0027ad0b706" }, "downloads": -1, "filename": "audiotag-0.0.1.tar.gz", "has_sig": false, "md5_digest": "600e492a4e301e04705cab7106672646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3924, "upload_time": "2018-09-25T19:15:50", "url": "https://files.pythonhosted.org/packages/7b/0c/7d25f1eca5ed1afeacae5dd1c172ae745c9ea593440166779813b1bfe4f2/audiotag-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "25633e4630dcd3ffc82ce182d2af8cbe", "sha256": "d5fda11e9de39e09cedd8df3f08f289de0829ef65152a98e52d2f3e6871b741f" }, "downloads": -1, "filename": "audiotag-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "25633e4630dcd3ffc82ce182d2af8cbe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4471, "upload_time": "2018-09-25T21:44:38", "url": "https://files.pythonhosted.org/packages/b6/ae/2b029cb598b899c976a3fd23ac7a50da070b6996fb27c8240d422a9c9587/audiotag-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c47e8a223262cba7f2f39aacf38a770", "sha256": "ee78b9ae7fff7f4506faaf4889744649f36f6e6fae500430cfce67fe95644e17" }, "downloads": -1, "filename": "audiotag-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2c47e8a223262cba7f2f39aacf38a770", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4013, "upload_time": "2018-09-25T21:44:40", "url": "https://files.pythonhosted.org/packages/b0/95/9ae669fc12a260f1c118ec6966c00cf574f4e3ccc5e997a7f3edb7938804/audiotag-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "96e7fa541862a177c26ff993f8eab42a", "sha256": "4e7e01ca08b959745895f114d20858595bf3c6c5ef20a0a72361d37b7bb560fa" }, "downloads": -1, "filename": "audiotag-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "96e7fa541862a177c26ff993f8eab42a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6125, "upload_time": "2018-10-14T20:26:41", "url": "https://files.pythonhosted.org/packages/c5/55/bc46881f0b83bca88e10dd4c7b05998dce68e016657f125c0e34af22d8a4/audiotag-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d155d530646d14d65b31ddd7e62b69c", "sha256": "6c33329cebfd492771acde46729e4090b3325e408fc8b44d4f724e23a6a2088b" }, "downloads": -1, "filename": "audiotag-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3d155d530646d14d65b31ddd7e62b69c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4981, "upload_time": "2018-10-14T20:26:42", "url": "https://files.pythonhosted.org/packages/c5/cf/6c2dbba6bb463fc0dbf289dab54b5eccb998e38133f5eef15b2f7208e80c/audiotag-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d468cf46e3ccb362fe3028155680dc9e", "sha256": "d9b31986d27414138739b3f55b6e89bbe8836bac5c47952e85689cfddffdd9a7" }, "downloads": -1, "filename": "audiotag-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d468cf46e3ccb362fe3028155680dc9e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6128, "upload_time": "2018-10-19T21:54:55", "url": "https://files.pythonhosted.org/packages/b2/0c/d6c761c5c397b2aaf7244c1891aac66ab4997a4e8b6dec10e8382792f772/audiotag-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acf8ec9c57bbe4d2370ffab7be7262a8", "sha256": "2211ec8d19371b7639308a0f3d375e9a1823371f18cce1968005a5d9fabcb99e" }, "downloads": -1, "filename": "audiotag-0.1.1.tar.gz", "has_sig": false, "md5_digest": "acf8ec9c57bbe4d2370ffab7be7262a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4983, "upload_time": "2018-10-19T21:54:57", "url": "https://files.pythonhosted.org/packages/b6/77/558277ca86e16ca673c57d307ef7af254fc45f8272eb0182ed0041cbbee8/audiotag-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bd811d7c4e299ca3024ff38d6fc406ee", "sha256": "50a56ce4ea273e687da282a3c09144e0e79a19e65ed3c3f8515cbe645108e781" }, "downloads": -1, "filename": "audiotag-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bd811d7c4e299ca3024ff38d6fc406ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6193, "upload_time": "2018-12-22T14:33:26", "url": "https://files.pythonhosted.org/packages/0b/20/b9fed8e0e3778fee004b73ee8e813b9ae7fb45f643c1b9250ffe619f8e3a/audiotag-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "527fcdb1c82019ffdc5a5801ce9b1c25", "sha256": "fe33eeefa6dfca0fcc77fa296b088fb06a438239f7aab11c07abc4bbf6db490f" }, "downloads": -1, "filename": "audiotag-0.1.2.tar.gz", "has_sig": false, "md5_digest": "527fcdb1c82019ffdc5a5801ce9b1c25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5056, "upload_time": "2018-12-22T14:33:28", "url": "https://files.pythonhosted.org/packages/6b/2a/423a8c9acff292bdc137dda6048ce7521594c06255a16d5586f9e4a94b06/audiotag-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "af9bf6fc2591bfa4eb8eb85d773e4708", "sha256": "85b38522735c25a5d1a4cb173e6da4d3e4978d3c8a2e00093a65e34d9e871f11" }, "downloads": -1, "filename": "audiotag-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "af9bf6fc2591bfa4eb8eb85d773e4708", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6610, "upload_time": "2019-01-05T17:10:56", "url": "https://files.pythonhosted.org/packages/b1/28/9672465c9ca2466e9276f08cc51b150119cdfe3278c04e9c98cc53518261/audiotag-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2aeb398769e9f3b6a7f21690e55e0369", "sha256": "623fd44ce5ff598f82121cf90dea1e7e7771afe1639a63e3fed99d58c68c2f7a" }, "downloads": -1, "filename": "audiotag-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2aeb398769e9f3b6a7f21690e55e0369", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5472, "upload_time": "2019-01-05T17:10:59", "url": "https://files.pythonhosted.org/packages/bc/6a/3e206d02a6ba642e6e238180ff5d403fd7333622a228b7406a7fc6a8f716/audiotag-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "35f2ea567cf5294eba747b0296b025b4", "sha256": "70a7d34eec4f668a779751879542902146821ff92ba4aaf784e50f4caad78922" }, "downloads": -1, "filename": "audiotag-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "35f2ea567cf5294eba747b0296b025b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6611, "upload_time": "2019-01-07T23:58:21", "url": "https://files.pythonhosted.org/packages/66/8d/a6a01ae6b0f163ddd3ef310646dfade09c80521a9087c5fdf5e659a8133d/audiotag-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23660cba70514dd6637c28f2ff1c6bde", "sha256": "7a3aebac69d9d0bf423199d44542842409fa41d26ecddf3b346770ff545b91cb" }, "downloads": -1, "filename": "audiotag-0.2.1.tar.gz", "has_sig": false, "md5_digest": "23660cba70514dd6637c28f2ff1c6bde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5467, "upload_time": "2019-01-07T23:58:23", "url": "https://files.pythonhosted.org/packages/63/1e/91b9ce389a16701bea703d7b1892ca57d7ff257c8c017c07e9c52e100e29/audiotag-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c52867e678838a70ce1f650b8f4cff39", "sha256": "f7039ff2908511f9a89d31588ed13cac0a3b82748d83192b302f806339d61501" }, "downloads": -1, "filename": "audiotag-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c52867e678838a70ce1f650b8f4cff39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7410, "upload_time": "2019-07-17T14:29:02", "url": "https://files.pythonhosted.org/packages/76/ab/57367f2f185837ae77a14119894ca7cef0c283d52026e69882717ae92a3f/audiotag-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ca4c7d5e2dca8b06466fdee56fb0998", "sha256": "d95cf5f1777db3cf99bb0456e654e811e2aaaa4b8087a09f0aa775a8b3aa1daf" }, "downloads": -1, "filename": "audiotag-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0ca4c7d5e2dca8b06466fdee56fb0998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6265, "upload_time": "2019-07-17T14:29:03", "url": "https://files.pythonhosted.org/packages/d3/f8/8545fb763c4e88e58f0ea803264b42e77bd17c4345d1b9bd47cfdde76588/audiotag-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c52867e678838a70ce1f650b8f4cff39", "sha256": "f7039ff2908511f9a89d31588ed13cac0a3b82748d83192b302f806339d61501" }, "downloads": -1, "filename": "audiotag-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c52867e678838a70ce1f650b8f4cff39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7410, "upload_time": "2019-07-17T14:29:02", "url": "https://files.pythonhosted.org/packages/76/ab/57367f2f185837ae77a14119894ca7cef0c283d52026e69882717ae92a3f/audiotag-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ca4c7d5e2dca8b06466fdee56fb0998", "sha256": "d95cf5f1777db3cf99bb0456e654e811e2aaaa4b8087a09f0aa775a8b3aa1daf" }, "downloads": -1, "filename": "audiotag-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0ca4c7d5e2dca8b06466fdee56fb0998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6265, "upload_time": "2019-07-17T14:29:03", "url": "https://files.pythonhosted.org/packages/d3/f8/8545fb763c4e88e58f0ea803264b42e77bd17c4345d1b9bd47cfdde76588/audiotag-0.3.0.tar.gz" } ] }