An implementation of a PyPi server
Project description
ClueReleaseManager is an implementation of the PyPi server backend as provided by http://pypi.python.org. It uses SQLAlchemy (on top of sqlite by default) to store all project metadata and the filesystem for storing project files.
Current Features
User registration via setuptools
File upload (ie eggs) via setuptools
Basic authentication based security
Simple index browsing
Upcoming Features
Full http://pypi.python.org PyPi server compatibility
Requirements
Python 2.5
setuptools
SQLAlchemy 0.5rc4 or higher
repoze.who 1.0.8 or higher
Werkzeug 0.4 or higher (less than 0.5 which has issues)
Installation
Install using the easy_install tool such as:
$ easy_install ClueReleaseManager
Usage
Once ClueReleaseManager is installed, the script cluerelmgr-server will be created to launch the server. See cluerelmgr-server --help for further usage details.
By default ClueReleaseManager will create a cluerelmgr.db sqlite3 db file in the current directory (where the server is running from). It will also create a files directory in the same place which is used to store all uploaded files.
Use the cluerelmgr-admin script to setup initial configuration. The following example configures a new user, adds them to a managers group, and gives the manager group all access to all distros:
$ cluerelmgr-admin updateuser user1 somepass someemail $ cluerelmgr-admin updategroup managers adddistro reader $ cluerelmgr-admin updateusersgroups user1 managers
Want to give anonymous users access to everything? (The anonymous user is a special user that cannot have a password named anonymous) You can now just add them to the newly created managers group:
$ cluerelmgr-admin updateusersgroups anonymous managers
User registration can occur through the standard python setup.py register <someproject> command (which gives you an option for registration) or by manually inserting a user record into the cluerelmgr.db file.
Server Command-Line Options
Usage: cluerelmgr-server [options] Options: -h, --help show this help message and exit -p PORT, --port=PORT Port to listen on, defaults to 8080 -i HOST, --interface=HOST Host to listen on, defaults to 0.0.0.0 -b BASEFILEDIR, --basefiledir=BASEFILEDIR Base directory to store uploaded files, defaults to files -d, --debug Activate debug mode -s, --self-register Allow self-registration -u BASEURL, --baseurl=BASEURL The base url used in case of proxying --security-config=SECURITY_CONFIG Use a separate configuration file to declare the repoze.who config. See http://static.repoze.org/whodocs /#middleware-configuration-via-config-file for details. --backup-pypi=BACKUP_PYPIS Python indexes to fall back to. When backup index servers are configured they will be queried if the user browsing this server has the adddistro role and the this server will be updated with all metadata and files.
Credits
Created and maintained by Rocky Burt <rocky@serverzen.com>. .. --rst--
Changelog
0.3.2 - June 24, 2009
Updated requirements to require Werkzeug < 0.5
reStructuredText parsing now handles errors
Pointing distutils/setuptools to the index without the /simple suffix now works
0.3.1 - Apr 18, 2009
Can now setup an index (admin setupindex) based on a virtualenv
Added batching/paging support for latest changed distros on main page
Uncoupled the user-group mapping from the user table for situations where there is no user table record (ie anonymous)
Added search support
0.3.0.1 - Jan 26, 2009
Fixed issue where uploading via distutils was broken
0.3 - Jan 20, 2009
New cluerelmgr-admin tool for managing the db
Added custom index support
Anonymous users can now be added access on a per-distro basis
Browsing index to see metadata now possible
0.2 - Jan 4, 2009
Added –security_config option for specifying a separate security configuration based on repoze.who
Added -u option for specifying a proxied url
Added basic user-based security settings
0.1 - Dec 29, 2009
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
Built Distribution
Hashes for ClueReleaseManager-0.3.2-py2.5.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69a5fa2a9b35d0cc0c7853914386af047a3057f73cfb0600e290db1ed0be135e |
|
MD5 | d6f9468f8b2dd9a7184457c933c74a01 |
|
BLAKE2b-256 | c9f60aa5babf826b1eede2402b99348d8182fd17fc009a1106e2776da97f4d64 |