1. Introduction 1.1. Project/Component Working Name: Python Setuptools 1.2. Name of Document Author/Supplier: Darren Kenny 1.3. Date of This Document: 01/31/08 1.3.1. Date this project was conceived: 2005 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Solaris PAC 1.4.2. The ARC(s) you expect to review your project: PSARC 1.4.3. The Director/VP who is "Sponsoring" this project: robert.odea@sun.com 1.4.4. The name of your business unit: OPG / OpenSource. 1.5. Email Aliases: 1.5.1. Responsible Manager: leo.binchy@sun.com 1.5.2. Responsible Engineer: darren.kenny@sun.com 1.5.3. Marketing Manager: dan.roberts@sun.com 1.5.4. Interest List: desktop-discuss@opensolaris.org 4. Technical Description: 4.1. Details: Python setuptools is an Open Source collection of enhancements to the Python distutils (included in SUNWPython-extra) that allow you to more easily build and distribute Python packages, especially ones that have dependencies on other packages. It is primarily a developer tool, to enable easy installation of dependencies and distrubution of packages, but it has some user benefit too given that the installation of additional Python modules is make easier. The main feature that it provides are: - Automatically find/download/install/upgrade dependencies at build time using the EasyInstall tool, which supports downloading via HTTP, FTP, Subversion, and SourceForge, and automatically scans web pages linked from PyPI to find download links. (It's the closest thing to CPAN currently available for Python.) - Create Python Eggs - a single-file importable distribution format - Include data files inside your package directories, where your code can actually use them. - Automatically include all packages in your source tree, without listing them individually in setup.py - Automatically include all relevant files in your source distributions, without needing to create a MANIFEST.in file, and without having to force regeneration of the MANIFEST file when your source tree changes. - Automatically generate wrapper scripts for any number of "main" functions in your project. - Transparent Pyrex support, so that your setup.py can list .pyx files and still work even when the end-user doesn't have Pyrex installed (as long as you include the Pyrex-generated C in your source distribution) - Command aliases - create project-specific, per-user, or site-wide shortcut names for commonly used commands and options - PyPI upload support - upload your source distributions and eggs to PyPI - Deploy your project in "development mode", such that it's available on sys.path, yet can still be edited directly from its source checkout. - Easily extend the distutils with new commands or setup() arguments, and distribute/reuse your extensions for multiple projects, without copying code. - Create extensible applications and frameworks that automatically discover extensions, using simple "entry points" declared in a project's setup script. The version being integrated is 0.6c7 4.2. Bug/RFE Number(s): None. 4.3. In Scope: See above. 4.4. Out of Scope: See above. 4.5. Interfaces: -------------------------------------------------------------------- Exported Stability Comments -------------------------------------------------------------------- SUNWpython-setuptools Uncommitted Package name /usr/bin/easy_install Volatile utility to install Egg Modules /usr/bin/easy_install-2.4 Uncommitted Python version specific setuptools Uncommitted Python module -------------------------------------------------------------------- Imported Stability Comments -------------------------------------------------------------------- Python 2.4.x Volatile PSARC 2005/532 4.6. Doc Impact: manpages will be provided that documents the usage of easy_install and a pointer to on-line setuptools documentation. 4.7. Admin/Config Impact: None. 4.8. HA Impact: None. 4.9. I18N/L10N Impact: The JDS team and the G11N are working together to evaluation and provide I18N/L10N support. 4.10. Packaging & Delivery: Adds new package, SUNWpython-setuptools, approx 968 KB. Package will go into SUNWCall, SUNWCXall and SUNWCprog clusters. 4.11. Security Impact: None. 4.12. Dependencies: The following versions of the imported interfaces are required: Python >= 2.3 5. Reference Documents: PSARC 2005/532, Python migration from /usr/sfw to /usr and upgrade to v2.4.x SetupTools http://peak.telecommunity.com/DevCenter/setuptools EazyInstall http://peak.telecommunity.com/DevCenter/EasyInstall PythonEggs http://peak.telecommunity.com/DevCenter/PythonEggs