pypi / README

Required packages
-----------------

To run the PyPI software, you need Python 2.5+,
PostgreSQL, and all these packages located at PyPI:

- zope.interface
- zope.pagetemplate
- zope.tal
- zope.tales
- zope.i18nmessageid
- psycopg2 (for testing, sqlite3 might be sufficient)
- docutils
- M2Crypto
- distutils2
- python-openid
- raven
- passlib
- py-bcrypt (If using the recommended bcrypt hasher)
- itsdangerous

Quick development setup
-----------------------

Make sure you read http://wiki.python.org/moin/CheeseShopDev#DevelopmentEnvironmentHints
and you have a working PostgreSQL DB.

Make sure your config.ini is up-to-date, initially copying from
config.ini.template. Change CONFIG_FILE at the begining of pypi.wsgi,
so it looks like this::

    CONFIG_FILE = 'config.ini'

Then, you can create a development environment like this, if you have
virtualenv installed::

    $ virtualenv --no-site-packages --distribute .
    $ bin/easy_install zope.interface zope.pagetemplate
    $ bin/easy_install zope.tal zope.tales zope.i18nmessageid psycopg2
    $ bin/easy_install docutils M2Crypto python-openid raven
    $ bin/easy_install passlib py-bcrypt
    $ bin/easy_install itsdangerous

Then you can launch the server using the pypi.wsgi script::

    $ bin/python pypi.wsgi
    Serving on port 8000...

PyPI will be available in your browser at http://localhost:8000

Database Setup
--------------

To fill a database, run pkgbase_schema.sql on an empty Postgres database.
Then run tools/demodata to populate the database with dummy data.

For testing purposes, run tools/mksqlite to create packages.db. Set
[database]driver to sqlite3, and [database]name to packages.db, then
run tools/demodata to populate the database.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.