Skip to main content

Variables defined by the XDG Base Directory Specification

Project description

xdg-base-dirs

xdg-base-dirs 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.

xdg-base-dirs currently implements version 0.8 of the specification, released on 8th May 2021.

[!NOTE]

xdg-base-dirs was previously named xdg, and was renamed due to an import collision with PyXDG. If you used xdg prior to the rename, update by changing the dependency name from xdg to xdg-base-dirs and the import from xdg to xdg_base_dirs.

Installation

xdg-base-dirs requires Python 3.10 or later. To install the latest release from PyPI with pip, use:

python3 -m pip install xdg-base-dirs

Alternatively, since xdg-base-dirs is only a single file you may prefer to just copy src/xdg_base_dirs/__init__.py from the source distribution into your project.

Usage

from xdg_base_dirs 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 © Scott Stevenson.

xdg-base-dirs is distributed under the terms of the ISC license.

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_base_dirs-6.0.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

xdg_base_dirs-6.0.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file xdg_base_dirs-6.0.2.tar.gz.

File metadata

  • Download URL: xdg_base_dirs-6.0.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/24.0.0

File hashes

Hashes for xdg_base_dirs-6.0.2.tar.gz
Algorithm Hash digest
SHA256 950504e14d27cf3c9cb37744680a43bf0ac42efefc4ef4acf98dc736cab2bced
MD5 765ee006d59cc023b28a36505ebcd9d4
BLAKE2b-256 bfd0bbe05a15347538aaf9fa5b51ac3b97075dfb834931fcb77d81fbdb69e8f6

See more details on using hashes here.

File details

Details for the file xdg_base_dirs-6.0.2-py3-none-any.whl.

File metadata

  • Download URL: xdg_base_dirs-6.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/24.0.0

File hashes

Hashes for xdg_base_dirs-6.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c01d1b758ed4ace150ac960ac0bd13ce4542b9e2cdf01312dcda5012cfebabe
MD5 820a70c0fd112d6b70d974c97511b66f
BLAKE2b-256 fc03030b47fd46b60fc87af548e57ff59c2ca84b2a1dadbe721bb0ce33896b2e

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