{ "info": { "author": "Yann B\u00fcchau", "author_email": "nobodyinperson@gmx.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)" ], "description": "# xdgspec Python package\n\n[![pipeline status](https://gitlab.com/nobodyinperson/python3-xdgspec/badges/master/pipeline.svg)](https://gitlab.com/nobodyinperson/python3-xdgspec/commits/master)\n[![coverage report](https://gitlab.com/nobodyinperson/python3-xdgspec/badges/master/coverage.svg)](https://nobodyinperson.gitlab.io/python3-xdgspec/coverage-report/)\n[![documentation](https://img.shields.io/badge/docs-sphinx-brightgreen.svg)](https://nobodyinperson.gitlab.io/python3-xdgspec/)\n[![PyPI](https://badge.fury.io/py/xdgspec.svg)](https://badge.fury.io/py/xdgspec)\n\n`xdgspec` is a simple Python package to provide **convenient** access to the\nvariables defined in the [XDG Base Directory\nSpecification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html).\n\n\n## What can `xdgspec` do?\n\nWith `xdgspec` you can:\n\n### Access the [XDG Base Directory variables](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables) with Appropriate Fallbacks\n\n```python\nfrom xdgspec import XDGDirectory\nprint(XDGDirectory(\"XDG_CONFIG_HOME\").path)\nprint(XDGDirectory(\"XDG_CACHE_HOME\").path)\nprint(XDGDirectory(\"XDG_DATA_HOME\").path)\n# ...\n```\n\n### Use a Context Manager to Automatically Create One of the [XDG Base Directories](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#basics) if it doesn't exist\n\n```python\nfrom xdgspec import XDGDirectory\nwith XDGDirectory(\"XDG_CONFIG_HOME\") as path:\n print(\"{} is now definitely existing\".format(path))\n```\n\n### Access and Create Package Directories\n\n```python\nfrom xdgspec import XDGPackageDirectory\nwith XDGPackageDirectory(\"XDG_CONFIG_HOME\",\"mypackage\") as path:\n # path = ~/.config/mypackage\n print(\"{} is now definitely existing\".format(path))\n```\n\n### Loop Over Existing XDG System Directories\n\n```python\nfrom xdgspec import XDGDirectories\n# variable content\nprint(XDGDirectories(\"XDG_CONFIG_DIRS\").paths)\n# generator of actually existing, unique directories\nprint(list(XDGDirectories(\"XDG_CONFIG_DIRS\").existing_paths))\n```\n\n## Installation\n\nThe `xdgspec` package is best installed via `pip`. Run from anywhere:\n\n```bash\npython3 -m pip install --user xdgspec\n```\n\nThis downloads and installs the package from the [Python Package\nIndex](https://pypi.org).\n\nYou may also install `xdgspec` from the repository root:\n\n```bash\npython3 -m pip install --user .\n```\n\n## Documentation\n\nDocumentation of the `xdgspec` package can be found [here on\nGitLab](https://nobodyinperson.gitlab.io/python3-xdgspec/).", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/nobodyinperson/python3-xdgspec", "keywords": "xdg", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "xdgspec", "package_url": "https://pypi.org/project/xdgspec/", "platform": "", "project_url": "https://pypi.org/project/xdgspec/", "project_urls": { "Homepage": "https://gitlab.com/nobodyinperson/python3-xdgspec" }, "release_url": "https://pypi.org/project/xdgspec/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Convenient access to XDG Base Directory Specification variables", "version": "0.2.1", "yanked": false, "yanked_reason": null }, "last_serial": 6095288, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d063b89f6c3f9fb459011cbb784cddfa", "sha256": "ab15563ad98571af2416697ac014e25274674715de3c5018b218d1bad4e13818" }, "downloads": -1, "filename": "xdgspec-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d063b89f6c3f9fb459011cbb784cddfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3287, "upload_time": "2018-12-19T16:06:51", "upload_time_iso_8601": "2018-12-19T16:06:51.055767Z", "url": "https://files.pythonhosted.org/packages/1f/25/ebf0410ecc59b479127cacd03d4833ea1e85a18f15e79d552af24c5d6e9d/xdgspec-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7f5f14763d6fa5a5b7fde56cadb417ce", "sha256": "a128c0ec82d0976dde0340294481f2014449c3940c7f72b7382ec5d1f200a43e" }, "downloads": -1, "filename": "xdgspec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7f5f14763d6fa5a5b7fde56cadb417ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3756, "upload_time": "2018-12-19T16:41:07", "upload_time_iso_8601": "2018-12-19T16:41:07.624813Z", "url": "https://files.pythonhosted.org/packages/eb/69/e56c9a0cce2fb872ab86ad0cd4b65b7e82ec236876cec0a416ec66f9f12b/xdgspec-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "55a50e5fc2cb61802556022fd360e0b0", "sha256": "0e0586febc604cb8261e33ef4804ee1211f0ece25b8011039a98ba01021c0fe4" }, "downloads": -1, "filename": "xdgspec-0.1.2.tar.gz", "has_sig": false, "md5_digest": "55a50e5fc2cb61802556022fd360e0b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3750, "upload_time": "2019-08-08T11:10:46", "upload_time_iso_8601": "2019-08-08T11:10:46.863873Z", "url": "https://files.pythonhosted.org/packages/31/05/b92ddde2885413bd568d2d154a4035208a890114a37d8cf3634c5ca7e52b/xdgspec-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e751b4c4525ea0e5655e0d64f8e55633", "sha256": "2869378c1093151dc8635aa8f294d3a5acd8c1adb557007f0fbe07ee058501b5" }, "downloads": -1, "filename": "xdgspec-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e751b4c4525ea0e5655e0d64f8e55633", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4049, "upload_time": "2019-10-22T17:51:38", "upload_time_iso_8601": "2019-10-22T17:51:38.458359Z", "url": "https://files.pythonhosted.org/packages/77/31/4dd67823730b3f9cd5cf7353ecb65d81a3d457e40ce8f020fa3fa9a6f797/xdgspec-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "71e1645a58edeeebc49a2ca1e81c0619", "sha256": "384d8dba4e033aef83fc72981edb8431db0af89de64f6cc25afe6276e2746413" }, "downloads": -1, "filename": "xdgspec-0.2.1.tar.gz", "has_sig": false, "md5_digest": "71e1645a58edeeebc49a2ca1e81c0619", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4046, "upload_time": "2019-11-07T19:03:39", "upload_time_iso_8601": "2019-11-07T19:03:39.021113Z", "url": "https://files.pythonhosted.org/packages/d5/96/625c6507eca9e24c3e4f9c807d8f3e064efb341b53364dd54ccb1a3ad2dd/xdgspec-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "71e1645a58edeeebc49a2ca1e81c0619", "sha256": "384d8dba4e033aef83fc72981edb8431db0af89de64f6cc25afe6276e2746413" }, "downloads": -1, "filename": "xdgspec-0.2.1.tar.gz", "has_sig": false, "md5_digest": "71e1645a58edeeebc49a2ca1e81c0619", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4046, "upload_time": "2019-11-07T19:03:39", "upload_time_iso_8601": "2019-11-07T19:03:39.021113Z", "url": "https://files.pythonhosted.org/packages/d5/96/625c6507eca9e24c3e4f9c807d8f3e064efb341b53364dd54ccb1a3ad2dd/xdgspec-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }