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.

Source Distribution

xdg-5.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xdg-5.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file xdg-5.1.0.tar.gz.

File metadata

  • Download URL: xdg-5.1.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.11.0-18-generic

File hashes

Hashes for xdg-5.1.0.tar.gz
Algorithm Hash digest
SHA256 3949564ca3c204e7a7fa72d85f55fb436c0e6108506e3eb61f3f4cf5be35deca
MD5 8b1abdff8c02d21bf15c922c107a79be
BLAKE2b-256 b0f1194be3c59f4224c42477d2e593c02c61961d305869fcea47fbc9d17ac67f

See more details on using hashes here.

File details

Details for the file xdg-5.1.0-py3-none-any.whl.

File metadata

  • Download URL: xdg-5.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.11.0-18-generic

File hashes

Hashes for xdg-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb021156d2e1897e3cfe16bc0cd7aee6dd8157c8015a4cfbf4b495ed730226e6
MD5 d1401a972e8b46f1ff33ac1d87255f20
BLAKE2b-256 33f048eaf3d8c8123ee5aa92fde45c6f5dab22c9e21789c378292c631f38b0e0

See more details on using hashes here.

Supported by

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