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

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.2.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

cachedir_tag-0.0.2-py2.py3-none-any.whl (3.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cachedir-tag-0.0.2.tar.gz.

File metadata

  • Download URL: cachedir-tag-0.0.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for cachedir-tag-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6be7629021843746a9899208ec4458c92de2e2332944ade0346c1b0e4a8a60ae
MD5 b3957a1b018824f0fda134f476cb8bc1
BLAKE2b-256 3ae829be64806eaad11df84996bc2e8633c68ae431b99e2ccae6e240aafb9019

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cachedir_tag-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for cachedir_tag-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 27bb0ee0b6c427886a902b34d4b28e1078d02fe0a9f22fd68fe2d0f3644edffe
MD5 676dccb7775ebee5e6b4173609d3e1bd
BLAKE2b-256 36bc4106d02015c16160305a7948f2d84bcf677124a65e403ae2d69ff9eccfde

See more details on using hashes here.

Supported by

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