Skip to main content

Variables defined by the XDG Base Directory Specification

Project description

xdg

Licence GitHub release PyPI version Python versions CI status Coverage

xdg is a Python module which 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 absolute path.

Copyright

Copyright © 2016-2021 Scott Stevenson.

xdg is distributed under the terms of the ISC licence.

Project details


Download files

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

Files for xdg, version 5.1.1
Filename, size File type Python version Upload date Hashes
Filename, size xdg-5.1.1.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View
Filename, size xdg-5.1.1-py3-none-any.whl (5.0 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page