On 12/23/2009 10:42 PM, Lennart Regebro wrote:
On Wed, Dec 23, 2009 at 23:28, Sridhar Ratnakumar
<sridh...@activestate.com>  wrote:
I suggested PyPI to disallow mere project listings (without sources) and
require sources to be stored in the server.  One way to achieve this is
requiring package authors to use the `sdist upload` toolchain

Which only means the packages who now is not uploaded wouldn't even be
listed on PyPI, which is not an improvement.

We can do this only for the new projects/uploads. Existing data can be left as it is for backwards compatibility. Here's my updated proposal:

[Sridhar's proposal]
How do you propose to change that?

By requiring authors to upload sdists + metadata now onwards.

'sdist upload' would upload the sdist to /packages/source and also have PyPI 
generate the metadata from the uploaded sdist. Eg:

  /packages/source/f/foo-0.1.tar.gz
  /packages/source/f/foo-0.1.tar.gz.PKG-INFO
  /packages/source/f/foo-0.1.tar.gz.requires.txt (optional)

If the author prefers to use the web browser to upload, then their sdist must 
contain setup.py and PKG-INFO (w/ at least 'name' and 'version').

I would leave the existing setup as it is .. so easy_install/pip would continue 
to install packages like Twisted, ClientCookie that, at the moment, do not have 
their sdists uploaded in PyPI.

...


While the specific case mentioned above (metadata for a specific or the
latest version of a package) uses HTTP GET and XML, generally speaking .. to
get a) the list of recently releases, b) list of all versions of a package,
one has to use the XmlRpc API methods `changelog` and `package_releases`
respectively.

Well, maybe pure http versions of those would help,

Nope, it matters not whether the metadata can be retrived via a simple HTTP GET or XmlRpc.

but on the other
hand, if you automate it, why not use xml-rpc?

Because my intention is to have a simple mirror archive (files, directories) that can be mirrored using tools like rsync.

As often as the mirror sites would update their content (i.e., one or more
times a day).

I meant that most of the third-party apps would only need the
metadata, or? I might be wrong, I haven't written any yet. :-) The
automated documentation that was discussed would only need the source
packages.

Metadata is definitely needed. Otherwise, I'd have to extract the tarball of each and every release of a pacticular package, in order to even find their version number (it is unreliable to parse the filename to get version number).

As for the sdists, the following tools would need it: testing service, quality ratings, thirdparty package managers (enstaller, PyPM) .. and not to mention the various mirror sites.

-srid



_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to