Introducing tss, a command-line tool to search and manage files with TagSpaces tags

Hi everyone and especially those of you who sometimes use a command-line interface :slight_smile:

This is my first post here, to present tss, a command-line tool I recently developed for my personal use. It’s a tool that covers the basic functionality of TagSpace such as adding and removing tags from files, and searching for files with tags. It can be used alongside TagSpaces or independently (it does not require TagSpaces to run).

The tool is written in zsh so it should be installable on Linux, macOS, or even Windows if you use the WSL. It can of course be run from another shell than zsh, but completions are provided for zsh which contribute to making the tool pleasant to use (I hope).

Here’s a bit of what it can do:

$ ls
IMG-2653.jpg
$ tss add 'vacation alps' IMG-2653.jpg
$ tss files -t 'alps' *
IMG-2653[vacation alps].jpg
$ cp "IMG-2653[vacation alps].jpg" "IMG-2653_copy[vacation alps copy].jpg"
$ tss files -t 'alps' -T 'copy' *  # or --tags 'alps' --not-tags 'copy'
IMG-2653[vacation alps].jpg

It also supports glob patterns:

$ tss remove 'v* a*' "IMG-2653_copy[vacation alps copy].jpg"
$ find | tss filter -t '(alps|pyrenees)'
./IMG-2653[vacation alps].jpg

If TagSpaces location indexes are present, tss uses them to speed up queries and can even generate them, but that part is not very usable at the moment.

If anyone is interested in using it, I’ll be happy to answer any questions you have, and any comments or feedback are very welcome. Enjoy :slight_smile:

1 Like

Looks very promising!!! I will link your project to our documentation, in the section for the command line tools.

1 Like