Source

pypi /

Filename Size Date modified Message
doc
pydotorg
templates
tests
tools
6 B
79 B
1.7 KB
1.4 KB
3.2 KB
208 B
2.0 KB
1.2 KB
0 B
10.8 KB
238 B
1.6 KB
4.2 KB
8.9 KB
19.6 KB
4.0 KB
2.1 KB
2.2 KB
833 B
269 B
139 B
23.0 KB
7.3 KB
28.4 KB
10.6 KB
2.0 KB
1.7 KB
5.2 KB
1.9 KB
1.8 KB
2.8 KB
10.7 KB
7.9 KB
7.9 KB
1.2 KB
195 B
689 B
4.5 KB
101.6 KB
8.6 KB
19.3 KB
1.6 KB
2.1 KB
16.0 KB
3.3 KB
137.0 KB

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
  • six
  • python-openid
  • raven
  • passlib
  • py-bcrypt (If using the recommended bcrypt hasher)
  • itsdangerous
  • defusedxml
  • requests

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 .
$ pip install zope.interface zope.pagetemplate
$ pip install zope.tal zope.tales zope.i18nmessageid psycopg2
$ pip install docutils M2Crypto python-openid raven
$ pip install passlib py-bcrypt
$ pip install itsdangerous six distutils2
$ pip install defusedxml
$ pip install requests

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

$ 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.

TestPyPI Database Setup

testpypi runs under postgres; because I don't care to fill my head with such trivialities, the setup commands are:

createdb -O testpypi testpypi psql -U testpypi testpypi <pkgbase_schema.sql