All Projects → srstevenson → xdg

srstevenson / xdg

Licence: ISC License
An implementation of the XDG Base Directory Specification in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to xdg

xdg
Provides an implementation of the XDG Base Directory Specification.
Stars: ✭ 23 (-63.49%)
Mutual labels:  xdg
go-appdir
Minimalistic Go package to get application directories such as config and cache
Stars: ✭ 62 (-1.59%)
Mutual labels:  xdg-basedir
dotfiles
🏡 Personal dotfiles configuration
Stars: ✭ 73 (+15.87%)
Mutual labels:  xdg
xdg
Light weight helper functions in golang to get config, data and cache files according to the XDG Base Directory Specification.
Stars: ✭ 16 (-74.6%)
Mutual labels:  xdg
dotfiles
mac OS, Arch Linux, and Debian/Ubuntu
Stars: ✭ 286 (+353.97%)
Mutual labels:  xdg
xdg-xmenu
Generate menu for xmenu
Stars: ✭ 31 (-50.79%)
Mutual labels:  xdg
runcom
An XDG enhanced run command manager for command line interfaces.
Stars: ✭ 16 (-74.6%)
Mutual labels:  xdg

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].