Variables defined by the XDG Base Directory Specification


Keywords
xdg, base, directory, specification, python, xdg-basedir
License
ISC
Install
pip install xdg==1.0.7

Documentation

xdg

Licence GitHub release PyPI version Python versions CI status Coverage

xdg is a Python module that provides functions to return paths to the directories defined by the XDG Base Directory Specification, to save you from duplicating the same snippet of logic in every Python utility you write that deals with user cache, configuration, or data files. It has no external dependencies.

Installation

To install the latest release from PyPI, use pip:

python3 -m pip install xdg

The latest release of xdg currently implements version 0.8 of the specification, released on 8th May 2021.

In Python projects using Poetry or Pipenv for dependency management, add xdg as a dependency with poetry add xdg or pipenv install xdg. Alternatively, since xdg is only a single file you may prefer to just copy src/xdg/__init__.py from the source distribution into your project.

Usage

from xdg import (
    xdg_cache_home,
    xdg_config_dirs,
    xdg_config_home,
    xdg_data_dirs,
    xdg_data_home,
    xdg_runtime_dir,
    xdg_state_home,
)

xdg_cache_home(), xdg_config_home(), xdg_data_home(), and xdg_state_home() return pathlib.Path objects containing the value of the environment variable named XDG_CACHE_HOME, XDG_CONFIG_HOME, XDG_DATA_HOME, and XDG_STATE_HOME respectively, or the default defined in the specification if the environment variable is unset, empty, or contains a relative path rather than absolute path.

xdg_config_dirs() and xdg_data_dirs() return a list of pathlib.Path objects containing the value, split on colons, of the environment variable named XDG_CONFIG_DIRS and XDG_DATA_DIRS respectively, or the default defined in the specification if the environment variable is unset or empty. Relative paths are ignored, as per the specification.

xdg_runtime_dir() returns a pathlib.Path object containing the value of the XDG_RUNTIME_DIR environment variable, or None if the environment variable is not set, or contains a relative path rather than an absolute path.

Copyright

Copyright © 2016-2021 Scott Stevenson.

xdg is distributed under the terms of the ISC licence.