2006/2/4, Kai Hendry <[EMAIL PROTECTED]>: > I am new to python packaging and I'm a little concerned about this > 'setup.py'. > > It duplicates debian/control. So whilst maintaining one I have to worry > about keeping debian/control and that setup.py in sync. Argh! > > I'm not even sure *where* and *what* setup.py does with this values like > keywords, platforms and classifiers *on a Debian system*. I think they > aren't necessary, so can I do without it?
Python package metadata are used for Python package index. It may be used for other tools too. Documents to read are: PEP 241: Metadata for Python Software Packages PEP 314: Metadata for Python Software Packages v1.1 PEP 345: Metadata for Python Software Packages 1.2 Reading the last one is enough if you aren't interested in history. http://www.python.org/peps/pep-0345.html Python package index (http://cheeseshop.python.org/pypi) web interface and commands are documented in this PEP: PEP 301: Package Index and Metadata for Distutils http://www.python.org/peps/pep-0301.html Now, to this specific question: You *do not* need to specify any metadata to use setup.py. Here's setup.py I wrote specifically for packaging SimpleParse in Debian: # Python distutils script for Debian package # Seo Sanghyeon from distutils.core import setup setup(packages=[ 'simpleparse', 'simpleparse.common', 'simpleparse.xml', ]) That's all. setup.py is a good idea in that it is the standard in Python community. It's widely understood and it works anywhere Python works. Most upstream uses it. But in case of feedparser and web.py, aren't they just a single file? I can't blame upstream for not interested in setup.py. I'm not sure what Joe Wreschnig means when he says it's "unmanagable". I think simple dh_install is fine for a single file package. Seo Sanghyeon