Srstevenson Xdg Save

An implementation of the XDG Base Directory Specification in Python

Project README

xdg-base-dirs

License GitHub release PyPI version Python versions CI status Coverage

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.

[!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

To install the latest release from PyPI, use pip:

python3 -m pip install xdg-base-dirs

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

In Python projects using Poetry or PDM for dependency management, add xdg-base-dirs as a dependency with poetry add xdg-base-dirs or pdm add 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 © Scott Stevenson.

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

Open Source Agenda is not affiliated with "Srstevenson Xdg" Project. README Source: srstevenson/xdg-base-dirs
Stars
111
Open Issues
0
Last Commit
3 weeks ago
License
ISC

Open Source Agenda Badge

Open Source Agenda Rating