Revision 3 as of 2011-04-15 12:52:26

Clear message

Abstract

Distutils2 is the new, improved version of the Python Distribution Utilities, a library used to package, distribute,build and install Python projects. It will be as a substitute of current setuptools, but it’s still in its early stage. This project is supposed to fill the gap for setuptools users that want to move to packaging in two aspects:

Milestones

The following is just a very preliminary plan about what ‘product’ or improvement should be realized at what time. And the specific time and milestones maybe adjusted in future development if necessary after careful communication with mentor.

My week-by-week work plan:

May 25-May 27: have a good communication with mentor to understand the project better and know the preparation work May 28-May 31: get all preparation work done

(Under normal circumstances, people use the distutils to build a distribution of a project by rebuilding or reinstalling the project every time he made a change to it during development. So it’s a very important feature that setuptools offers to users, especially developers using version control system to manage code, which allows users to deploy their projects for use in a common directory or staging area, but without copying any files. However, Distutils2 doesn’t support this important command currently. Thus the job with the highest priority is to add the ‘develop’ command and fix the bug http://bugs.python.org/issue8668)

June 1-June 20: begin to code and fulfill the ‘develop’ command

(Packaging and installing script can be a bit awkward with the distutils, and there is no easy way to have a script’s filename match local conventions on both Windows and POSIX platforms. Setuptools fixes these problems by defining ‘entry points’ in setup script. An opensource or free software always faces such kind of platform problems. As a outstanding packaging tool and perfect substitution of setuptools, it’s important to add this function for Distutils2.Thus, the second job is to add automatic script creation function for Distutils2 and fix the bugs –issue870479: http://bugs.python.org/issue870479 ,issue976869: http://bugs.python.org/issue976869 )

June 21- July 11: add the automatic script creation function

(extensions is a simple plugin system inspired from setuptools entry points and it allows an application to define or use plugins. This feature offers to user great convenience to develop big systems composed of different components. So the third job is to help perfect the extensions project if necessary.)

July 12~Aug 15: check whether the extensions project can perform perfectly as setuptools entry points does in real projects and do some necessary integration work

Start of Program (May 24)

Midterm Evaluation (July 12)

Before midterm evaluation, ‘develop’ command and the automatic script creation function should be fulfilled and corresponding bugs fixed. Thus the proposed deliverables can be:

Final Evaluation (Aug 16)

Before final evaluation, work for the extensions project makes it perform better as setuptools entry points. The detail is:

About Me

I'm an undergraduate from China and I'm preparing for my computer science and technology bachelor degree in USTB (University of Science and Technology Beijing). Java and Python is the main programming language when I write programs and software. During my coding days, I’m getting to know more and more about the Open-Source/FOSS, especially its spirits-share, collaborate, make friends. Every time I find an excellent solution about some problems occurred to me, I become so excited and learned a lot from the process of problems finding-reporting-solving.

My Strengths:

My weak points:

Contact Info

Name: Xu Dehai(You can call me with my English name-higery)

Blog: http://wiki.python.org/moin/SummerOfCode/2011/SetuptoolsFeatures

Email: shoulderhigher@gmail.com

XMPP:

IRC: higery on irc.freenode.net

Skype: shoulderhigher@gmail.com

Phone: (86)18777502978

Postal Address: NO257 MINZHU MIDDLE ROAD

City, State, Zip, Country: YULIN, GUANGXI, 537000, CHINA

Unable to edit the page? See the FrontPage for instructions.