Skip to main content

A Django application that emulates the Python Package Index.

Project description


DjangoPyPI is a Django application that provides a re-implementation of the Python Package Index.



The first step is to get djangopypi into your Python path.


Simply add djangopypi to your list of eggs and run buildout again it should downloaded and installed properly.


If you have setuptools installed, you can use easy_install djangopypi


Download and unpack the source then run:

$ python install

Django Settings

Add djangopypi to your INSTALLED_APPS setting and run syncdb again to get the database tables [1].

Then add an include in your url config for djangopypi.urls:

urlpatterns = patterns("",
    url(r'', include("djangopypi.urls"))

This will make the repository interface be accessible at /pypi/.

Uploading to your PyPI

Assuming you are running your Django site locally for now, add the following to your ~/.pypirc file:

index-servers =



Uploading a package: Python >=2.6

To push the package to the local pypi:

$ python register -r local sdist upload -r local

Uploading a package: Python <2.6

If you don’t have Python 2.6 please run the command below to install the backport of the extension for multiple repositories:

$ easy_install -U collective.dist

Instead of using register and dist command, you can use mregister and mupload which are a backport of python 2.6 register and upload commands that supports multiple servers.

To push the package to the local pypi:

$ python mregister -r local sdist mupload -r local


0.4.7 (2015-10-27)

  • bug fix to conform to new distutils http upload format

0.4.6 (2015-10-26)


  • thought I had solved the distutils issue but was wrong md5 has error when downloading the package

0.4.5 (2015-10-13)


  • thought I had solved the distutils issue but was wrong database error for md5 hash length upon upload

0.4.4 (2012-04-18)

  • xmlrpc bug fixes

  • CSRF token template tags on forms

  • Transaction bug fixes

  • Switched to logging over stdout

  • Proxy simple and detail views when necessary

  • Removed unused legacy view, submit_package_or_release

  • ppadd management command working again

0.4.3 (2011-02-22)

  • Moved xmlrpc views into views folder

  • Moved xmlrpc command settings to the settings file

  • Cleaned up xmlrpc views to remove django.contrib.sites dependency

0.4.2 (2011-02-21)

  • Added CSRF support for Django>=1.2

  • Added conditional support to proxy packages not indexed

0.4.1 (2010-06-17)

  • Added conditional support for django-haystack searching

0.4 (2010-06-14)

  • ‘list_classifiers’ action handler

  • Issue #3: decorators imports incompatible with Django 1.0, 1.1

  • RSS support for release index, packages

  • Distribution uploads (files for releases)

0.3.1 (2010-06-09)

  • Installation bugfix

0.3 (2010-06-09)

  • Added DOAP views of packages and releases

  • Splitting djangopypi off of chishop

  • Switched most views to using django generic views

Backwards incompatible changes

  • Refactored package/project model to support multiple owners/maintainers

  • Refactored release to match the metadata only that exists on

  • Created a Distribution model for distribution files on a release

0.2.0 (2009-03-22)

  • Registering projects and uploading releases now requires authentication.

  • Every project now has an owner, so only the user registering the project can add releases.

  • md5sum is now properly listed in the release link.

  • Project names can now have dots (‘.’) in them.

  • Fixed a bug where filenames was mangled if the distribution file already existed.

  • Releases now list both project name and version, instead of just version in the admin interface.

  • Added a sample buildout.cfg. Thanks to Rune Halvorsen (

Backwards incompatible changes

  • Projects now has an associated owner, so old projects must be exported and imported to a new database.

0.1.0 (2009-03-22)

  • Initial release


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangopypi-0.4.7.tar.gz (31.1 kB view hashes)

Uploaded Source

Built Distribution

djangopypi-0.4.7-py2.7.egg (97.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page