[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hendry@iki.fi: Re: Python packaging questions]



2006/2/4, Kai Hendry <hendry@iki.fi>:
> 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



Reply to: