pypi /

Filename Size Date modified Message
6 B
ignore pycs
117 B
Be a bit more generous about ignores to support developing on PyPI.
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.
1.7 KB
Expect users to install the extensions themselves
1.2 KB
turns out there's README.pdf .. and probably others...
0 B
*** empty log message ***
11.8 KB
238 B
Add a script and little server to run PyPI
2.3 KB
update pkgbase_schema.sql
4.8 KB
use getboolean to render on/off true/fasle out of config.ini
8.9 KB
turns out there's README.pdf .. and probably others...
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.
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
28.4 KB
Work around lack of .total_seconds() in 2.6.
71.3 KB
update pkgbase_schema.sql
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
3.6 KB
remove newrelic
10.7 KB
bring me in line with python cvs
7.9 KB
requests version of OAuth client access
738 B
Update passlib
8.1 KB
Add the rolling download counts into the API
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
105.7 KB
allow count and worker redis URIs to be independently configured
1.0 KB
Simplify the purge API and only hit it once
19.3 KB
committing changes from running server (all robustification)
1.6 KB
Add browse support to the store, add levels.
2.1 KB
Support Wheel files. Requested by Michele Lacchia.
16.0 KB
remove workaround and update verlib to the bugfixed implementation
3.3 KB
match what is present in distutils
144.0 KB
add Surrogate-Key for cache invalidation of json response on package update

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