<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Merwok’s System Log</title>
	<atom:link href="https://wokslog.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://wokslog.wordpress.com</link>
	<description>full of sound and fury</description>
	<lastBuildDate>Sat, 04 Jun 2011 14:47:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wokslog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s-ssl.wordpress.com/i/buttonw-com.png</url>
		<title>Merwok’s System Log</title>
		<link>https://wokslog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://wokslog.wordpress.com/osd.xml" title="Merwok’s System Log" />
	<atom:link rel='hub' href='https://wokslog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>A Quick Diff between Distutils and Distutils2</title>
		<link>https://wokslog.wordpress.com/2011/06/04/distutils-diff/</link>
		<comments>https://wokslog.wordpress.com/2011/06/04/distutils-diff/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 14:23:00 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[Python development]]></category>
		<category><![CDATA[distutils]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=158</guid>
		<description><![CDATA[Distutils2, also known as Packaging in the Python 3.3 standard library, is an improved fork of Distutils. Here’s a short review of the main differences between both codebases. User Interface setup.py vs. setup.cfg All the information that used to be &#8230; <a href="https://wokslog.wordpress.com/2011/06/04/distutils-diff/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=158&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Distutils2, also known as <a href="http://docs.python.org/dev/library/packaging">Packaging</a> in the Python 3.3 standard library, is<br />
an improved <a href="http://tarekziade.wordpress.com/2010/03/03/the-fate-of-distutils-pycon-summit-packaging-sprint-detailed-report/">fork of Distutils</a>.  Here’s a short review of the main<br />
differences between both codebases.</p>
<h2>User Interface</h2>
<h3>setup.py vs. setup.cfg</h3>
<p>All the information that used to be given as parameters to the<br />
<code>distutils.core.setup</code> function in a setup.py script is now moved to the<br />
<a href="http://docs.python.org/dev/packaging/setupcfg">setup.cfg</a> file.  This includes metadata like name, version and author,<br />
Python modules including packages and C/C++ extensions, and data files<br />
accompanying the code.</p>
<p>This important change in favor of static information was done in order to let<br />
a number of packaging tools get access to the distribution information without<br />
having to run untrusted Python code.  There are a number of setup scripts in<br />
the wild doing unholy things, which is clearly a hazard for a tool that just<br />
wants to get the project name and version from the distribution.  Another way<br />
of putting this is to say that each distribution had its own installer, which<br />
isn’t optimal.  This long-awaited change also makes Packaging more similar to<br />
other static info-based packaging tools.</p>
<p>For projects that used to do complicated things in their setup scripts,<br />
<a href="http://docs.python.org/dev/packaging/commandhooks">hooks</a> can be used.  They are Python functions that can be located in an<br />
already-installed module (a collection of build helpers) or in a<br />
project-specific private module and that can customize command, metadata<br />
or distribution objects before or after a command is run.  For the<br />
transitional years before Packaging is widespread and used as baseline by<br />
common packaging tools instead of distutils/setuptools, authors of complicated<br />
setup.py scripts will have to refactor their code so that the customization<br />
they want to perform is usable as hooks as well as setup.py code.</p>
<h3>setup.py vs. pysetup</h3>
<p>Packaging-based projects having no more setup.py scripts anymore, a new<br />
command-line tool is needed.  This tool is a Python command-line script named<br />
<code>pysetup</code>.  Instead of running <code>python setup.py sdist</code>, you’ll now execute<br />
<code>pysetup run sdist</code>.  If you’re asking why <code>run</code> is necessary, it’s because<br />
<code>pysetup</code> provides actions in addition to commands, and therefore needs a way<br />
to avoid name conflicts between actions and commands.  Commands are the usual<br />
distutils blocks used to build, distribute and install a project; actions are<br />
a new interface to new Packaging functionality: listing and removing installed<br />
distributions, searching for a project in PyPI or another index, downloading<br />
and installing a project and its dependencies, and so on.</p>
<h2>File-level Changes</h2>
<p>Without going over all the changes done to the codebase in one year, the<br />
following is an overview of the movement of files between the distutils and<br />
distutils2 codebases.</p>
<h3>Changed Modules</h3>
<p>Modules with compiler classes are moved to a <code>compiler</code> subpackage, where the<br />
<code>extension</code> module has also been moved.  The <code>cmd</code> module has moved to the<br />
<code>command</code> subpackage.</p>
<p>The <code>core</code> module was changed in depth and renamed to <code>run</code> to reflect its new<br />
duties, namely implementing <code>pysetup</code>.  One could say that there is no core<br />
anymore: <code>packaging</code> is a collection of public modules as well as a packaging<br />
tool; the fact that <code>pysetup</code> uses <code>run</code> and <code>dist</code> heavily does not make them<br />
more important or more cared for than the other modules.</p>
<p>The <code>filelist</code> module was renamed to <code>manifest</code> and extended to be more useful<br />
when dealing with manifest files.</p>
<p>The <code>version</code> and <code>versionpredicate</code> modules were consolidated into one module,<br />
<code>version</code>.  It implements PEP 386, a specification built upon common<br />
setuptools-based practice.</p>
<p>The <code>install</code> command was renamed to <code>install_dist</code> to avoid conflicts with the<br />
new <code>install</code> module.  (This may be changed back, as the conflict is no more:<br />
the files live in different directories and don’t conflict on the command<br />
line thanks to the <code>run</code> action.)</p>
<p>The <code>build</code>, <code>build_py</code> and <code>build_scripts</code> command support build-time 2to3<br />
conversion of Python files and doctests.  Taken and improved from distribute.</p>
<h3>Removed Modules</h3>
<p><code>archive_util</code>, <code>config</code>, <code>debug</code>, <code>dep_util</code>, <code>dir_util</code>, <code>emxccompiler</code>,<br />
<code>log</code>, <code>spawn</code>, <code>sysconfig</code> and <code>text_file</code> have been removed.  Some of them<br />
were replaced with Python 2.4+ standard components such as <code>subprocess</code> and<br />
<code>logging</code>; in other cases, one or two still useful functions were moved to the<br />
<code>util</code> module.  <code>sysconfig</code> is a top-level module in the 2.7 and 3.2+ standard<br />
libraries.  Similarly, the <code>shutil</code> module in these versions also hosts the<br />
functions formerly present in <code>archive_util</code> for everyone to use.</p>
<p><code>fancy_getopt</code> is due to be replaced with an <code>optparse</code>-based solution.  The<br />
API for defining command classes will be preserved, this change is just an<br />
internal refactoring to remove a maintenance burden.</p>
<p>The <code>bdist_rpm</code> command was removed and started a new life as a new project,<br />
<a href="http://tarekziade.wordpress.com/2011/03/25/bdist_rpm-is-dead-long-life-to-py2rpm/">py2rpm</a>, so that it can evolve quicker than Python to follow the<br />
modifications of the policies and toolchains of the various RPM-based systems.<br />
The <code>install_egg_info</code> command is gone; it implemented a de-facto standard for<br />
installed distribution, which is now a de-jure standard as PEP 376 and<br />
implemented by the superseding command <code>install_distinfo</code>.</p>
<h3>New Modules</h3>
<p>The <code>create</code> module is an interactive helper that can create <a href="http://docs.python.org/dev/packaging/setupcfg">setup.cfg</a><br />
files (<code>pysetup create</code>) and distutils-compatible setup.py scripts (<code>pysetup<br />
generate_setup</code>) that get info the setup.cfg at runtime.  It started its life<br />
as <a href="http://www.tummy.com/journals/entries/jafo_20100302_003614">mkpkg</a> and has seen a lot of improvements since then.</p>
<p>A flexible <code>test</code> command is finally one of the standard commands.  It<br />
defaults to using unittest/unittest2 discovery if available, but can be hooked<br />
with any test runner and test suite as needed.  Taken from setuptools and<br />
improved.</p>
<p>The <code>upload_docs</code> command was taken from setuptools and integrated into<br />
distutils2 with a few improvements.</p>
<p>A new <code>config</code> module (sharing the name of but having different code than the<br />
former distutils <code>config</code> module) has been added to find and parse<br />
configuration files.</p>
<p>The following modules are designed as building blocks for other packaging and<br />
installation tools.</p>
<p><code>database</code> implements PEP 376, together with the new <code>install_distinfo</code><br />
command.  This code was originally intended to land in the <code>pkgutil</code> module,<br />
but this was not necessary anymore with the inclusion of Packaging in the<br />
standard library.</p>
<p><code>depgraph</code> provides a class representing a graph of dependencies between<br />
releases.  It does not solve conflicts, but provides base infrastructure for<br />
an installer to solve them.</p>
<p>The former <code>dist.DistributionMetadata</code> has a new name and an improved API as<br />
<code>metadata.Metadata</code>.  It supports all three versions of the metadata<br />
specification, can read and write METADATA/PKG-INFO files, can convert its<br />
contents for use with setup.cfg or PyPI, and supports a convenient mapping<br />
interface.  Its companion module <code>markers</code> deals with PEP 345 environment<br />
markers.</p>
<p><code>pypi</code> connects to project indexes such as PyPI to get information and<br />
download distributions.</p>
<p><code>install</code> uses <code>depgraph</code> and <code>pypi</code> to provide basic functions to download,<br />
install and remove distributions.</p>
<hr />
<p>In a future article, I’ll tell how distutils and distutils2 work inside out.</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/python-development/'>Python development</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils/'>distutils</a>, <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/158/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=158&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2011/06/04/distutils-diff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Final Report: A Distutils2 Summer of Code</title>
		<link>https://wokslog.wordpress.com/2010/08/30/report-12/</link>
		<comments>https://wokslog.wordpress.com/2010/08/30/report-12/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 05:02:53 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=119</guid>
		<description><![CDATA[Summary of my Google Summer of Code Adding a configure Command This first task gave me the occasion to study the distutils2 codebase. I saw a lot of good ideas in 4Suite’s DistExt modules and took some inspiration from their &#8230; <a href="https://wokslog.wordpress.com/2010/08/30/report-12/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=119&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Summary of my Google Summer of Code</p>
<h2>Adding a configure Command</h2>
<p>This first task gave me the occasion to study the distutils2 codebase. I saw a lot of good ideas in <a href="http://bitbucket.org/Merwok/distutils2/wiki/4suite">4Suite’s DistExt</a> modules and took some inspiration from their config command. At the end of GSoC, the configure command is written, tested and has basic documentation. This command accepts every option that build and install do (failing if there are conflicts in the install options, like install itself does), and writes them in a cache file. The build and install command take options from this file, which saves typing. It’s also possible to run configure build install in the same command line (the internal behavior will get cleaner thanks to some changes I have in mind; Alexis keeps telling me I should document the four or five successive designs I followed for this command.). There is still a nasty bug to fix.</p>
<p>An additional goal is to include the cache file created by the configure command in source or built distributions, so that for example plugins can get information about the build of the project they extend. It would be something similar to the <a href="http://docs.python.org/library/sysconfig">sysconfig</a> module used to get information about the compilation of the Python interpreter, but for Python projects. It would also allow using distutils to install but something else to build, as long as the cache format contains enough information for both parties. (This feature was not implemented during GSoC, for lack of a written description and lack of time.)</p>
<ul>
<li><a href="http://bugs.python.org/issue8254" title="Bug report for the distutils2 configure command">Bug report</a></li>
<li><a href="http://bitbucket.org/Merwok/distutils2-features" title="Code repository for the distutils2 configure command">Code</a> (branch named “configure”)</li>
<li><a href="http://distutils2.notmyidea.org/configure.html" title="Documentation for the distutils2 configure command">Documentation</a></li>
</ul>
<h2>Moving Setup Information to a Declarative Format</h2>
<p>This second task was as motivating as the first since it shared the goal to make users’ and developers’ lives easier. The first step was to make it possible to describe the metadata in setup.cfg instead of setup.py. The proof of concept was ridiculously easy to write, thanks to the nice distutils2.dist module. For the second step, replacing setup(modules=&#8230;, scripts=&#8230;) by new sections and fields in setup.cfg, we missed a specification, so I took some time to write a design document describing it all. I have received useful feedback, and peer review is still ongoing.</p>
<p>As is now the rule in distutils2, I’ve started refactoring useful functions into a new module, which will be used by our higher-level code and can also be useful for third-party programs. Those support functions that are not yet written are mostly string operations and a bit of I/O, so it’s not hard but still important enough to deserve thorough tests and good documentation.</p>
<p>With the implementation of those new config file sections, setup scripts will effectively be obsolete. A new module or script shipped with distutils2 (therefore in the standard library when we merge back) will be the new way to run commands. This script is a two-liner that I haven’t committed anywhere yet since it’s, well, two lines.</p>
<p>The resources section was out of scope for this GSoC, since Tarek had said it would require a new PEP. I will volunteer to write the sample implementation required by the PEP when time comes to start it.</p>
<ul>
<li><a href="http://bugs.python.org/issue8252" title="Bug report for static metadata in distutils2">Bug report for metadata</a></li>
<li><a href="http://bugs.python.org/issue8253" title="Bug report for declarative file listing in distutils2">Bug report for files</a></li>
<li><a href="http://bitbucket.org/Merwok/distutils2-features" title="Code repository for the extended setup.cfg format in distutils2">Code</a> (branch named “killsetup”)</li>
<li><a href="http://distutils2.notmyidea.org/new-config-file.html" title="Design document for the extended setup.cfg format in distutils2">Design document</a></li>
</ul>
<h2>Looking Back</h2>
<p>In those twelve weeks, I have learned a great deal about distutils2’s internals, most importantly the commands and Distribution class, but also the standalone modules like version or metadata. Looking into 4Suite’s DistExt was also useful, there are gems there that we should take, polish and include. Reading other students’ changesets helped me learn about things that I don’t really know, like dependency graphs or networking. Teamwork was also an opportunity to learn tools like code review sites, use email effectively or dive in the arcane of merge tools.</p>
<p>I really enjoyed test-driven coding, either with unit tests or “run and look at the output” manual tests. The big refactor I did to move code from the build and install commands to configure would not have been possible without all the unit tests for those commands to make me confident. Python is also excellent since it’s natural to write a docstring after the function declaration, so you write doc before the code without thinking about it or having to make it a religion. Last, I enjoyed doing lots of miscellaneous fixes, cleanups and improvements throughout the code base. Fixing pep8 or pyflakes warnings is easy and gives me an occasion to have a glance at modules I don’t know.</p>
<h2>Unplanned Tasks</h2>
<p>Some time before midterm, <a href="http://tarekziade.wordpress.com/2010/08/19/distutils-2-summary-of-the-gsoc/" title="Global summary of the distutils GSoC">Tarek</a> gave push rights to his main repository to Alexis and me, to have more manpower for reviews and pulls. I found myself in the position of repository gatekeeper, answering to review requests, replying to nearly each thread in the mailing list, and pulling from other students’ clones when I judged something ready. It was strange at first to have this power and duty, but I grew confident, I tried to be responsive and fair, and it seems I did a good job. I particularly liked sprinting remotely with the nice people from <a href="http://montrealpython.org/">Montreal Python</a>, being able to answer their questions, and rewarding their volunteer work with a push into the main repo right at the end of the sprint.</p>
<p>Synchronizing the documentation was not the easiest task. In the standard library, some improvements to the documentation of distutils had been removed because of the feature revert and freeze. Ali Aafshar did a bit of Subversion exploring, I completed his work with some missing bits, and we had a starting point. Alexis and I had chatted about the many goals of distutils2 and made plans to reorganize some parts of the docs to address the needs of users wanting to install something, developers wanting to distribute their project, and packaging developers wanting to reuse parts of distutils2 or extend it. Some moves have taken place, there is still a lot to do, but a solid foundation is here.</p>
<p>This extra work I did explains why my mentor was satisfied with me before the final deadline even though my tasks were not finished.</p>
<h2>The Future</h2>
<p>We have work ahead of us, new features to add, documentation to improve, and I am staying in the project as a volunteer. Reaching out to the Python communities and advocating distutils2 won’t be our easiest task, so the more people the better. While working on distutils2, I’ve also been following Python’s bug tracker, doing triage and reviews, and reading a number of Python mailing lists, with the occasional reply. The feeling of being a part of the Python community and being able to give back is warm and fuzzy, especially when you’re given acknowledgment and trust.</p>
<p>I’m still awed and thrilled to be a Python core developer. I have started making patches to fix bugs in distutils, freeing Tarek to focus on distutils2. Remote teamwork was good, and now that I’ve met Alexis and other fellow Pythonistas in real life and had such good times, I know that even though the university will have to get priority this year, I will stay involved.</p>
<h2>Thanks</h2>
<p>First, I want to thank Google for this incredible experience we’ve lived. Their Open Source department and especially Carol Smith are doing a great job and deserve warm applause.</p>
<p>I am also deeply grateful to the Python Software Foundation. This summer has been amazing, and I’m very happy to be part of a project with such excellent people, to work on such an excellent programming language.</p>
<p>Tarek Ziadé has been a terrific over-mentor. He took the time to phone me to answer a ton of questions, he helped us keep on track with the weekly meetings, he gave trust and praise. Thank you for everything.</p>
<p>C. Titus Brown is modest and says that he’s not done much to mentor me. Facts don’t matter; I needed guidance more than once, and he was here to give it. Sincere thanks to you.</p>
<p>Many people have supported me: Shashwat Anand, without whom I would not have applied at all, roommates, friends and family. The job has not been easy each week, but it was great to be given a chance even without formal computer science or engineering background, and to get evaluations based on work. It also meant something at a personal level; I’ll talk about that in another blog post.</p>
<p>I’ve saved the place of honor for the other distutils2 students: Alexis, Josip, Konryd, Zubin, Mouad (not in the distutils2 group but keeping in touch weekly). I’ve found the atmosphere in our group (students, volunteers, mentors, experts) excellent, without personal conflicts or flamewars. We worked and had fun, we helped each other, we cared about each other. Sharing this experience with you all was a pleasure and an honor.</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=119&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/30/report-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #11: Twice Awesome</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-11/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-11/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 03:05:06 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=99</guid>
		<description><![CDATA[Weekly report for the twelfth week of the Google Summer of Code This week I’ve kept on working on several things. I have pushed the new docs organization and some improvements to the main repo. Some mkpkg improvements as well &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-11/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=99&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the twelfth week of the Google Summer of Code</p>
<p>This week I’ve kept on working on several things.</p>
<p>I have pushed the new docs organization and some improvements to the main repo. Some mkpkg improvements as well as changesets from Konrad are also pushed.</p>
<p>The proposal for the new config file has been sent and is quietly collecting feedback and being edited in reaction. I haven’t started the new config module like I had planned, but it will not take much time or effort to do, it’s mostly string manipulations and a bit of refactor in dist. I have been reading distutils-sig archives from last year, there has been a lot of interesting discussion about setup.cfg.</p>
<p>I sent a report about each of my tasks to my mentor last Monday, and asked him if I should focus on tests and docs as advised by Google or if I could just do a normal work week. He answered that I was doing fine, that what I did besides coding (reviews, merges, doc sync) more than balanced the unfinished code, and that I could do whatever I wanted with no fear about the final evaluation :) So I’ve had a cool week with no stress, I’ve worked as usual and slept a bit more. The deadline is just the end of the paid work, but certainly not the end of my involvement in distutils2. I already have plans for sprints and a nice todo list for August and September. GSoC is sort of already over in my head.</p>
<p>The configure command has some tests that pass and one that fails. I’ll look into it shortly.</p>
<p>My blog is still lagging; for some reason I prefer replying to email and writing code, but I really have to update the blog Really Soon Now™. [edit: done!]</p>
<p>Tarek has proposed to python-dev that I get commit rights to Python’s Subversion repository, to help him maintain the old distutils so that he can focus on distutils2. This week I’ve got the reply. I am now a Python core developer and will co-maintain distutils. Awesome!</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=99&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-11/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #10: Efficient Multitasking</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-10/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-10/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 02:29:53 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=90</guid>
		<description><![CDATA[Weekly report for the eleventh week of the Google Summer of Code This week I’ve been working on several things, catching up on nearly everything that I was late for. I attended the Montreal-Python sprint, giving comments and feedback while &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-10/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=90&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the eleventh week of the Google Summer of Code</p>
<p>This week I’ve been working on several things, catching up on nearly everything that I was late for.</p>
<p>I attended the Montreal-Python sprint, giving comments and feedback while working on my config file document, and pushed their changes upstream at the end.</p>
<p>I refreshed and pushed most of my changes that had been waiting for three weeks: various cleanups, touchups and fixes. I also switched to using named branches for configure and killsetup, which is a very convenient way to work.</p>
<p>I finished my document about new sections in config files. I’ve had some feedback from Alexis and Fred about the form, so I’ll put another half hour [edit: how optimistic I was!] on it and it’ll be time to request votes and let a thousand arguments blossom.</p>
<p>I replied to review requests from Josip, Alexis, Konrad and Zubin, and pulled the changes that were ready upstream. I’m becoming confident with reviews (thanks Dan!) and push rights, and since Tarek has not shouted yet I guess I’m doing good :)</p>
<p>I decided not to do the docs import and reorganization to prevent merge headaches for my fellow students (even if in the end I did most of the merges ;), which helped a bit. Now that the big pypi rename is done, docs are top priority.</p>
<p>I worked again on configure and moved code from build and install into configure, as discussed with Tarek on the phone all those weeks earlier. This was not as easy as it sounds, but it was a funny debugging experience! Work is ongoing.</p>
<p>I’m starting this week with another sprint, with this task list:</p>
<ul>
<li>update my blog [edit: heh]</li>
<li>send an email to call for feedback and votes on the new config file proposal (static metadata and friends)</li>
<li>add distutils1 docs to d2 (with the same organization as seen on distutils2.notmyidea.org)</li>
<li>add todos in the docs to make sure we update them</li>
<li>start working on the new config module (utility functions to support existing and new sections in config files, i.e. implementation of my document)</li>
<li>continue working on configure (I need to talk with Tarek)</li>
<li>continue improving mkpkg</li>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=90&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #9: Feeling Low</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-9/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-9/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 01:43:40 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=88</guid>
		<description><![CDATA[Weekly report for the tenth week of the Google Summer of Code Report Email I’m starting to get depressed with those reports, since I have to say that I’ve had problems with concentration/focus again and did not do much last &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-9/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=88&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the tenth week of the Google Summer of Code</p>
<h2>Report Email</h2>
<p>I’m starting to get depressed with those reports, since I have to say that I’ve had problems with concentration/focus again and did not do much last week. I’ve made progress on my document describing new sections in config files, I wanted to have it done Monday but failed.</p>
<p>I’ve had other proposals about code on the ML, without much feedback.</p>
<p>I’m sprinting tonight, and I’ll have a precise tasklist to race the lateness and do some overdue things (finish the static metadata doc, add the docs to the main repo, review changesets).</p>
<h2>Reactions</h2>
<p>During the weekly meeting, other students cheered me up. I’m also thankful to Fred Drake for a bit of useful private discussion. I decided to have my email client shut off for long periods and be careful with IRC, and also talked about organizational techniques with the Montreal people during the sprint. My mentor offered helpful suggestions in email and told me that writing a design document instead of code was not wasted time—to which I agreed, my point being only that I shouldn’t have been blocked two weeks on that. A few days after the email, I said that the document was ready and that I’d need just a few days to do everything that was late.</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=88&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #8: Midterm</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-8/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-8/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 01:39:35 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=84</guid>
		<description><![CDATA[Weekly report for the ninth week of the Google Summer of Code This week I made very little progress on the tasks listed in my last report. I took part virtually in the Montreal sprint, answered questions, made suggestions, reviewed &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-8/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=84&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the ninth week of the Google Summer of Code</p>
<p>This week I made very little progress on the tasks listed in my last report.</p>
<p>I took part virtually in the Montreal sprint, answered questions, made suggestions, reviewed and pushed their changesets to the main repo.</p>
<p>I have produced more words than code, hopefully not useless words (reviews and discussions about fellow students’ tasks, discussions with the wider fellowship about various important subjects), but my focus should shift more to code.</p>
<p>I applied the distinction Alexis and I had discussed for the documentation (see preview at http://distutils2.notmyidea.org/). This will make the doc easier to navigate for everyone and will also ease merging with Python. If I don’t get negative feedback, I’ll apply it to Tarek’s clone.</p>
<p>In short, I have not been idle, but clearly not focused and productive enough.</p>
<p>I passed the midterm evaluation. The automatic email from Google said “Please contact your mentor to discuss the results of your evaluation and to plan your goals and development plan for the rest of the program.” Well, I suggested “Same thing, continued, but better. :)”, to which Titus replied “yep ;)”. I like our understanding :)</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=84&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #7: Ecstatic Metadata</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-7/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-7/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 01:34:28 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=82</guid>
		<description><![CDATA[Weekly report for the eighth week of the Google Summer of Code What I did Continued improving documentation and minor things Added code to support the metadata section in setup.py Started to add tests for that Had good chats about &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-7/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=82&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the eighth week of the Google Summer of Code</p>
<h2>What I did</h2>
<ul>
<li>Continued improving documentation and minor things</li>
<li>Added code to support the metadata section in setup.py</li>
<li>Started to add tests for that</li>
<li>Had good chats about static metadata with clever people, on IRC and the ML</li>
<li>Included Alexis in my discussion with Dan Buch, which lead to them getting our Review Board instance up and running again (kudos!)</li>
<li>Worked on the proposals in Carl Meyer’s sample-distutils2-project (completes PEP 345, and got reviewed and approved by lots of people at PyCon)</li>
<li>Got added to the authorized pushers for Tarek’s repo. Alexis did too.</li>
<li>Pushed changesets from Alexis and Jeremy to the main repo</li>
<li><em>surprise</em> Pulled and merged documentation from all students and<br />
mentors clones into one location, hosted by Alexis on http://distutils2.notmyidea.org/</li>
</ul>
<h2>What I failed</h2>
<ul>
<li>My tests use helper functions which have bugs :) I have to fix them before I can actually benefit from the tests</li>
<li>I have written much less code than I wanted to</li>
<li>I haven’t edited the history of my changesets of last week to make clean diffs out of them and push them (I have more than 30 changesets, I should collapse some of them and reorder them for easier reading)</li>
</ul>
<h2>What I will do next</h2>
<ul>
<li>Take part in tonight’s Montréal Hacking sprint</li>
<li>Write a ton of tests for static metadata (setup.py-setup.cfg equivalence)</li>
<li>Review/add tests for the global section in setup.cfg</li>
<li>Write those damn emails and blog posts I should have done two weeks ago</li>
<li>Not forget that configure is not finished yet</li>
</ul>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=82&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #6: New Energy, Old Issues</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-6/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-6/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 01:18:14 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=66</guid>
		<description><![CDATA[Weekly report for the seventh week of the Google Summer of Code This week has started with a phone call with Tarek which answered most of the open questions I add about a lot of things. Thank you for being &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-6/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=66&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the seventh week of the Google Summer of Code</p>
<p>This week has started with a phone call with Tarek which answered most of the open questions I add about a lot of things. Thank you for being so helpful and clear!</p>
<p>I have reevaluated my schedule, since I was not sure whether the tasks listed on the wiki were for the whole summer or for the start. Tarek confirmed that the list could be changed, but in my case I think it won’t move: configure is supposed to do a lot more than was explained on the bug report, and killsetup is of course not trivial, so my first idea that I had to do them in six weeks is updated to twelve. :)</p>
<p>The work I’ve been doing this week is mostly small stuff:</p>
<ul>
<li>fixed build of hashlib (all backported modules (hashlib, _hashlib,<br />
_md5, etc.) now live under d2._backport, preventing C API version<br />
mistmatch warnings with 2.5+)</li>
<li>added try/except blocks to make sure all file handles are closed as<br />
soon as possible in all Python VMs</li>
<li>improved documentation of d2.tests.support (you should use it in your<br />
tests!)</li>
<li>fixed some tests that wouldn’t run directly (python test_thing.py)</li>
<li>coordinated fixes to other parts of the tests with Alexis (esp. 2.7<br />
compatibility)</li>
<li>lost sanity trying to find why test_upload_docs does not remove all<br />
the temporary directories it creates.</li>
</ul>
<p>I had the great pleasure of welcoming Alexis for a <a href="http://wokslog.wordpress.com/2010/07/06/mini-sprint/" title="distutils2 mini-sprint in Touraine">mini-sprint</a>. Code is fun, code with people is better! I look forward to more face-to-face meetings and coordinated work.</p>
<p>I have to confess that I’m late. Apart from being sick yesterday, I have no excuse for that, especially given the fact that all the questions that were blocking me are answered. Actually, I am not good at working alone. When in a team or with a boss, I do stuff, but alone I slack off and can’t force myself to work regularly. I have to fix that.</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=66&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Weekly Report #5: Slowdown</title>
		<link>https://wokslog.wordpress.com/2010/08/16/report-5/</link>
		<comments>https://wokslog.wordpress.com/2010/08/16/report-5/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 01:01:14 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=67</guid>
		<description><![CDATA[Weekly report for the sixth week of the Google Summer of Code We’ve been sending weekly emails and having weekly IRC meeting but my weblog has not been updated; fixing that now by copying the emails. This week I’ve continued &#8230; <a href="https://wokslog.wordpress.com/2010/08/16/report-5/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=67&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weekly report for the sixth week of the Google Summer of Code</p>
<p>We’ve been sending weekly emails and having weekly IRC meeting but my weblog has not been updated; fixing that now by copying the emails.</p>
<p>This week I’ve continued editing docs for the metadata in setup.cfg feature. I am not technically late, since I had planned to do this in a week or more, but I’ve been slow this week. I explain it with lack of self-discipline, which is not helped by the heat, and for a small part, disappointment of not getting answers to all my questions. That said, I know how busy you all are, and I remain enthusiastic :) I’ll just put the parts where I need feedback on standby and make progress on killsetup.</p>
<p>I’ve also made various changes in my general repo, and already asked for pulling. Alexis has gotten a few changesets from me too.</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=67&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/08/16/report-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
		<item>
		<title>Mini-Sprint</title>
		<link>https://wokslog.wordpress.com/2010/07/06/mini-sprint/</link>
		<comments>https://wokslog.wordpress.com/2010/07/06/mini-sprint/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 18:54:11 +0000</pubDate>
		<dc:creator>merwok</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[distutils2]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://wokslog.wordpress.com/?p=53</guid>
		<description><![CDATA[Alexis traveled through my city last week-end and came say hi yesterday. We wanted to hold a mini-sprint with people on IRC, here’s a write-up. We started with a task list and did not finish it :) First item was &#8230; <a href="https://wokslog.wordpress.com/2010/07/06/mini-sprint/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=53&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Alexis traveled through my city last week-end and came say hi yesterday. We wanted to hold a mini-sprint with people on IRC, here’s a write-up.</p>
<p>We started with a task list and did not finish it :)</p>
<p>First item was fixing the merge between Alexis and upstream. Three-way merges are tricky, and Alexis unintentionally left out some things when he merged. I shared some hard-earned knowledge of vimdiff and we both learned things, e.g. why it is useful that “hg merge” does not commit, and why the “base” pane in three-way merges is not useless. Josip said that merge conflicts are causing him pain too, so I’ll write another piece to share all of that.</p>
<p>Second item was moving _hashlib to _backport._hashlib. It’s just a nicety, not something really important, but we’d gain some knowledge about Extension and build_ext in the process. He or I will do it soon.</p>
<p>Third item was fixing the bug with unittest from Python 2.7. This was caused by a nasty version issue: Alexis thought unittest2 was still monkey-patching os.path to support relpath, but this has been fixed thanks to Konrad, and the fix was straightforward. I shall finish it and ask Tarek for pulling quickly, I just have a nasty loader/makeSuite compatibility kerfluffle to unravel.</p>
<p>Alexis said that we should not only post weekly reports on our weblogs, but also talk about things we’ve learned and explain choices we make. I definitely agree, such posts would be great to get knowledge out of brains into documentation. How many understand how distutils2.core.setup() does its work of parsing config files, command-line options, configuring commands and running them? We all started our summer by reading the code and trying to understand it. It’s totally obvious what Command.set_undefined_options does once you’ve browsed to code to understand it, but then we forget how much time it took. Turning our weeks of learning into documents that would take minutes to read would be a huge win for future distutils2 hackers. Luckily, we still have in our community people who have followed distutils since its inception, so we have a lot of gathered knowledge to turn into doc. Let’s kill the idea that the code is impossible to maintain and improve!</p>
<p>We were not a lot off-topic :) We spoke about operating systems, vim configuration, pythonicity, default arguments, boolean contexts, good bad English, fun advanced Python features, the pressure of the midterm, the fear that distutils2 won’t be ready when it is merged into the stdlib and its development slowed down, Monty Python and the Holy Grail, mentors, window managers, terminals and consoles&#8230;</p>
<p>It was not really a sprint since we did not code much, and neither did we talk much on the IRC room, but it was a great learning and bonding time! Looking forward to more face-to-face meetings with fellow Pythonistas.</p>
<p>Read <a href="http://www.notmyidea.org/article/a-distutils2-sprint-in-tours/" title="Distutils2 sprint in Tours">Alexis’ summary</a> for great plans for the documentation!</p>
<br />Filed under: <a href='https://wokslog.wordpress.com/category/gsoc/'>GSoC</a> Tagged: <a href='https://wokslog.wordpress.com/tag/distutils2/'>distutils2</a>, <a href='https://wokslog.wordpress.com/tag/python/'>python</a>, <a href='https://wokslog.wordpress.com/tag/version-control/'>version control</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wokslog.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wokslog.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wokslog.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wokslog.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wokslog.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wokslog.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wokslog.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wokslog.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wokslog.wordpress.com&amp;blog=13875647&amp;post=53&amp;subd=wokslog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://wokslog.wordpress.com/2010/07/06/mini-sprint/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">merwok</media:title>
		</media:content>
	</item>
	</channel>
</rss>
