{"id":34104022,"url":"https://github.com/kergoth/beets-stylize","last_synced_at":"2026-03-11T01:32:04.994Z","repository":{"id":253451133,"uuid":"843543774","full_name":"kergoth/beets-stylize","owner":"kergoth","description":"Beets plugin to add style to your music library.","archived":false,"fork":false,"pushed_at":"2025-03-06T03:59:37.000Z","size":847,"stargazers_count":5,"open_issues_count":22,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-17T01:01:54.023Z","etag":null,"topics":["beets-plugin"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kergoth.png","metadata":{"files":{"readme":".github/README.remotified.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-16T18:45:34.000Z","updated_at":"2025-08-09T13:45:04.000Z","dependencies_parsed_at":"2024-09-17T03:04:26.123Z","dependency_job_id":null,"html_url":"https://github.com/kergoth/beets-stylize","commit_stats":null,"previous_names":["kergoth/beets-stylize"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/kergoth/beets-stylize","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kergoth%2Fbeets-stylize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kergoth%2Fbeets-stylize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kergoth%2Fbeets-stylize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kergoth%2Fbeets-stylize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kergoth","download_url":"https://codeload.github.com/kergoth/beets-stylize/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kergoth%2Fbeets-stylize/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30366051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beets-plugin"],"created_at":"2025-12-14T17:57:56.989Z","updated_at":"2026-03-11T01:32:04.948Z","avatar_url":"https://github.com/kergoth.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stylize Plugin for Beets\n\n[![PyPI](https://img.shields.io/pypi/v/beets-stylize.svg)][pypi status]\n[![Status](https://img.shields.io/pypi/status/beets-stylize.svg)][pypi status]\n[![Python Version](https://img.shields.io/pypi/pyversions/beets-stylize)][pypi status]\n[![License](https://img.shields.io/pypi/l/beets-stylize)][license]\n\n[![Read the documentation at https://beets-stylize.readthedocs.io/](https://img.shields.io/readthedocs/beets-stylize/latest.svg?label=Read%20the%20Docs)][read the docs]\n[![Tests](https://github.com/kergoth/beets-stylize/workflows/Tests/badge.svg)][tests]\n[![Codecov](https://codecov.io/gh/kergoth/beets-stylize/branch/main/graph/badge.svg)][codecov]\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)][pre-commit]\n[![Ruff codestyle][ruff badge]][ruff project]\n\n[pypi status]: https://pypi.org/project/beets-stylize/\n[read the docs]: https://beets-stylize.readthedocs.io/\n[tests]: https://github.com/kergoth/beets-stylize/actions?workflow=Tests\n[codecov]: https://app.codecov.io/gh/kergoth/beets-stylize\n[pre-commit]: https://github.com/pre-commit/pre-commit\n[ruff badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\n[ruff project]: https://github.com/charliermarsh/ruff\n\n![Album Listing][]\n\nThe [stylize](https://github.com/kergoth/beets-stylize) plugin adds style and color to the [list][] command and other commands that need to print out items, by adding three [template functions][] for use with the [format_item][] and [format_album][] configuration options.\n\n- `stylize`: Add color and formatting to your formatted items and albums.\n- `nocolor`: Show the supplied text only when color is disabled. This is useful to add separators between fields when color is unavailable.\n- `link`: Create clickable links in the terminal. This has no effect on an unsupported terminal. This lets you play a track or navigate to an album folder with a click.\n\n## Installation\n\nAs the beets documentation describes in [Other plugins][], to use an external plugin like this one, there are two options for installation:\n\n- 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-stylize`.\n- Set the pluginpath config variable to point to the directory containing the plugin. (See Configuring) This would require cloning or otherwise downloading this [repository](https://github.com/kergoth/beets-stylize) before adding to the pluginpath.\n\n## Configuring\n\nFirst, enable the `stylize` plugin (see [Using Plugins][]). Colors for use with the `stylize` function may be defined using the [colors][] option under [UI Options][] in your beets configuration. For example:\n\n```yaml\nui:\n  colors:\n    artist: [\"bold\", \"green\"]\n```\n\n## Using\n\nThe `stylize` function accepts a named color as the first argument, the text to be stylized as the second, and an optional third argument for the text to be used if color is disabled.\n\nExample usage in your beets configuration, based on the default `format_item` and `format_album` configuration options:\n\n```yaml\nui:\n  color: true\n  colors:\n    # Field colors for use in the item and album formats.\n    album: [\"blue\", \"bold\"]\n    albumartist: [\"yellow\"]\n    artist: [\"bold\", \"yellow\"]\n    title: [\"normal\"]\n\nformat_item: \"%stylize{artist,$artist} %nocolor{- }%stylize{album,$album} %nocolor{- }%stylize{title,$title}\"\nformat_album: \"%stylize{albumartist,$albumartist} %nocolor{- }%stylize{album,$album}\"\n```\n\nWith this configured, we see listings like this:\n\n![Album Listing][]\n\nAnd this:\n\n![Track Listing][]\n\nIf no color is available, such as due to redirection, or setting the `NO_COLOR` environment variable, we see a listing like this due to the use of `%nocolor` to add the separator:\n\n![Nocolor Listing][]\n\nAs an example of how to use `%link`, this would make the entire line a clickable link to the file path:\n\n```yaml\nformat_item: \"%link{file://$path,$artist - $album - $title}\"\n```\n\nAs we see here, in the Visual Studio Code terminal:\n\n![Link Listing][]\n\n## Contributing\n\nContributions are very welcome.\nTo learn more, see the [Contributor Guide].\n\n## License\n\nDistributed under the terms of the [MIT license][license],\n_Stylize Plugin for Beets_ is free and open source software.\n\n## Issues\n\nIf you encounter any problems,\nplease [file an issue] along with a detailed description.\n\n## Credits\n\nThis project is a plugin for the [beets][] project, and would not exist without that fantastic project.\nThis project was generated from [@cjolowicz]'s [Hypermodern Python Cookiecutter] template.\n\n[template functions]: https://beets.readthedocs.io/en/stable/reference/pathformat.html#template-functions\n[beets]: https://beets.readthedocs.io/en/stable/index.html\n[format_item]: https://beets.readthedocs.io/en/stable/reference/config.html#id66\n[format_album]: https://beets.readthedocs.io/en/stable/reference/config.html#id67\n[list]: https://beets.readthedocs.io/en/stable/reference/cli.html#list-cmd\n[other plugins]: https://beets.readthedocs.io/en/stable/plugins/index.html#other-plugins\n[using plugins]: https://beets.readthedocs.io/en/stable/plugins/index.html#using-plugins\n[colors]: https://beets.readthedocs.io/en/stable/reference/config.html#colors\n[ui options]: https://beets.readthedocs.io/en/stable/reference/config.html#id81\n[@cjolowicz]: https://github.com/cjolowicz\n[hypermodern python cookiecutter]: https://github.com/cjolowicz/cookiecutter-hypermodern-python\n[file an issue]: https://github.com/kergoth/beets-stylize/issues\n\n\u003c!-- github-only --\u003e\n\n[track listing]: https://raw.githubusercontent.com/kergoth/beets-stylize/main/docs/images/track_listing.png\n[album listing]: https://raw.githubusercontent.com/kergoth/beets-stylize/main/docs/images/album_listing.png\n[nocolor listing]: https://raw.githubusercontent.com/kergoth/beets-stylize/main/docs/images/nocolor_listing.png\n[link listing]: https://raw.githubusercontent.com/kergoth/beets-stylize/main/docs/images/link_listing.png\n[license]: https://github.com/kergoth/beets-stylize/blob/main/LICENSE\n[contributor guide]: https://github.com/kergoth/beets-stylize/blob/main/CONTRIBUTING.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkergoth%2Fbeets-stylize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkergoth%2Fbeets-stylize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkergoth%2Fbeets-stylize/lists"}