Differences between revisions 24 and 25
Revision 24 as of 2006-07-07 08:08:13
Size: 4096
Editor: pb-d-128-141-38-136
Comment:
Revision 25 as of 2006-07-07 08:30:22
Size: 4201
Editor: pb-d-128-141-224-159
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:

Developers with access may use this URL:

  svn+ssh://svn.python.org/data/repos/packages/trunk/pypi

This page documents the development of the Python Cheese Shop:

The PyPI (packages index, Cheese Shop web interface) code resides in SVN at:

Developers with access may use this URL:

Requests for new Trove categories:

  • Python frameworks with plugins or packages that target the framework can get their own category. The category should only be added *after* such packages exist. Complimentary packages can link to each other from their descriptions, they do not need a category to link them together; only when packages are provided by different people does a category need to be created. To ask for a category email

    catalog-sig@python.org.

Patches and bug reports should be submitted to:

Discussion about the Cheese Shop should be had on the Catalog SIG mailing list:

XML-RPC Interface

The Cheese Shop has an XML-RPC interface. See CheeseShopXmlRpc for details.

TO-DO list

  • validate GPG key id on input (oh, and document wtf a key id is and how to make one etc)
  • [http://www.python.org/peps/pep-0345.html PEP for metadata 1.2] -- not finished and needs more catalog-sig discussion)

  • auto-generate download_urls for package uploads
  • command-line tool to query pypi and fetch entries
  • DOAP support
  • documented procedures for "taking over" entries should the original owner of the entry go away (and any required system support)
  • tooltips for field labels
  • change notification emails
  • auto-compute [http://pycheesecake.org Cheesecake] scores

  • moderated user reviews and ratings
  • "what's related" using classifiers and possibly user-supplied information

Something that's been requested, but needs much more thought and analysis to see whether it causes any problems: the ability to treat project names and versions as case-insensitive, while removing extraneous characters (as in pkg_resources.safe_name()) for purposes both of searching and determining name uniqueness when registering.

Not Going TO-DO

  • Edit [http://www.python.org/peps/pep-0243.html PEP 243] to reflect reality. The interface is implemented in the distutils register and upload commands. This code is good enough for documentation, especially because it's the only implementation necessary.

Development Environment Hints

Before restoring database, "pypi" role must exists:

  • createuser pypi

These are notes so we can remember how to dump / restore the packages database:

  • pg_dump -Fc -b packages >packages-20060706.dump createdb packages pg_restore -O -d packages -Fc packages-20060706.dump

Ask RichardJones if you need a database dump.

PageTemplates are obtained from:

  • svn co svn://svn.zope.org/repos/main/zope.pagetemplate/trunk zope. pagetemplate svn co svn://svn.zope.org/repos/main/zope.tal/trunk zope.tal svn co svn://svn.zope.org/repos/main/zope.interface/trunk zope.interface svn co svn://svn.zope.org/repos/main/zope.i18nmessageid/trunk zope.i18nmessageid svn co svn://svn.zope.org/repos/main/zope.tales/trunk zope.tales

We also need to install ez_setup and docutils.

Then go ahead and edit pypi.ini and this line in pypi.cgi:

  • cfg = config.Config('/tmp/pypi.ini', 'webui')

if your config.ini isn't in /tmp/pypi.ini. You can leave it as 'config.ini' if it's in the same directory as pypi.py.

If you wish to test functionality that requires login, then you will need to configure your apache to pass through basic auth. You do this by adding lines similar to the following to your apache2 conf file:

  RewriteCond %{HTTP:Authorization}  ^(.+)$

  RewriteRule ^/cgi-bin/pypi.cgi(.*) /Library/WebServer/CGI-Executables/pypi.cgi$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]

If this doesn't work, then you can use these lines to debug:

  RewriteLog /var/log/httpd/rewrite.log

  RewriteLogLevel 9

CheeseShopDev (last edited 2019-08-23 10:57:11 by SumanaHarihareswara)

Unable to edit the page? See the FrontPage for instructions.