David Cournapeau <david@ar.media.kyoto-u.ac.jp> writes:
They are not arbitrary - they come from standard usage and have a rationale, at least on Unix
Agreed with this.
(datadir for arch independent, and libdir for arch dependent, to simplify).
I think you've not only simplified, you've done so in the wrong direction. I'd say instead that “datadir” is for *non-executable* files, and “libdir” for executable. That something is non-executable usually means that it's “architecture-independent”, and traditionally, “executable” has meant “architecture-dependent”, but I don't think that's a necessary distinction here. Viz. the placement of the Python standard library, including mostly architecture-independent executable files, in a “libdir”.
But you mostly do not need to care, as a developer: .py files would be considered as data files, […]
That would lead to a misguided attempt to keep ‘foo.py’ separate from the resulting ‘foo.pyc’, which would be far more pain than it's worth AFAICT. Rather, ‘foo.py’ (and ‘foo.pyc’) files would both be identified as *executable* resources, and thence installed to the same location. -- \ “Too many Indians spoil the golden egg.” —Sir Joh | `\ Bjelke-Petersen | _o__) | Ben Finney