[Distutils] [PATCH] Write distribution meta-data an XML file

Amos Latteier amos@digicool.com
Sat Mar 10 00:36:00 2001


> Amos, we had agreed to this step at the conference. Great
> mind reading!

Actually it you guys who were reading my mind ;-)
 
> I agreed to send information about some potential
> existing XML formats.

Let's first figure out our requirements. My main concern is
to allow the catalog to get access to a distribution's
meta-data. I don't think that it's too important to choose
an existing stardard because we already have a distutils
meta-data schema (though not a standard XML representation
of it) and I don't see much need to communicate distutils
distribution meta-data to existing systems (with the
exception of the Vaults of Parnasus - though I don't think
it has any support for this now). Perhaps others disagree. 

Given these requirements, I think that the home-cooked
format that I proposed is fine. BTW, for those who haven't
checked out the patch here an example of the format:

          <metadata>
            <item>
              <name>name</name>
              <value>Distutils</value>
            </item>
            <item>
              <name>version</name>
              <value>1.0.1</value>
            </item>
            ...
          </metadata>

This format has the advantages of not requiring that
meta-data names be legal XML element names. It also does not
impose any particular meta-data schema. It just requires
that meta-data consist of a sequence of name, value pairs.

If we adapt an existing format it will probably require
changing the meta-data schema that the distutils currently
use. My guess is that unless this buys us compatibility with
some useful existing system it will not be worth it,
considering how hard-coded the existing meta-data schema
seems to be within the distutils code. 

> Programmer's Package Description (PPD) is defined here:
> 
> http://velocity.activestate.com/docs/ActivePerl/site/lib/XML/PPD.html

This has some Perl specific stuff. It also uses different
meta-data than the distutils currently does. I'm not sure if
this format has much to offer us.

> PPD is based on OSD:
> 
> 	http://www.w3.org/TR/NOTE-OSD.html
> 
> which is a pseudo-standard that never got much traction.

Are there any systems that use this format? It has some
interesting features, but again, I don't think it maps very
well onto the existing distutils meta-data schema.

> I've also stumbled across this one:
> 
> 	http://www.asp-shareware.org/pad/

This seems again to be more complex than we need, and does't
seem to map well onto the existing meta-data schema, and
doesn't seem to be used by any relevant systems.

I think the real question is whether we want to change the
distutils meta-data schema or not.

Meta-data schemas seem to be a contentious issue. I don't
have any stong feelings on the matter. I just want to make
meta-data easily available outside setup.py.

-Amos