[Distutils] distlib and data files => resources ?

Chris McDonough chrism at plope.com
Mon Nov 19 00:07:54 CET 2012


On 11/18/2012 05:55 PM, Tarek Ziadé wrote:
> On 11/18/12 11:45 PM, Chris McDonough wrote:
>>
>> I don't really take exception to having such a feature (although I
>> would be unlikely to use it), but I do take exception to the first
>> paragraph of the description you pointed at:
>>
>> "This section describes the files used by the project which must not
>> be installed in the same place that python modules or libraries, they
>> are called resources. They are for example documentation files, script
>> files, databases, etc..."
>>
>> That is not the definition of "resource" in setuptools-derived
>> systems.  The definition of resource in setuptools-derived systems is
>> "a non-Python file that lives in a package", which is exactly the
>> opposite of the above definition.  I'd suggest to avoid confusion we
>> don't call "files used by the project that must not be installed in
>> the same place that python modules or libraries", and we call this
>> other class of things something else.
>
> I think there's a difference between:
>
> 1/ the nature of the file = e.g. not a source code file but a data file
> 2/ the location of the file = in site-packages as opposed to anywhere else
>
> The name "resource" for me is only defined by 1/ and I don't see any
> confusion or opposed definitions in that naming.
> Neither did the people that worked on this feature.
>
> But if you feel it's confusing, I am all for a separate name - I can't
> think of another one though, do you have one in mind ?

Seems to me that "... files used by the project which must not
be installed in the same place that python modules or libraries, they
are called resources" and "resources = ..." in the setup.cfg contradicts 
existing understanding of what a resource is in terms of Python 
packaging.  At least I was confused.

If you don't want another name, I suppose you could define the keys as 
actions you take against resources in setup.cfg

copy_resources =
    doc/doc/man = destination_doc

and/or

move_resources = ...
    doc/doc/man = destination_doc

And change the docs to define resource as something that indeed does 
live in a package, at least until it's moved by the installer, and that 
you can ensure they are copied or moved by using "copy_resources" and/or 
"move_resources".

- C



More information about the Distutils-SIG mailing list