0.10.0 (in development)

  • Add support for multiple indexes (repositories). Indexes can be managed via the web interface
  • Implement teams
  • Create separate user access keys and make the existing credentials only work in combination with repositories.
  • Update interface to bootstrap 3
  • Add support for Python 3.3 and 3.4
  • Update django-storages to django-storages-redux
  • The LOCALSHOP_PYPI_URL is removed and now configurable per repository
  • Add button to package detail dashboard template to mirror a package release file.


  • BUGFIX: Invalid template path in config. Fixes #149


  • BUGFIX: Validate package name before save.


  • Added optional package version checking using the Versio library.


  • Fixed a bug added by the in the #137 fix. Package upload was not working correctly.


  • Fixed bug #139. XMLRPC endpoints were broken.


  • Fixed bug #137. Twine replaces underscores with hyphen in package names. This caused localshop to create a new package instead of using the existing.


  • Changed the simple_detail view so that it creates the Package model asynchronously.


  • Localshop no longer uses the PyPI XmlRPC API. It was replaced with the the JSON API.
  • Fixed issue #134


  • Localshop return a redirect when the MEDIA_URL is set.


  • Upgraded to Django 1.7
  • Dropped Python 2.6 support
  • Fixed bug #117 (Localshop return a 404 when uploading a package from a python version >=2.7.9 or >=3.4.2
  • Fixed bug #116 (Localshop returns a 500 error when trying to download a package with a missing file in disk)


  • Allow localshop to be initialised without any interaction, useful for
  • automating installation Fix downloading packages with mismatched underscore vs dashes in the package names.
  • Switch to pytest Include various fixes (see pull-requests / contributors)

0.4.1 (2013-01-23)

  • Fix a bug which resulted in throwing 404’s for packages which have a dot in the name.

0.4.0 (2013-01-07)

  • Use django-userena for authentication
  • Use django-configurations and now uses the optional custom settings at ~/ Logan is now also not used anymore.
  • Add additional separate credentials for uploading and downloading from the pypi instance (using access/secret keys).
  • Implement support for ‘pip search’
  • Many other improvements! (thanks Jannis Leidel)


  • Use Django 1.4 and restructure the app layout
  • Other minor bugfixes


  • Don’t display the download_url or home_page url if they are unknown
  • Add correct rel-tag to the urls


  • Use the correct LOGIN_URL setting.
  • Add download_url and home_page url to the simple detail page. note that this is currently not mirrored yet.


  • Implement configurable access control / ip check


  • Fix distutils interface
  • Add missing requirement (docutils)


  • Refactor client validation for /simple and download


  • Add setting to list ip addresses which have access to download packages, LOCALSHOP_ALLOWED_REMOTE_IPS.


  • Initial release