Tuesday, 19 February 2013

Appdirs from pypi is retarded

The XDG standard says user-specific data files should be written [in] $XDG_DATA_HOME which defaults to $HOME/.local/share.

Appdirs explicitly breaks XDG_DATA_HOME specification and returns a path based on $XDG_CONFIG_HOME, ~/.config/<appname> instead of ~/.local/share/<appname> for user_data_dir. Although the spec is as clear as day, the authors of appdirs say this is 'subject to some interpretation'.

No, it's not, read the damn spec!


The irony is that initially they got it right, but decided to break the standard some two years ago.

Thank you appdirs authors for ignoring a perfectly clear standard just because you *think* 'in practice, Linux apps tend to store their data in ~/.config/<appname>'.

Dear appdirs authors, if some people break the law it doesn't mean the law is broken. And if *you*think* some apps do not conform to a standard, it does mean *at*all* that you should not, either. More than that, if some applications decide on their own they consider some things config data and you'd classify those as 'application data', that's their business, and is not your place to decide to break the standard for everybody. Standards exist for a reason.

 BTW, your software is worthless to me now and I decided NOT to use it because of this idiotic decision of yours.


Zack said...

I want to go back to the days when everyone put their state files in ~/.application-name. That way there was only one place to look for them.

Alex Wauck said...

Wow. That is a rather aggressive form of cluelessness.

Also, it's pypi, not PyPy. PyPy is a completely different thing. Which you probably knew.

eddyp said...

@Alex: Thanks, I corrected the typo.

What did you refer to when you said 'aggressive form of cluelessness'? Was I wrong, or are you referring to appdirs' authors? Because if I made a mistake, I want to correct it.

eddyp said...

@Zack: I disagree. I usually have displayed hidden files, and the clutter in $HOME is maddening. Also, having all files in .config and .local helps with backups.

Zack Weinberg said...

sorry for failing to check for replies for weeks...

I also usually have displayed hidden files (but only because I don't remember how to turn them on and off in the GNOME file picker -- if it were a keystroke I knew, or an obvious tickybox, I'd leave them hidden most of the time), and I'm not a huge fan of the clutter in $HOME, but I dislike far more not knowing where to look for application state. It could be in .config, it could be in .local, it could be in any of several different directories starting with .gnome or .kde, or it could still be loose in $HOME, or even sometimes it's hiding in /var (!) and that means that finding it is an exercise in frustration.