Differences between revisions 14 and 16 (spanning 2 versions)
Revision 14 as of 2010-04-30 13:26:29
Size: 3282
Editor: 229
Comment:
Revision 16 as of 2010-05-24 16:20:19
Size: 2375
Editor: 185
Comment: Small updates
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This page describes a possible Summer of Code project for Distutils2 This page describes tasks for the 2010 Summer of Code. Students and mentors are listed on the [[http://bitbucket.org/tarek/distutils2/wiki/GSoC_2010_teams|Distutils2 teams]] page.
Line 9: Line 9:
 * Implement pkgutil APIs described in PEP 376 : http://bugs.python.org/issue8250 -- work started by people in the community already.   * Implement pkgutil APIs described in PEP 376 : http://bugs.python.org/issue8250 -- work started by people in the community already.
Line 21: Line 21:
   * PyPI XML-RPC client for distutils 2: http://bugs.python.org/issue8190
 
   * PyPI XML-RPC client for Distutils2: http://bugs.python.org/issue8190
Line 25: Line 25:
 * Add a post/pre commit hook for install and uninstall commands: http://bugs.python.org/issue8312  * Add a post/pre-commit hook for install and uninstall commands: http://bugs.python.org/issue8312
Line 28: Line 28:
 * Move the upload_doc command from distribute   * Move the upload_doc command from distribute
Line 36: Line 36:
 * Make install and build optionnaly use the configure file
 * Make it possible to use setup.cfg to describe all the metatadata: http://bugs.python.org/issue8252
 * Describe the resources files and the Python files using a [resources] or [packages] [py_modules] 
 * Make install and build optionally use the configure file
 * Make it possible to use setup.cfg to describe all the metadata: http://bugs.python.org/issue8252
 * Describe the resources files and the Python files using a [resources] or [packages] [py_modules]
Line 40: Line 40:
 * make setup.py optional (commands would be called trhough a -m call)  * make setup.py optional (commands would be called through a -m call)
Line 44: Line 44:
 * Move the use_2to3 command from distribute   * Move the use_2to3 command from distribute
Line 46: Line 46:
 
Line 49: Line 49:
 * Write a small tutorial in docs/ for each feature you add   * Write a small tutorial in docs/ for each feature you add
Line 54: Line 54:
 * Promote and evangelize Distutils2–This will consist of helping python project to switch to/adopt Distutils2.   * Promote and evangelize Distutils2–This will consist of helping python project to switch to/adopt Distutils2.
Line 56: Line 56:


== Coding task -- Deadline: April 17th ==

Write a small Python application that will do the following:

 * provide a XML-RPC client that knows how to list all releases of a given project at PyPI (no need to implement the whole XML-RPC spec, but think about this as something we can reuse later during the GSOC, to implement the whole XML-RPC spec)

 * provide a script called "install_distribution.py" that will be used to download the distribution and install it, using "python setup.py install"

The CLI can be used like this:

{{{
  $ install_distribution.py Foo
  Found versions of Foo:
        1.1
        1.2
  Which version do you want to install (hit enter for None)?
}}}

 or:

{{{
  $ install_distribution.py Foo 1.1
}}}

The code should be unit-tested, and documented. The goal is not to make you write something you don't know how to write, but to see how you write/organize code to help me select the student. So, I am available online for any question help.

This page describes tasks for the 2010 Summer of Code. Students and mentors are listed on the Distutils2 teams page.

Contact: Tarek Ziadé <tarek@ziade.org>

GSOC Tasks

PEP 376 support

  • Implement pkgutil APIs described in PEP 376 : http://bugs.python.org/issue8250 -- work started by people in the community already. (focus on speed with benches)

  • Implement a dependency-graph builder
  • Add basic PEP 376 support in Distribute [and Pip is possible]

Installer / Uninstaller, PyPI

  • Implement Distutils2 APIs described in PEP 376.
  • Add the uninstall command.
  • think about a basic installer / uninstaller script. (with deps) -- similar to pip/easy_install
  • in a pypi subpackage;

Distutils new commands

Distutils build tool

Py3 support

  • Move the use_2to3 command from distribute
  • Make sure distutils2 works under Py3 using 2to3

Tasks for all

  • Write a small tutorial in docs/ for each feature you add

Misc

  • complete tutorial : http://bugs.python.org/issue8255

  • Promote and evangelize Distutils2–This will consist of helping python project to switch to/adopt Distutils2. We will define a list of targets at the beginning and the student will be in charge of helping them switching to Distutils2 if they want.

SummerOfCode/Distutils2 (last edited 2010-08-03 23:41:51 by 5)

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