Package eggbasket :: Module release
[hide private]

Module release

source code

A simple, lightweight Python Package Index (aka Cheeseshop) clone.

Overview

EggBasket is a web application which provides a service similar and compatible to the Python Package Index (aka Cheeseshop). It allows you to maintain your own local repository of Python packages required by your installations.

It is implemented using the TurboGears web framework, Genshi and SQLAlchemy.

Warning

This is still alpha-stage software. All the basic operations necessary to support a setuptools-based infrastructure are there, but some convenience features are missing and the software has not been tested extensively. Use at your own risk!

Features

Todo

Acknowledgments

This application is a re-implementation (almost no shared code) of the haufe.eggserver Grok application with some improvements.

Installation

To install EggBasket from the Cheeseshop use easy_install:

[sudo] easy_install EggBasket

This requires the setuptools package to be installed. If you have not done so already, download the ez_setup.py script and run it to install setuptools.

Usage

EggBasket server

Using EggBasket with distutils & easy_install

Permissions

EggBasket uses a simple, role-based permission system to grant/restrict access to the functions of the server. Here is a list of the defined permissions and their meaning:

You can let EggBasket create an initial admin user, groups and permissions in the database by giving the --init option to the eggbasket-server command:

eggbasket-server --init [<config file>]

This will create the following objects and relations in the database:

The groups "anonymous" and "authenticated" are special groups to which all anonymous (i.e. not logged in) resp. all authenticated (logged in) users belong automatically.

With the default permission setup, uploading through the server is restricted to users that are members of a group that has the "upload" permission. The configuration page can only be accessed by members of the "admin" group. Everything else can be accessed all users, whether authenticated or not.

Please note that if you want to give a certain permission to all users, whether logged in or not, you need to give this permission to both the "anonymous" AND the "authenticated" group. This is what the standard permission setup already does for all permissions except "upload".

See the TurboGears documentation on Identity for background information.

Variables [hide private]
  name = 'EggBasket'
  version = '0.6b'
  date = '$Date: 2008-06-30 21:50:55 +0200 (Mo, 30 Jun 2008) $'
  _doclines = ['A simple, lightweight Python Package Index (aka ...
  description = 'A simple, lightweight Python Package Index (aka...
  long_description = 'Overview\n--------\n\nEggBasket_ is a web ...
  author = 'Christopher Arndt'
  author_email = 'chris@chrisarndt.de'
  copyright = '(c) 2008 Christopher Arndt'
  license = 'MIT License, Zope Public License (rest.py), BSD Lic...
  url = 'http://chrisarndt.de/projects/eggbasket/'
  download_url = 'http://cheeseshop.python.org/pypi/EggBasket'
  keywords = ['turbogears.app']
  classifiers = ['Development Status :: 4 - Beta', 'Operating Sy...
  line = ''
Variables Details [hide private]

_doclines

Value:
['A simple, lightweight Python Package Index (aka Cheeseshop) clone.',
 '',
 'Overview',
 '--------',
 '',
 'EggBasket_ is a web application which provides a service similar and\
 compatible',
 'to the `Python Package Index`_ (aka Cheeseshop). It allows you to ma\
...

description

Value:
'A simple, lightweight Python Package Index (aka Cheeseshop) clone.'

long_description

Value:
'''Overview
--------

EggBasket_ is a web application which provides a service similar and c\
ompatible
to the `Python Package Index`_ (aka Cheeseshop). It allows you to main\
tain your
own local repository of Python packages required by your installations\
...

license

Value:
'MIT License, Zope Public License (rest.py), BSD License (odict.py)'

classifiers

Value:
['Development Status :: 4 - Beta',
 'Operating System :: OS Independent',
 'Programming Language :: Python',
 'Topic :: Software Development :: Libraries :: Python Modules',
 'Framework :: TurboGears',
 'Framework :: TurboGears :: Applications']