On Wed, Dec 15, 2021 at 4:29 PM Christopher Barker <python...@gmail.com>
wrote:

> On Wed, Dec 15, 2021 at 2:57 PM Neil Girdhar <mistersh...@gmail.com>
> wrote:
>
>> +1 for appdirs.  It's a shame that more projects don't yet use it.
>>
>
I agree -- I've wanted something like that for years in the stdlib.

wxPython has wx.StandardPaths -- and it's really handy. But a wrapper
around a C++ version, so not useful outside of wx.

-CHB


>
>> On Wednesday, December 15, 2021 at 9:03:07 AM UTC-5 Matt del Valle wrote:
>>
>>> There is appdirs which does precisely what you're looking for:
>>>
>>> https://pypi.org/project/appdirs/
>>>
>>> That said, it does seem to be a core bit of functionality that would be
>>> nice to have in the os and pathlib modules without needing an external
>>> dependency. I'm not going to weigh in on the pros/cons of adding it to the
>>> stdlib, I'll leave that to others who I'm sure will have strong opinions on
>>> the matter :)
>>>
>>> On Wed, Dec 15, 2021 at 1:47 PM JGoutin via Python-ideas <
>>> python...@python.org> wrote:
>>>
>>>> Hello,
>>>>
>>>> The idea is to add 3 functions to get "config", "data" and "cache"
>>>> directories that are commonly used to store application files in user home
>>>> / system.
>>>>
>>>> This look very straightforward to get theses directories path, but in
>>>> practices it depends on many factors like OS, environnement variables, user
>>>> or system dir.
>>>>
>>>> For instance, with the "config" directory:
>>>> * Linux, user: os.path.join(os.getenv("XDG_CONFIG_HOME",
>>>> os.path.expanduser("~/.config")), app_name)
>>>> * Linux, system: os.path.join("/etc", app_name)
>>>> * Windows, user: os.path.join(os.path.expandvars("%APPDATA%"), app_name)
>>>> * Windows, system:
>>>> os.path.join(os.path.expandvars("%CSIDL_COMMON_APPDATA%"), app_name)
>>>>
>>>> For linux, the full spec is here:
>>>> https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
>>>>
>>>> I see many applications that just use "~/.app_name" to not have to
>>>> handle theses cases.
>>>>
>>>>
>>>> The functions prototypes may look like and may be added to "shutil" (or
>>>> "os.path" ?):
>>>>
>>>> def getcachedir(app_name: str=None, system: bool=False):
>>>>
>>>> With
>>>> * app_name: The application name
>>>> * system: If the required directory is the systemd directory or user
>>>> direcotry.
>>>>
>>>>
>>>> This may also be implemented as an external library, but I am not sure
>>>> I would like add add a dependency to my projects "just for this".
>>>>
>>>>
>>>> I can implement this if people are interested with this feature.
>>>> _______________________________________________
>>>> Python-ideas mailing list -- python...@python.org
>>>> To unsubscribe send an email to python-id...@python.org
>>>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>>>> Message archived at
>>>> https://mail.python.org/archives/list/python...@python.org/message/MHEWO4U6SBDU7OU3JH4A62EWCANDM7I2/
>>>> <https://mail.python.org/archives/list/python-ideas@python.org/message/MHEWO4U6SBDU7OU3JH4A62EWCANDM7I2/>
>>>> Code of Conduct: http://python.org/psf/codeofconduct/
>>>>
>>> _______________________________________________
>> Python-ideas mailing list -- python-ideas@python.org
>> To unsubscribe send an email to python-ideas-le...@python.org
>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>> Message archived at
>> https://mail.python.org/archives/list/python-ideas@python.org/message/IV3W2LRZ2KRYERYOYOGYWLI4TO7NXUHI/
>> Code of Conduct: http://python.org/psf/codeofconduct/
>>
>
>
> --
> Christopher Barker, PhD (Chris)
>
> Python Language Consulting
>   - Teaching
>   - Scientific Software Development
>   - Desktop GUI and Web Development
>   - wxPython, numpy, scipy, Cython
>


-- 
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/PNFWSYYXR5MXVXWOKEV2B26TABVZYL6A/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to