pip install macos-tags
Works since Python 3.7.
Get all tags:
>>> import macos_tags
>>> macos_tags.tags()
[Tag(name='design', color=<Color.NONE: 0>), ..., Tag(name='python', color=<Color.GREEN: 2>]
Get files by tag name:
>>> macos_tags.find("design")
['/Users/home/apple.jpg', '/Users/home/WEB_POSTERS.png']
Count files by tag name:
>>> macos_tags.count("design")
2
List the tags on the file:
>>> path = "/path/to/file"
>>> macos_tags.get_all(path)
[Tag(name='design', color=<Color.NONE: 0>), Tag(name='python', color=<Color.GREEN: 2>]
Add a tag to file:
>>> macos_tags.add("design", file=path)
When using
str
objects to define a tag, if a tag does not exist in the system, it will be added without a color label.
Add a new color tag by using Tag
data class and Color
enumeration:
>>> from macos_tags import Tag, Color
>>> tag = Tag(name="python", color=Color.GREEN)
>>> macos_tags.add(tag, file=path)
Add a new color tag using the str
object, where the tag name and color number (from 1 to 7) are separated by the literal \n
:
>>> tag = f"python\n{Color.GREEN}" # == "python\n2"
>>> macos_tags.add(tag, file=path)
If the tag already exists in the system with a different color, the new color will be ignored.
Remove tag from file:
>>> macos_tags.remove(tag, file=path)
Remove all tags from a file at once:
>>> macos_tags.remove_all(path)
Change all tags in the file:
>>> macos_tags.get_all(path)
[Tag(name='design', color=<Color.NONE: 0>), Tag(name='python', color=<Color.GREEN: 2>]
>>> new_tags = [Tag("book"), Tag("programming", Color.BLUE)]
>>> macos_tags.set_all(new_tags, file=path)
>>> macos_tags.get_all(path)
[Tag(name="book", color=<Color.NONE: 0>), Tag("programming", <Color.BLUE: 4>]
❤️