Skip to main content
* filetagslib

This is a utility library for providing functions related to the
[[https://github.com/novoid/filetags][filetags method]] which is also described [[https://karl-voit.at/managing-digital-photographs/][on this blog entry]].

If you do support its file name convention, you might find here some
valuable tools:

: (<ISO date/time stamp>)?(?<descriptive file name>)?( -- <list of tags separated by spaces>)?.<file extension>

Examples:

: 2019-12-14T11.28.44 Dinner for one -- fun silvester anniversary.mpeg
: 2019-12-14 Tax returns.pdf
: 2019-12-14T15.32 Book for mum 23€ -- bill books.png
: 2019-12-13T10.36.46.jpg
: 2019-10-30T22.19.32 Nata de Coco -- food acquisition.jpg

** Installation

This library needs [[http://www.python.org/downloads/][Python 3]] (version 3.8 or newer) and has
*no runtime dependencies*.

The recommended way to add it to your own project is with [[https://docs.astral.sh/uv/][uv]]:

: uv add filetagslib

This records filetagslib in the =[project.dependencies]= of your
project's =pyproject.toml= and installs it into the project's
environment.

Alternatively, you can install it into the current environment with pip
(optionally driven by uv):

: uv pip install filetagslib

: pip3 install filetagslib

# --- BEGIN SHARED: 0dependencies --- see https://github.com/novoid/screencasts/
[[https://0dependencies.dev][https://0dependencies.dev/0dependencies.svg]] → [[https://0dependencies.dev/][learn more about 0dependencies]]
# --- END SHARED: 0dependencies --- see https://github.com/novoid/screencasts/

** Development

This project is managed with [[https://docs.astral.sh/uv/][uv]]. After cloning the repository,
create the development environment (this sets up a local =.venv= and
installs the development dependencies such as pytest) with:

: uv sync

Run the unit tests with:

: uv run pytest

or via the convenience wrapper:

: ./run_unit_tests.sh

Build the source distribution and the wheel into =./dist/= with:

: uv build

** Changelog

This changelog does not list all commits/changes, just the substantial
ones.

- 2019-12-14: initial version
- 2026-06-06: migrated packaging from =setup.py= to uv / =pyproject.toml=

*** How to Thank Me and Contribute to the Project
# --- BEGIN SHARED: how_to_thank_me --- see https://github.com/novoid/screencasts/

I'm glad if you like my tool. I've got way more projects on:

- [[https://github.com/novoid/][GitHub]] (oldest projects),
- [[https://gitlab.com/publicvoit/][GitLab.com]] (older projects), and
- [[https://codeberg.org/publicvoit/][Codeberg]] (newest projects).

If you want to support me:

- [[https://karl-voit.at/2018/06/07/cardware/][Send old-fashioned *postcard* per snailmail]] - I love personal feedback!
- see [[http://tinyurl.com/j6w8hyo][my address]]
- Send feature wishes or improvements as an issue
- Create issues for bugs
- Contribute merge requests for bug fixes
- Check out my other cool projects on the platforms above

If you want to contribute to this cool project, please fork and
contribute!

I am using [[http://www.python.org/dev/peps/pep-0008/][Python PEP8]] and occasionally some ideas from [[http://en.wikipedia.org/wiki/Test-driven_development][Test Driven
Development (TDD)]]. I fancy Python3 with [[https://typing.python.org/en/latest/spec/annotations.html][type annotations]], although I'm
not using them everywhere at the moment. Starting with 2025, I began
to use help from Claude.ai which is a huge improvement, given my lack
of programming practice and knowledge.

After all, each of my tools was developed because I needed its
functionality and could not get it elsewhere - at least to my
knowledge or taste.

# --- END SHARED: how_to_thank_me --- see https://github.com/novoid/screencasts/

* Local Variables :noexport:
# Local Variables:
# mode: auto-fill
# mode: flyspell
# eval: (ispell-change-dictionary "en_US")
# End:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filetagslib-2026.6.6.1.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filetagslib-2026.6.6.1-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file filetagslib-2026.6.6.1.tar.gz.

File metadata

  • Download URL: filetagslib-2026.6.6.1.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for filetagslib-2026.6.6.1.tar.gz
Algorithm Hash digest
SHA256 5203b813db03667d5ee4aca833212db72f82ab08586d29c42a99013b0f3b659d
MD5 ffb92722e9fdda1d6a1f87e25201f86d
BLAKE2b-256 f5a8524dc4b532b31077d7fca7fbb13da8204413695160d7114c4f75e5b0bc25

See more details on using hashes here.

File details

Details for the file filetagslib-2026.6.6.1-py3-none-any.whl.

File metadata

  • Download URL: filetagslib-2026.6.6.1-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for filetagslib-2026.6.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 19418bd38627c8052b4d7d176cbe1c73c7551b5e4cd88991c18fba6039598f57
MD5 98150cb7bc3eb38ad0dde9c016f39523
BLAKE2b-256 adb85d923e7efce361201dfe147c980d072c91de26f1e08a8a8955e1519dc984

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2026.6.6.1 This release

2 files

2019.12.14.1

1 file

2019.12.13.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page