A Django application that emulates the Python Package Index.
Project description
DjangoPyPI
DjangoPyPI is a Django application that provides a re-implementation of the Python Package Index.
Installation
Path
The first step is to get djangopypi into your Python path.
Buildout
Simply add djangopypi to your list of eggs and run buildout again it should downloaded and installed properly.
EasyInstall/Setuptools
If you have setuptools installed, you can use easy_install djangopypi
Manual
Download and unpack the source then run:
$ python setup.py 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:
[distutils] index-servers = pypi local [pypi] username:user password:secret [local] username:user password:secret repository:http://localhost:8000/pypi
Uploading a package: Python >=2.6
To push the package to the local pypi:
$ python setup.py 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 setup.py mregister -r local sdist mupload -r local
History
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 pypi.python.org
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 (runeh@opera.com).
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
Roadmap
0.4
Distribution uploads (files for releases)
RSS support for release index, packages, releases
‘list_classifiers’ action handler
0.5
Ratings/comments views/admin
PKG-INFO view of a release (auto generated from package_info field)
Future
Documentation hosting/upload
PEP-381: Mirroring integration for PyPI
API to submit test reports for smoke test bots. Like CPAN Testers. Platform/version/matrix etc.
Dependency graphs
Package file browser (like CPAN)
Documentation
Write a tutorial on how to set up the server, registering projects, and how to upload releases.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.