Differences between revisions 13 and 16 (spanning 3 versions)
Revision 13 as of 2010-04-09 10:04:12
Size: 2227
Editor: 101
Comment: Fix some typos
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 7: Line 7:
 * XML-RPC client for distutils 2: http://bugs.python.org/issue8190
 * 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] section in setup.cfg: http://bugs.python.org/issue8253
 * Write a configure command: http://bugs.python.org/issue8254
 * Write a 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.
 * Add a post/pre commit hook for install and uninstall commands: http://bugs.python.org/issue8312
 * Make sure distutils2 works under Py3
 * Move the code from distribute to distutils2 (upload_doc, use_2to3)
=== PEP 376 support ===
Line 18: Line 10:
 (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;
   * Integrate a module similar to setuptools' package_index
   * PyPI XML-RPC client for Distutils2: http://bugs.python.org/issue8190

=== Distutils new commands ===

 * Add a post/pre-commit hook for install and uninstall commands: http://bugs.python.org/issue8312
 see if it can be generic.
 * enhance the check command (sanity tests)
 * Move the upload_doc command from distribute
 * add an optional call to upload_doc into upload
Line 20: Line 32:
== Coding task -- Deadline: April 17th == === Distutils build tool ===
Line 22: Line 34:
Write a small Python application that will do the following:  * Study 4Suite' configure command
 * Write a configure command: http://bugs.python.org/issue8254
 * 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]
 section in setup.cfg: http://bugs.python.org/issue8253
 * make setup.py optional (commands would be called through a -m call)
Line 24: Line 42:
 * 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) === Py3 support ===
Line 26: Line 44:
 * provide a script called "install_distribution.py" that will be used to download the distribution and install it, using "python setup.py install"  * Move the use_2to3 command from distribute
 * Make sure distutils2 works under Py3 using 2to3
Line 28: Line 47:
The CLI can be used like this: === Tasks for all ===
Line 30: Line 49:
{{{
  $ install_distribution.py Foo
  Found versions of Foo:
        1.1
        1.2
  Which version do you want to install (hit enter for None)?
}}}
 * Write a small tutorial in docs/ for each feature you add
Line 38: Line 51:
 or: === Misc ===
Line 40: Line 53:
{{{
  $ 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.
 * 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.

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.