Has a decision been made whether to include setuptools in 2.5? If it is going to be included, then I'll update doctest to use pkg_resources to find doctest text files. If it isn't going to be included then I'll have a quandry. :) I guess that in that case, I'd have to use some conditional logic. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
At 10:30 AM 1/15/2006 -0500, Jim Fulton wrote:
Has a decision been made whether to include setuptools in 2.5?
It hasn't been proposed, and I don't think it's likely. setuptools is still alpha (although I think it's starting to reach beta quality) and there are a lot of features left to implement before 1.0. I do think it's quite possible that quite a lot of setuptools could reasonably be backported to the distutils, including some of its command conveniences (aliases, configuration-saving, distribution rotation, etc.), utility functions (e.g. find_packages), and so on. The parts that are both stable and not specific to eggs, in other words, as these are less likely to be controversial. :)
If it is going to be included, then I'll update doctest to use pkg_resources to find doctest text files. If it isn't going to be included then I'll have a quandry. :) I guess that in that case, I'd have to use some conditional logic.
I'd suggest something like this, which will give you a compatible API and will work with any zipped packages, not just eggs: import sys, os def _get_path_and_loader(package_name, resource_name): try: module = sys.modules[moduleName] except KeyError: __import__(moduleName) module = sys.modules[moduleName] loader = getattr(module, '__loader__', None) parts = resource_name.split('/') path = os.path.join(os.path.dirname(module.__file__),*parts) return path, loader def resource_string(package_name, resource_name): path,loader = _get_path_and_loader(package_name, resource_name) if loader is None: f = open(path,'rb') try: return f.read() finally: f.close() else: return loader.get_data(path) try: from pkg_resources import resource_string except ImportError: pass (Note that if 'resource_name' includes a subdirectory path under the associated package, it should use '/' as a separator, not the local os.sep character, as pkg_resources uses distutils-style paths for "resources".)
Phillip J. Eby <pje@telecommunity.com> wrote:
I do think it's quite possible that quite a lot of setuptools could reasonably be backported to the distutils, including some of its command conveniences (aliases, configuration-saving, distribution rotation, etc.), utility functions (e.g. find_packages), and so on. The parts that are both stable and not specific to eggs, in other words, as these are less likely to be controversial. :)
That'd be great to do. I think also of fixes to MANIFEST, understanding of cvs/svn metafiles, etc. Are you really planning to have those integrated into distutils for 2.5? Giovanni Bajo
participants (3)
-
Giovanni Bajo -
Jim Fulton -
Phillip J. Eby