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 three aspects:

  1. add the ‘develop’ command for Distutils2;
  2. add the automatic script creation functionality;
  3. perfect the extensions project.


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, developer often rebuilds or reinstalls their projects after he has made some changes to it during development. It's a little boring and will take time to copy files. 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 make the code apear as installed to Python and other code can import it, 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

There is no easy way to have an executable script’s filename match local conventions on both Windows and POSIX platforms. Setuptools fixes it by defining ‘console_scripts’ or 'gui_scripts' entry points in setup script, which can automatically generating scripts for you with the correct extension, e.g. .exe for windows. It will take great convience to users who want to make his work run on different platforms, 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 functionality

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 functionality should be fulfilled and corresponding bugs fixed. Thus the proposed deliverables could 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 of problems occurred to me, I become so excited and learn a lot from the process of problems finding-reporting-solving.

My Strengths:

My weak points:

Contact Info

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

  2. Blog: http://higery.wordpress.com/

  3. Email: (masked for spambots, see page history or GSoC page or Roundup or mailing lists or ask merwok)
  4. IRC: higery on irc.freenode.net

  5. Skype: (masked)
  6. Phone: (masked)
  7. Postal (masked)
  8. City, State, Zip, Country: (masked)

SummerOfCode/2011/SetuptoolsFeatures (last edited 2011-04-24 15:16:24 by higery)

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