RFC: PEP243: Module Repository Upload Mechanism
Included below is the version of PEP243 after it's initial round of review.
I welcome any feedback.
Thanks,
Sean
============================================================================
PEP: 243
Title: Module Repository Upload Mechanism
Version: $Revision$
Author: jafo-pep@tummy.com (Sean Reifschneider)
Status: Draft
Type: Standards Track
Created: 18-Mar-2001
Python-Version: 2.1
Post-History:
Discussions-To: distutils-sig@python.org
Abstract
For a module repository system (such as Perl's CPAN) to be
successful, it must be as easy as possible for module authors to
submit their work. An obvious place for this submit to happen is
in the Distutils tools after the distribution archive has been
successfully created. For example, after a module author has
tested their software (verifying the results of "setup.py sdist"),
they might type "setup.py sdist --submit". This would flag
Distutils to submit the source distribution to the archive server
for inclusion and distribution to the mirrors.
This PEP only deals with the mechanism for submitting the software
distributions to the archive, and does not deal with the actual
archive/catalog server.
Upload Process
The upload will include the Distutils "PKG-INFO" meta-data
information (as specified in PEP-241 [1]), the actual software
distribution, and other optional information. This information
will be uploaded as a multi-part form encoded the same as a
regular HTML file upload request. This form is posted using
ENCTYPE="multipart/form-data" encoding [RFC1867].
The upload will be made to the host "modules.python.org" on port
80/tcp (POST http://modules.python.org:80/swalowpost.cgi). The form
will consist of the following fields:
distribution -- The file containing the module software (for
example, a .tar.gz or .zip file).
distmd5sum -- The MD5 hash of the uploaded distribution,
encoded in ASCII representing the hexadecimal representation
of the digest ("for byte in digest: s = s + ('%02x' %
ord(byte))").
pkginfo (optional) -- The file containing the distribution
meta-data (as specified in PEP-241 [1]). Note that if this is not
included, the distribution file is expected to be in .tar format
(gzipped and bzipped compreesed are allowed) or .zip format, with a
"PKG-INFO" file in the top-level directory it extracts
("package-1.00/PKG-INFO").
infomd5sum (required if pkginfo field is present) -- The MD5 hash
of the uploaded meta-data, encoded in ASCII representing the
hexadecimal representation of the digest ("for byte in digest:
s = s + ('%02x' % ord(byte))").
platform (optional) -- A string representing the target
platform for this distribution. This is only for binary
distributions. It is encoded as
"
participants (4)
-
Amos Latteier
-
Carey Evans
-
John J. Lee
-
Sean Reifschneider