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/