Skip to main content

Handle CACHEDIR.TAG files, indicating directories that contain cached content

Project description

CACHEDIR.TAG for Python

This library handles CACHEDIR.TAG files. Allowing any arbitrary directory to be marked as a cache directory.

A CACHEDIR.TAG file indicates a directory that contain cached data, e.g.

  • downloads
  • previews, and thumbnails
  • build artefacts, and other intermediate results

Cached data is useful, but not essential - if necessary it can be regenerated, or downloaded again. However backup programs, disk cleanup utilities, & other software can't know if an arbitrary path is cached data, unless it is marked.

A directory (and all directories within it) can be marked as a cache by writing a regular file named CACHEDIR.TAG, with the first 43 bytes being

Signature: 8a477f597d28d172789f06886806bc55

After this signature any other text can be included. The specification suggests lines of text beginning with #, encoded as UTF-8. E.g.

# This file is a cache directory tag created by (application name).
# For information about cache directory tags, see:
#	http://www.brynosaurus.com/cachedir/

This library follows that suggestion.

Installation

$ python -m pip install cachedir-tag

Usage

Create your cache directory, if necessary

>>> import os, cachedir_tag
>>> os.mkdir('/var/cache/yourapp')

Tag it, this creates a new CACHEDIR.TAG file

>>> cachedir_tag.tag('/var/cache/yourapp')

Check whether the directory is tagged

>>> cachedir_tag.is_tagged('/var/cache/yourapp')
True

Check whether a sub-directory (which may not exist yet) is tagged

>>> cachedir_tag.is_tagged('/var/cache/yourapp/somedir')
True

License

MIT

Alternatives

Operating systems and similar platforms usually have conventions about where to place cached data. A CACHEDIR.TAG file isn't needed if you follow these conventions, but it doesn't hurt either.

More information

Project details


Download files

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

Source Distribution

cachedir_tag-0.0.4.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

cachedir_tag-0.0.4-py2.py3-none-any.whl (3.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file cachedir_tag-0.0.4.tar.gz.

File metadata

  • Download URL: cachedir_tag-0.0.4.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for cachedir_tag-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b43f57cb19ccf98628057098ddbfead7f317f61a6f4a0771ee356a1f1d2509ce
MD5 87c8807acfc44c4e639d18ecb85bda6e
BLAKE2b-256 b4a8baa72ae4aa40144d5c69ab11eb1f94c3cc76fc067f99ee1fd7d38f69b8df

See more details on using hashes here.

File details

Details for the file cachedir_tag-0.0.4-py2.py3-none-any.whl.

File metadata

  • Download URL: cachedir_tag-0.0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for cachedir_tag-0.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 79895cef301eb492df3c56717a3eb4f52990dbba21c2112e6a72540aa8511b29
MD5 80fd7713f4815ae5bc9802e674047c94
BLAKE2b-256 7e9e321341fce74669512b70aa0e9a48606e3ca01dec350738c21c9236ac23aa

See more details on using hashes here.

Supported by

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