xdgspec

Convenient access to XDG Base Directory Specification variables


Keywords
xdg
License
GPL-3.0
Install
pip install xdgspec==0.2.1

Documentation

xdgspec Python package

pipeline status coverage report documentation PyPI

xdgspec is a simple Python package to provide convenient access to the variables defined in the XDG Base Directory Specification.

What can xdgspec do?

With xdgspec you can:

Access the XDG Base Directory variables with Appropriate Fallbacks

from xdgspec import XDGDirectory
print(XDGDirectory("XDG_CONFIG_HOME").path)
print(XDGDirectory("XDG_CACHE_HOME").path)
print(XDGDirectory("XDG_DATA_HOME").path)
# ...

Use a Context Manager to Automatically Create One of the XDG Base Directories if it doesn't exist

from xdgspec import XDGDirectory
with XDGDirectory("XDG_CONFIG_HOME") as path:
    print("{} is now definitely existing".format(path))

Access and Create Package Directories

from xdgspec import XDGPackageDirectory
with XDGPackageDirectory("XDG_CONFIG_HOME","mypackage") as path:
    # path = ~/.config/mypackage
    print("{} is now definitely existing".format(path))

Loop Over Existing XDG System Directories

from xdgspec import XDGDirectories
# variable content
print(XDGDirectories("XDG_CONFIG_DIRS").paths)
# generator of actually existing, unique directories
print(list(XDGDirectories("XDG_CONFIG_DIRS").existing_paths))

Installation

The xdgspec package is best installed via pip. Run from anywhere:

python3 -m pip install --user xdgspec

This downloads and installs the package from the Python Package Index.

You may also install xdgspec from the repository root:

python3 -m pip install --user .

Documentation

Documentation of the xdgspec package can be found here on GitLab.