pypi /

Filename Size Date modified Message
6 B
ignore pycs
123 B
add .idea to ignore
1.7 KB
1.4 KB
add license; BSD boilerplate
3.5 KB
add ability to configure TLS and Authentication for sending PyPI mail
208 B
Add SSH remote access.
2.0 KB
moar clues stolen from dstufft
1.2 KB
turns out there's README.pdf .. and probably others...
0 B
*** empty log message ***
12.9 KB
more fix
238 B
Add a script and little server to run PyPI
2.8 KB
enable secure cookies for authomatic
6.9 KB
enable secure cookies for authomatic
4.2 KB
Merged in msabramo/pypi/fix_typo_emty (pull request #65)
19.6 KB
added browsing a-la Flamenco, thanks amk
14.8 KB
favicon needs to be in the root
4.0 KB
Notify users about duplicate email addresses.
3.6 KB
import redis
2.1 KB
agh static analysis
2.2 KB
Include a migration path for moving legacy users to a stronger hash
833 B
Force file name to match package name. Fixes #1901694.
269 B
Update e location.
139 B
path changes for ximinez
23.0 KB
handle form data with more than one value per key
7.3 KB
"fix" sqlite3 handling of timestamp in this one edge case
929 B
updates for debugging in testpypi
30.0 KB
capture and report errors in python-openid association
71.5 KB
fix deleting of users
1.8 KB
Make the config.ini file relative
1.9 KB
Make directories (and other files) group-writable.
2.0 KB
Make the config.ini file relative
4.3 KB
working oauth flow... needs to actually do something with it
10.7 KB
bring me in line with python cvs
7.9 KB
requests version of OAuth client access
822 B
woot, got what we need to migrate
9.2 KB
use elastic search for rpc search call
1.2 KB
add more useful information
195 B
Add SSH remote access.
837 B
Make the config.ini file relative
4.6 KB
Make the config.ini file relative
106.8 KB
Login with Google works! migrating openids to subs
1.3 KB
cache calls to slow rpc methods
19.3 KB
committing changes from running server (all robustification)
1.6 KB
Add browse support to the store, add levels.
2.0 KB
reduce MSI magic number to 8 bytes to allow more MSIs through
16.0 KB
remove workaround and update verlib to the bugfixed implementation
3.3 KB
match what is present in distutils
155.0 KB
CSRF for openid claim

Required packages

To run the PyPI software, you need Python 2.5+ and PostgreSQL

Quick development setup

Make sure you read 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 .
$ pip install -r requirements.txt

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.

PyPI Requires the citext extension to be installed.

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

Restarting PyPI

PyPI has 2 different pieces that need started, web server and the task runner.

# Restart the web server $ /etc/init.d/pypi restart # Restart the task runner $ initctl restart pypi-worker

Clearing a stuck cache

Users reporting stale data being displayed? Try:

curl -X PURGE

(where the URL is the relevant one to the issue, I presume)

To see what fastly thinks it knows about a page (or how it's getting to you) try:

curl -I -H 'Fastly-Debug: 1'