[Python-Dev] "setuptools has divided the Python community"

Guido van Rossum guido at python.org
Thu Mar 26 19:54:14 CET 2009


2009/3/26 Toshio Kuratomi <a.badger at gmail.com>:
> Guido van Rossum wrote:
>> On Wed, Mar 25, 2009 at 9:40 PM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:
>>> I think Distutils (and therefore Setuptools) should provide some APIs
>>> to play with special files (like resources) and to mark them as being special,
>>> no matter where they end up in the target system.
>>>
>>> So the code inside the package can use these files seamessly no matter
>>> what the system is
>>> and no matter where the files have been placed by the packager.
>>>
>>> This has been discussed already but not clearly defined.
>>
>> Yes, this should be done. PEP 302 has some hooks but they are optional
>> and not available for the default case. A simple wrapper to access a
>> resource file relative to a given module or package would be easy to
>> add. It should probably support four APIs:
>>
>> - Open as a binary stream
>> - Open as a text stream
>> - Get contents as a binary string
>> - Get contents as a text string
>>
> Depending on the definition of a "resource" there's additional
> information that could be needed.  For instance, if resource includes
> message catalogs, then being able to get the base directory that the
> catalogs reside in is needed for passing to gettext.

Well the whole point is that for certain loaders (e.g. zip files)
there *is* no base directory. If you do need directories you won't be
able to use PEP-302 loaders, and you can just use
os.path.dirname(<some_module>.__file__).

> I'd be very happy if "resource" didn't encompass that type of thing,
> though... then we could have a separate interface that addressed the
> issues with them.  I'll be at PyCon (flying in late tonight, though, and
> leaving Sunday) if Tarek and others want to get ahold of me to discuss
> possible ways to address what's a resource, what's not, and what we
> would need to handle the different cases.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list