=== What is PyPE? ===
PyPE (Python Programmers' Editor) was written in order to offer a
lightweight but powerful editor for those who think emacs is too much
and idle is too little. Syntax highlighting is included out of the box,
as is multiple open documents via tabs.
Beyond the basic functionality, PyPE offers an expandable source tree,
filesystem browser, draggable document list, todo list, filterable
function list, find and replace bars (no dialog to find or replace simple
strings), recordable and programmable macros, spell checker,
reconfigurable menu hotkeys, triggers, find in files, external process
shells, and much more.
=== More Information ===
If you would like more information about PyPE, including screenshots,
where to download the source or windows binaries, bug tracker, contact
information, or a somewhat complete listing of PyPE's features, visit
PyPE's home on the web:
http://pype.sf.net/index.shtml
If you have any questions about PyPE, please contact me, Josiah Carlson,
aka the author of PyPE, at jcarlson(a)uci.edu .
PyPE 2.7.2 includes the following changes and bugfixes since release
2.7.1:
(changed) files with at least 20,000 lines or at least 4 megs will no
longer have their bookmark or fold states saved on close. This
significantly reduces the time to close (and sometimes open) large files.
(fixed) code that uses MainWindow.exceptDialog() will now properly create
a dialog.
(fixed) wxPython 2.7 incompatability in the Browsable directory tree in
wxPython 2.7 - 2.7.1.2 .
(removed) some unnecessary debug printouts.
(changed) the 'Search' tab to better handle narrower layouts.
(fixed) the 'Ignore .subdirs' option in the 'Search' tab now gets
disabled along with 'Search Subdirectories' when applicable.
(fixed) error when opening changelog.txt on unicode-enabled
installations.
(fixed) spell checker for unicode-enabled platforms.
(fixed) case where various checkmarks in the Documents menu wouldn't
update when a document was opened, closed, or created on some platforms.
(added) --font= command line option for choosing the font that the
editor will use.
python-dev Summary for 2006-09-01 through 2006-09-15
++++++++++++++++++++++++++++++++++++++++++++++++++++
.. contents::
[The HTML version of this Summary is available at
http://www.python.org/dev/summary/2006-09-01_2006-09-15]
=============
Announcements
=============
----------------------------
QOTF: Quote of the Fortnight
----------------------------
Through a cross-posting slip-up, Jean-Paul Calderone managed to provide us with some inspiring thoughts on mailing-list archives:
One could just as easily ask why no one bothers to read mailing list
archives to see if their question has been answered before.
No one will ever know, it is just one of the mysteries of the universe.
Contributing thread:
- `[Twisted-Python] Newbie question <http://mail.python.org/pipermail/python-dev/2006-September/068682.html>`__
-------------------------
Monthly Arlington sprints
-------------------------
Jeffrey Elkner has arranged for monthly Arlington Python sprints. See the `Arlington sprint wiki`_ for more details.
.. _Arlington sprint wiki: http://wiki.python.org/moin/ArlingtonSprint
Contributing thread:
- `Arlington sprints to occur monthly <http://mail.python.org/pipermail/python-dev/2006-September/068688.html>`__
=========
Summaries
=========
-----------------------------------------
Signals, threads and blocking C functions
-----------------------------------------
Gustavo Carneiro explained a problem that pygtk was running into. Their main loop function, ``gtk_main()``, blocks forever. If there are threads in the program, they cannot receive signals because Python catches the signal and calls ``Py_AddPendingCall()``, relying on the main thread to call ``Py_MakePendingCalls()``. Since with pygtk, the main thread is blocked calling a C function, it has no way other than polling to decide when ``Py_MakePendingCalls()`` needs to be called. Gustavo was hoping for some sort of API so that his blocking thread could get notified when ``Py_AddPendingCall()`` had been called.
There was a long discussion about the feasibility of this and other solutions to his problem. One of the main problems is that almost nothing can safely be done from a signal handler context, so some people felt like having Python invoke arbitrary third-party code was a bad idea. Gustavo was reasonably confident that he could write to a pipe within that context, which was all he needed to do to solve his problem, but Nick Maclaren explained in detail some of the problems, e.g. writing proper synchronization primitives that are signal-handler safe.
Jan Kanis suggested that threads in a pygtk program should occasionally check the signal handler flags and calls PyGTK's callback to wake up the main thread. But Gustavo explained that things like the GnomeVFS library have their own thread pools and know nothing about Python so can't make such a callback.
Adam Olsen suggested that Python could create a single non-blocking pipe for all signals. When a signal was handled, the signal number would be written to that pipe as a single byte. Third-party libraries, like pygtk, could poll the appropriate file descriptor, waking up and handing control back to Python when a signal was received. There were some disadvantages to this approach, e.g. if there is a large burst of signals, some of them would be lost, but folks seemed to think that these kinds of things would not cause many real-world problems. Gustavo and Adam then worked out the code in a little more detail.
The `Py_signal_pipe patch`_ was posted to SourceForge.
.. _Py_signal_pipe patch: http://bugs.python.org/1564547
Contributing thread:
- `Signals, threads, blocking C functions <http://mail.python.org/pipermail/python-dev/2006-September/068569.html>`__
------------------------
API for str.rpartition()
------------------------
Raymond Hettinger pointed out that in cases where the separator was not found, ``str.rpartition()`` was putting the remainder of the string in the wrong spot, e.g. ``str.rpartition()`` worked like::
'axbxc'.rpartition('x') == ('axb', 'x', 'c')
'axb'.rpartition('x') == ('a', 'x', 'b')
'a'.rpartition('x') == ('a', '', '') # should be ('', '', 'a')
Thus code that used ``str.rpartition()`` in a loop or recursively would likely never terminate. Raymond checked in a fix for this, spawning an enormous discussion about how the three bits ``str.rpartition()`` returns should be named. There was widespread disagreement on which side was the "head" and which side was the "tail", and the only unambiguous one seemed to be "left, sep, right". Raymond and others were not as happy with this version because it was no longer suggestive of the use cases, but it looked like this might be the best compromise.
Contributing threads:
- `Problem withthe API for str.rpartition() <http://mail.python.org/pipermail/python-dev/2006-September/068565.html>`__
- `Fwd: Problem withthe API for str.rpartition() <http://mail.python.org/pipermail/python-dev/2006-September/068615.html>`__
---------------
Unicode Imports
---------------
Kristjan V. Jonsson submitted a `unicode import patch`_ that would allow unicode paths in sys.path and use the unicode file API on Windows. It got a definite "no" from the Python 2.5 release managers since it was already too late in the release process. Nonetheless there was a long discussion about whether or not it should be considered a bug or a feature. Martin v. Lowis explained that it was definitely a feature because it would break existing introspection tools expecting things like __file__ to be 8-bit strings (not unicode strings as they would be with the patch).
.. _unicode import patch: http://bugs.python.org/1552880
Contributing thread:
- `Unicode Imports <http://mail.python.org/pipermail/python-dev/2006-September/068686.html>`__
-------------------------
Exception and __unicode__
-------------------------
Marcin 'Qrczak' Kowalczyk reported a `TypeError from unicode()`_ when applied to an Exception class. Brett Cannon explained the source of this: BaseException defined a ``__unicode__`` descriptor which was complaining when it was handed a class, not an instance. The easiest solution seemed to be the best for Python 2.5: simply rip out the ``__unicode__`` method entirely. M.-A. Lemburg suggested that for Python 2.6 this should be fixed by introducing a tp_unicode slot.
.. _TypeError from unicode(): http://bugs.python.org/1551432
Contributing thread:
- `2.5 status <http://mail.python.org/pipermail/python-dev/2006-September/068607.html>`__
--------------------------
Slowdown in inspect module
--------------------------
Fernando Perez reported an enormous slowdown in Python 2.5's inspect module. Nick Coghlan figured out that this was a result of ``inspect.findsource()`` calling ``os.path.abspath()`` and ``os.path.normpath()`` repeatedly on the module's file name. Nick provided a `patch to speed things up`_ by caching the absolute, normalized file names.
.. _patch to speed things up: http://bugs.python.org/1553314
Contributing thread:
- `inspect.py very slow under 2.5 <http://mail.python.org/pipermail/python-dev/2006-September/068656.html>`__
--------------------------------
Cross-platform float consistency
--------------------------------
Andreas Raab asked about trying to minimize some of the cross-platform differences in floating-point calcuations, by using something like fdlibm_. Tim Peters pointed him to a `previous thread on this issue`_ and suggested that best route was probably to package a Python wrapper for fdlibm_ and see how much interest there was.
.. _fdlibm: http://www.netlib.org/fdlibm/
.. _previous thread on this issue: http://mail.python.org/pipermail/python-list/2005-July/290164.html
Contributing thread:
- `Cross-platform math functions? <http://mail.python.org/pipermail/python-dev/2006-September/068599.html>`__
-----------------------------------
Refcounting and errors in functions
-----------------------------------
Mihai Ibanescu pointed out that refcount status for functions that can fail is generally poorly documented. Greg Ewing explained that refcounting behavior should be independent of whether the call succeeds or fails, but it was clear that this was not always the case. Mihai promised to file a low-severity bug so that this problem wouldn't be lost.
Contributing thread:
- `Py_BuildValue and decref <http://mail.python.org/pipermail/python-dev/2006-September/068708.html>`__
------------
Python 2.3.6
------------
Barry Warsaw offered to push out a Python 2.3.6 if folks were interested in getting some bugfixes out to the platforms which were still running Python 2.3. After an underwhelming response, he retracted the offer. (Stay tuned though - more on 2.3.6 in future summaries.)
Contributing threads:
- `Interest in a Python 2.3.6? <http://mail.python.org/pipermail/python-dev/2006-August/068520.html>`__
- `Interest in a Python 2.3.6? <http://mail.python.org/pipermail/python-dev/2006-September/068731.html>`__
- `Python 2.4.4 was: Interest in a Python 2.3.6? <http://mail.python.org/pipermail/python-dev/2006-September/068737.html>`__
-----------------------------------
Effbot Python library documentation
-----------------------------------
Johann C. Rocholl asked about the status of http://effbot.org/lib/, Fredrik Lundh's alternative format and rendering for the Python library documentation. Fredrik indicated that due to the pushback from some folks on python-dev, they've been working mainly "under the radar" on this. (At least until some inconsiderate soul put them in the summary...) ;-)
Contributing threads:
- `That library reference, yet again <http://mail.python.org/pipermail/python-dev/2006-August/068556.html>`__
- `That library reference, yet again <http://mail.python.org/pipermail/python-dev/2006-September/068561.html>`__
================
Deferred Threads
================
- `IronPython and AST branch <http://mail.python.org/pipermail/python-dev/2006-September/068778.html>`__
==================
Previous Summaries
==================
- `Py2.5 issue: decimal context manager misimplemented, misdesigned, and misdocumented <http://mail.python.org/pipermail/python-dev/2006-September/068564.html>`__
- `Error while building 2.5rc1 pythoncore_pgo on VC8 <http://mail.python.org/pipermail/python-dev/2006-September/068582.html>`__
- `gcc 4.2 exposes signed integer overflows <http://mail.python.org/pipermail/python-dev/2006-September/068602.html>`__
- `no remaining issues blocking 2.5 release <http://mail.python.org/pipermail/python-dev/2006-September/068606.html>`__
- `new security doc using object-capabilities <http://mail.python.org/pipermail/python-dev/2006-September/068673.html>`__
===============
Skipped Threads
===============
- `A test suite for unittest <http://mail.python.org/pipermail/python-dev/2006-September/068558.html>`__
- `Fwd: [Python-checkins] r51674 - python/trunk/Misc/Vim/vimrc <http://mail.python.org/pipermail/python-dev/2006-September/068562.html>`__
- `Weekly Python Patch/Bug Summary <http://mail.python.org/pipermail/python-dev/2006-September/068567.html>`__
- `Windows build slave down until Tuesday-ish <http://mail.python.org/pipermail/python-dev/2006-September/068573.html>`__
- `[Python-checkins] TRUNK IS UNFROZEN, available for 2.6 work if you are so inclined <http://mail.python.org/pipermail/python-dev/2006-September/068605.html>`__
- `Exception message for invalid with statement usage <http://mail.python.org/pipermail/python-dev/2006-September/068665.html>`__
- `buildbot breakage <http://mail.python.org/pipermail/python-dev/2006-September/068671.html>`__
- `Change in file() behavior in 2.5 <http://mail.python.org/pipermail/python-dev/2006-September/068678.html>`__
- `'with' bites Twisted <http://mail.python.org/pipermail/python-dev/2006-September/068681.html>`__
- `What windows tool chain do I need for python 2.5 extensions? <http://mail.python.org/pipermail/python-dev/2006-September/068709.html>`__
- `2.5c2 <http://mail.python.org/pipermail/python-dev/2006-September/068742.html>`__
- `_PyGILState_NoteThreadState should be static or not? <http://mail.python.org/pipermail/python-dev/2006-September/068743.html>`__
- `BRANCH FREEZE: release25-maint, 00:00UTC 12 September 2006 <http://mail.python.org/pipermail/python-dev/2006-September/068745.html>`__
- `datetime's strftime implementation: by design or bug <http://mail.python.org/pipermail/python-dev/2006-September/068747.html>`__
- `Subversion 1.4 <http://mail.python.org/pipermail/python-dev/2006-September/068761.html>`__
- `RELEASED Python 2.5 (release candidate 2) <http://mail.python.org/pipermail/python-dev/2006-September/068766.html>`__
- `Maybe we should have a C++ extension for testing... <http://mail.python.org/pipermail/python-dev/2006-September/068768.html>`__
- `.pyc file has different result for value "1.79769313486232e+308" than .py file <http://mail.python.org/pipermail/python-dev/2006-September/068769.html>`__
- `release is done, but release25-maint branch remains near-frozen <http://mail.python.org/pipermail/python-dev/2006-September/068773.html>`__
- `fun threading problem <http://mail.python.org/pipermail/python-dev/2006-September/068774.html>`__
- `Thank you all <http://mail.python.org/pipermail/python-dev/2006-September/068779.html>`__
========
Epilogue
========
This is a summary of traffic on the `python-dev mailing list`_ from
September 01, 2006 through September 15, 2006.
It is intended to inform the wider Python community of on-going
developments on the list on a semi-monthly basis. An archive_ of
previous summaries is available online.
An `RSS feed`_ of the titles of the summaries is available.
You can also watch comp.lang.python or comp.lang.python.announce for
new summaries (or through their email gateways of python-list or
python-announce, respectively, as found at http://mail.python.org).
This python-dev summary is the 12th written by
Steve Bethard.
To contact me, please send email:
- Steve Bethard (steven.bethard at gmail.com)
Do *not* post to comp.lang.python if you wish to reach me.
The `Python Software Foundation`_ is the non-profit organization that
holds the intellectual property for Python. It also tries to advance
the development and use of Python. If you find the python-dev Summary
helpful please consider making a donation. You can make a donation at
http://python.org/psf/donations.html . Every cent counts so even a
small donation with a credit card, check, or by PayPal helps.
--------------------
Commenting on Topics
--------------------
To comment on anything mentioned here, just post to
`comp.lang.python`_ (or email python-list(a)python.org which is a
gateway to the newsgroup) with a subject line mentioning what you are
discussing. All python-dev members are interested in seeing ideas
discussed by the community, so don't hesitate to take a stance on
something. And if all of this really interests you then get involved
and join `python-dev`_!
-------------------------
How to Read the Summaries
-------------------------
This summary is written using reStructuredText_. Any unfamiliar
punctuation is probably markup for reST_ (otherwise it is probably
regular expression syntax or a typo :); you can safely ignore it. We
do suggest learning reST, though; it's simple and is accepted for
`PEP markup`_ and can be turned into many different formats like HTML
and LaTeX.
.. _python-dev: http://www.python.org/dev/
.. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev
.. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python
.. _PEP Markup: http://www.python.org/peps/pep-0012.html
.. _reST:
.. _reStructuredText: http://docutils.sf.net/rst.html
.. _Python Software Foundation: http://python.org/psf/
.. _archive: http://www.python.org/dev/summary/
.. _RSS feed: http://www.python.org/dev/summary/channews.rdf
python-dev Summary for 2006-09-16 through 2006-09-30
++++++++++++++++++++++++++++++++++++++++++++++++++++
.. contents::
[The HTML version of this Summary is available at
http://www.python.org/dev/summary/2006-09-16_2006-09-30]
=========
Summaries
=========
---------------
Import features
---------------
Fabio Zadrozny ran into the `previously reported relative import issues`_ where a ``from . import xxx`` always fails from a top-level module. This is because relative imports rely on the ``__name__`` of a module, so when it is just ``"__main__"``, they can't handle it properly.
On the subject of imports, Guido said that one of the missing import features was to be able to say "*this* package lives *here*". Paul Moore whipped up a Python API to an import hook that could do this, but indicated that a full mechanism would need to pay more attention to the environment (e.g. PYTHONPATH and .pth files).
There was also some discussion about trying to have a sort of per-module ``sys.path`` so that you could have multiple versions of the same module present, with different modules importing different versions. Phillip J. Eby suggested that this was probably not a very common need, and that implementing it would be quite difficult with things like C extensions only being able to be loaded once.
In general, people seemed interested in a pure-Python implementation of the import mechanism so that they could play with some of these approaches. It looked like Brett Cannon would probably be working on that.
.. _previously reported relative import issues: http://www.python.org/dev/summary/2006-06-16_2006-06-30/#relative-imports-a…
Contributing thread:
- `New relative import issue <http://mail.python.org/pipermail/python-dev/2006-September/068806.html>`__
----------------------------
Python library documentation
----------------------------
A less-trolly-than-usual post from Xah Lee started a discussion about the Python documentation. Greg Ewing and others suggested following the documentation style of the Inside Macintosh series: first an "About this module" narrative explaining the concepts and how they fit together, followed by the extensive API reference. Most people agreed that simply extracting the documentation from the docstrings was a bad idea -- it lacks the high-level overview and gives equal importance to all functions, regardless of their use.
Contributing thread:
- `Python Doc problems <http://mail.python.org/pipermail/python-dev/2006-September/069023.html>`__
-----------------------
OS X universal binaries
-----------------------
Jack Howarth asked about creating universal binaries for OS X that would support 32-bit or 64-bit on both PPC and x86. Ronald Oussoren pointed out that the 32-bit part of this was already supported, but indicated that adding 64-bit support simultaneously might be more difficult. Ronald and Martin v. Lowis discussed strategies for modifying pyconfig.h, though it seemed these solutions might cause distutils to detect some architecture features incorrectly. Martin suggested that this was more a problem of distutils than pyconfig.h.
Contributing thread:
- `python, lipo and the future? <http://mail.python.org/pipermail/python-dev/2006-September/068800.html>`__
----------------------------------
Finer-grained locking than the GIL
----------------------------------
Martin Devera was looking into replacing the global interpreter lock (GIL) with finer-grained locking, tuned to minimize locking by assuming that most objects were used only by a single thread. For objects that were shared across multiple threads, this approach would allow non-blocking reads, but require all threads to "come home" before modifications could be made. Phillip J. Eby pointed out that most object accesses in Python are actually modifications too, due to reference counting, so it looked like Martin's proposal wouldn't work well with the current refcounting implementation of Python. After Martin v. Lowis found a bug in the locking algorithm, Martin Devera decided to take his idea back to the drawing board.
Contributing thread:
- `deja-vu .. python locking <http://mail.python.org/pipermail/python-dev/2006-September/068828.html>`__
---------------------------
OS X and ssize_t formatting
---------------------------
The buildbots spotted an OS X error in the itertools module. After Jack Diederich fixed a bug where ``size_t`` had been used instead of ``ssize_t``, Neal Norwitz noticed some problems with ``%zd`` on OS X. Despite documentation to the contrary in both the man page and the C99 Standard, using that specifier on OS X treats a negative number as an unsigned number. Ronald Oussoren and others reported the bug to Apple.
Contributing thread:
- `test_itertools fails for trunk on x86 OS X machine <http://mail.python.org/pipermail/python-dev/2006-September/068898.html>`__
-------------------
itertools.flatten()
-------------------
Michael Foord asked about including a flatten function that would take a sequence with sub-sequences nested to an arbitrary depth and create a simple non-nested sequence from that. People were strongly opposed to adding this as a builtin, but even as an itertools function, there was disagreement. How should strings, dicts and other arbitrary iterables be flattened? Since there wasn't one clear answer, it looked like the proposal didn't have much of a chance.
Contributing thread:
- `Suggestion for a new built-in - flatten <http://mail.python.org/pipermail/python-dev/2006-September/068941.html>`__
-------------------------------
Class definition syntax changes
-------------------------------
Fabio Zadrozny noted that in Python 2.5, classes can now be declared as::
class C():
...
Some folks wanted the result to be a new-style class, but the presence or absence of ``()`` was deemed too subtle of a cue to make the new-style/old-style distinction. For the Python 2.X series, explicit subclassing of ``object`` will still be necessary.
Contributing thread:
- `Grammar change in classdef <http://mail.python.org/pipermail/python-dev/2006-September/068782.html>`__
----------------------
Python 2.5 and GCC 4.2
----------------------
Armin Rigo found some more signed integer overflows when using GCC 4.2 like the ones `reported earlier`_. Because Python 2.5 final was scheduled to be released in 24 hours, and it looked like there wouldn't be too many people affected these problems, they were deferred until 2.5.1. For the moment at least, the README indicates that GCC 4.1 and 4.2 shouldn't be used to compile Python.
.. _reported earlier: http://www.python.org/dev/summary/2006-08-16_2006-08-31/#gcc-4-2-and-intege…
Contributing threads:
- `Before 2.5 - More signed integer overflows <http://mail.python.org/pipermail/python-dev/2006-September/068781.html>`__
- `GCC 4.x incompatibility <http://mail.python.org/pipermail/python-dev/2006-September/068879.html>`__
----------------------------------
Discard method for dicts and lists
----------------------------------
Gustavo Niemeyer and Greg Ewing suggested adding ``dict.discard()`` and ``list.discard()`` along the lines of ``set.discard()``. Fred L. Drake, Jr. explained that ``dict.discard(foo)`` is currently supported with ``dict.pop(foo, None)``. There was more debate about the ``list`` version, but most people seemed to think that wrapping ``list.remove()`` with the appropriate if-statement or try-except was fine.
Contributing threads:
- `dict.discard <http://mail.python.org/pipermail/python-dev/2006-September/068884.html>`__
- `list.discard? (Re: dict.discard) <http://mail.python.org/pipermail/python-dev/2006-September/068912.html>`__
--------------------
weakref enhancements
--------------------
tomer filiba offered some additions to the weakref module, weakattr_ and weakmethod_. Raymond Hettinger questioned how frequently these would be useful in the real world, but both tomer and Alex Martelli assured him that they had real-world use-cases for these. However, there didn't generally seem to be enough support for them to include them in the standard library.
.. _weakattr: http://sebulba.wikispaces.com/recipe+weakattr
.. _weakmethod: http://sebulba.wikispaces.com/recipe+weakmethod
Contributing thread:
- `weakref enhancements <http://mail.python.org/pipermail/python-dev/2006-September/069031.html>`__
------------------------
AST structure guarantees
------------------------
Anthony Baxter asked that the AST structure get the same guarantees as the byte-code format, that is, that it would change as little as possible so that people who wanted to hack it wouldn't have to change their code for each release. Pretty much everyone agreed that this was a good idea.
In a related thread, Sanghyeon Seo asked if the AST structure should become part of the Python specification so that other implementations like IronPython_ would use it as well. While most people felt like it would be good if the various specifications had similar AST representations, it seemed like mandating it as part of the implementation would lock things down too much.
.. _IronPython: http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
Contributing threads:
- `IronPython and AST branch <http://mail.python.org/pipermail/python-dev/2006-September/068778.html>`__
- `IronPython and AST branch <http://mail.python.org/pipermail/python-dev/2006-September/068787.html>`__
- `AST structure and maintenance branches <http://mail.python.org/pipermail/python-dev/2006-September/068970.html>`__
-----------------------------
PEP 302: phase 2 import hooks
-----------------------------
For his dissertation work, Brett Cannon needed to implement phase 2 of the `PEP 302`_ import hooks. He asked for feedback on whether it would be easier to do this within the current C code, or whether it would be better to rewrite the import mechanisms in Python first. Phillip J. Eby gave some advice on how to restructure things, and suggested that the C code was somewhat delicate and having a Python implementation around would be a Good Thing. Armin Rigo strongly recommended rewriting things in Python.
.. _PEP 302: http://www.python.org/dev/peps/pep-0302/
Contributing thread:
- `difficulty of implementing phase 2 of PEP 302 in Python source <http://mail.python.org/pipermail/python-dev/2006-September/069017.html>`__
--------------------------------------
Testsuite, Windows and spaces in paths
--------------------------------------
Martin v. Lowis was trying to fix some bugs where spaces in Windows paths caused some of the testsuite to fail. For example, test_popen was getting an error because ``os.popen`` invoked::
cmd.exe /c "c:\Program Files\python25\python.exe" -c "import sys;print sys.version"
which failed complaining that c:\Program is not a valid executable. Jean-Paul Calderon and Tim Peters explained that the ``cmd.exe`` part is necessary to force proper cmd.exe-style argument parsing and to allow environment variable substitution. After scrutinizing the MS quoting rules, it seemed like fixing this for Python 2.5 was too likely to introduce incompatibilities, so it was postponed to 2.6.
Contributing thread:
- `Testsuite fails on Windows if a space is in the path <http://mail.python.org/pipermail/python-dev/2006-September/068784.html>`__
-----------------------------------------
PEP 353: Backwards-compatibility #defines
-----------------------------------------
David Abrahams suggested a modification to the suggested backwards-compatibility #define incantation of `PEP 353`_ so that the PY_SSIZE_T_MAX and PY_SSIZE_T_MIN would only ever get defined once. There was some discussion about whether or not this was absolutely necessary, but everyone agreed that the change was probably sensible regardless.
.. _PEP 353: http://www.python.org/dev/peps/pep-0353/
Contributing thread:
- `Pep 353: Py_ssize_t advice <http://mail.python.org/pipermail/python-dev/2006-September/068944.html>`__
----------------
Shrinking Python
----------------
Milan Krcmar asked about what he could drop from Python to make it small enough to fit on a platform with only 2 MiB of flash ROM and 16 MiB of RAM. Giovanni Bajo suggested dropping the CJK codecs (which account for about 800K), though he also noted that after that there weren't any really low-hanging fruit. Martin v. Lowis suggested that he might also get a gain out of dropping support for dynamic loading of extension modules, and linking all necessary modules statically. Gustavo Niemeyer pointed him to `Python for S60`_ and `Python for Maemo`_ which had to undergo similar stripping down.
.. _Python for S60: http://opensource.nokia.com/projects/pythonfors60/
.. _Python for Maemo: http://pymaemo.sf.net
Contributing thread:
- `Minipython <http://mail.python.org/pipermail/python-dev/2006-September/068987.html>`__
================
Deferred Threads
================
- `Removing __del__ <http://mail.python.org/pipermail/python-dev/2006-September/068875.html>`__
- `Caching float(0.0) <http://mail.python.org/pipermail/python-dev/2006-September/069049.html>`__
- `PEP 355 status <http://mail.python.org/pipermail/python-dev/2006-September/069059.html>`__
- `PEP 351 - do while <http://mail.python.org/pipermail/python-dev/2006-September/069088.html>`__
==================
Previous Summaries
==================
- `Signals, threads, blocking C functions <http://mail.python.org/pipermail/python-dev/2006-September/068996.html>`__
===============
Skipped Threads
===============
- `Thank you all <http://mail.python.org/pipermail/python-dev/2006-September/068780.html>`__
- `BRANCH FREEZE/IMMINENT RELEASE: Python 2.5 (final). 2006-09-19, 00:00UTC <http://mail.python.org/pipermail/python-dev/2006-September/068819.html>`__
- `RELEASED Python 2.5 (FINAL) <http://mail.python.org/pipermail/python-dev/2006-September/068851.html>`__
- `release25-maint branch - please keep frozen for a day or two more. <http://mail.python.org/pipermail/python-dev/2006-September/068852.html>`__
- `Download URL typo <http://mail.python.org/pipermail/python-dev/2006-September/068855.html>`__
- `Exceptions and slicing <http://mail.python.org/pipermail/python-dev/2006-September/068866.html>`__
- `Weekly Python Patch/Bug Summary <http://mail.python.org/pipermail/python-dev/2006-September/068872.html>`__
- `release25-maint is UNFROZEN <http://mail.python.org/pipermail/python-dev/2006-September/068878.html>`__
- `Small Py3k task: fix modulefinder.py <http://mail.python.org/pipermail/python-dev/2006-September/068883.html>`__
- `win32 - results from Lib/test - 2.5 release-maint <http://mail.python.org/pipermail/python-dev/2006-September/068888.html>`__
- `Weekly Python Patch/Bug Summary ** REVISED ** <http://mail.python.org/pipermail/python-dev/2006-September/068893.html>`__
- `[Python-checkins] release25-maint is UNFROZEN <http://mail.python.org/pipermail/python-dev/2006-September/068937.html>`__
- `Python network Programmign <http://mail.python.org/pipermail/python-dev/2006-September/068938.html>`__
- `Relative import bug? <http://mail.python.org/pipermail/python-dev/2006-September/068942.html>`__
- `GCC patch for catching errors in PyArg_ParseTuple <http://mail.python.org/pipermail/python-dev/2006-September/068958.html>`__
- `Typo.pl scan of Python 2.5 source code <http://mail.python.org/pipermail/python-dev/2006-September/068963.html>`__
- `Maybe we should have a C++ extension for testing... <http://mail.python.org/pipermail/python-dev/2006-September/068971.html>`__
- `Python 2.5 bug? Changes in behavior of traceback module <http://mail.python.org/pipermail/python-dev/2006-September/068975.html>`__
- `Need help with C - problem in sqlite3 module <http://mail.python.org/pipermail/python-dev/2006-September/068979.html>`__
- `PyErr_CheckSignals error return value <http://mail.python.org/pipermail/python-dev/2006-September/068994.html>`__
- `python-dev summary for 2006-08-01 to 2006-08-15 <http://mail.python.org/pipermail/python-dev/2006-September/069002.html>`__
- `2.4.4c1 October 11, 2.4.4 final October 18 <http://mail.python.org/pipermail/python-dev/2006-September/069003.html>`__
- `[SECUNIA] "buffer overrun in repr() for unicode strings" Potential Vulnerability (fwd) <http://mail.python.org/pipermail/python-dev/2006-September/069007.html>`__
- `List of candidate 2.4.4 bugs? <http://mail.python.org/pipermail/python-dev/2006-September/069008.html>`__
- `openssl - was: 2.4.4c1 October 11, 2.4.4 final October 18 <http://mail.python.org/pipermail/python-dev/2006-September/069013.html>`__
- `Collecting 2.4.4 fixes <http://mail.python.org/pipermail/python-dev/2006-September/069024.html>`__
- `os.unlink() closes file? <http://mail.python.org/pipermail/python-dev/2006-September/069052.html>`__
- `Tix not included in 2.5 for Windows <http://mail.python.org/pipermail/python-dev/2006-September/069070.html>`__
- `Possible semantic changes for PEP 352 in 2.6 <http://mail.python.org/pipermail/python-dev/2006-September/069091.html>`__
========
Epilogue
========
This is a summary of traffic on the `python-dev mailing list`_ from
September 16, 2006 through September 30, 2006.
It is intended to inform the wider Python community of on-going
developments on the list on a semi-monthly basis. An archive_ of
previous summaries is available online.
An `RSS feed`_ of the titles of the summaries is available.
You can also watch comp.lang.python or comp.lang.python.announce for
new summaries (or through their email gateways of python-list or
python-announce, respectively, as found at http://mail.python.org).
This python-dev summary is the 13th written by
Steve Bethard.
To contact me, please send email:
- Steve Bethard (steven.bethard at gmail.com)
Do *not* post to comp.lang.python if you wish to reach me.
The `Python Software Foundation`_ is the non-profit organization that
holds the intellectual property for Python. It also tries to advance
the development and use of Python. If you find the python-dev Summary
helpful please consider making a donation. You can make a donation at
http://python.org/psf/donations.html . Every cent counts so even a
small donation with a credit card, check, or by PayPal helps.
--------------------
Commenting on Topics
--------------------
To comment on anything mentioned here, just post to
`comp.lang.python`_ (or email python-list(a)python.org which is a
gateway to the newsgroup) with a subject line mentioning what you are
discussing. All python-dev members are interested in seeing ideas
discussed by the community, so don't hesitate to take a stance on
something. And if all of this really interests you then get involved
and join `python-dev`_!
-------------------------
How to Read the Summaries
-------------------------
This summary is written using reStructuredText_. Any unfamiliar
punctuation is probably markup for reST_ (otherwise it is probably
regular expression syntax or a typo :); you can safely ignore it. We
do suggest learning reST, though; it's simple and is accepted for
`PEP markup`_ and can be turned into many different formats like HTML
and LaTeX.
.. _python-dev: http://www.python.org/dev/
.. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev
.. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python
.. _PEP Markup: http://www.python.org/peps/pep-0012.html
.. _reST:
.. _reStructuredText: http://docutils.sf.net/rst.html
.. _Python Software Foundation: http://python.org/psf/
.. _archive: http://www.python.org/dev/summary/
.. _RSS feed: http://www.python.org/dev/summary/channews.rdf
Hi all,
I'm pleased to announce release 0.61.0 of Task Coach. New in this release:
Bugs fixed:
* Displaying a previously hidden toolbar would result in an incorrectly
drawn window.
* Exported HTML didn't contain an explicit charset.
* Negative effort preventation was not working correctly.
Features added:
* Hierarchical categories.
* Export in Comma Separated Values (CSV) format. As with export to HTML,
the current view is exported.
* Task Coach can be run from a removable medium, such as a USB stick. On
Windows, use the installer to install Task Coach to the medium. Then,
start Task Coach and turn the setting 'Save settings to same directory
as program' on. This setting can be found in Edit -> Preferences ->
File). This makes sure the TaskCoach.ini file is saved on the removable
medium, in the same directory as the main program.
What is Task Coach?
Task Coach is a simple task manager that allows for hierarchical
tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is
developed using Python and wxPython. You can download Task Coach from:
http://taskcoach.niessink.comhttps://sourceforge.net/projects/taskcoach/
A binary installer is available for Windows XP and a disk image is
available for Mac OSX, in addition to the source distribution.
Note that Task Coach is alpha software, meaning that it is wise to back
up your task file regularly, and especially when upgrading to a new release.
Cheers, Frank
After many 0.9* versions, pydf version 1 is released.
pydf displays the amount of used and available space on your
filesystems, just like df, but in colours. The output format is
completely customizable.
Pydf was written and works on Linux, but should work also on other
modern UNIX systems (including MacOSX).
URL:
http://kassiopeia.juls.savba.sk/~garabik/software/pydf/
License:
public domain
Changes since the last version:
* show read only mounted filesystems in different colour (thanks
to Michał J. Gajda and Bastian Kleineidam)
* work around python statvfs 32-bit overflow bug (this manifested
itself with filesystems bigger than 2147483648 blocks)
--
-----------------------------------------------------------
| Radovan Garabík http://kassiopeia.juls.savba.sk/~garabik/ |
| __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk |
-----------------------------------------------------------
Antivirus alert: file .signature infected by signature virus.
Hi! I'm a signature virus! Copy me into your signature file to help me spread!
http://www.michipug.org/
The November meeting of MichiPUG will be tomorrow, Thursday, November
2nd at 7PM at the Arbor Networks office. Last month's meeting had a
filled schedule with talks on wxPython and Twill. This month, we've
got our most open schedule that we've had for a few months. The one
topic we've decided on is that we're going to talk about editors and
people will be free to show off some of the cool Python editing
related features of their favorite editor/IDE.
In months past when we didn't have a full schedule, we've still had
plenty to talk about. The time is left open for any random Python
question or quick topics that people want discuss. So, bring along
your editor and any burning Python questions and join us!
(Meetings are free, and the meeting is at the Arbor Networks office in
downtown Ann Arbor)
Hi All,
Pydev and Pydev Extensions 1.2.5 have been released
Details on Pydev Extensions: http://www.fabioz.com/pydev
Details on Pydev: http://pydev.sf.net
Details on its development: http://pydev.blogspot.com
Release Highlights in Pydev Extensions:
-----------------------------------------------------------------
* Minor bug on mark occurrences fixed
* The quick outline now will go to the 'sole item' in the tree even if it is
not selected (and OK is pressed)
Release Highlights in Pydev:
----------------------------------------------
* Early release of the Pydev package explorer View. Features already
implemented:
o Common resource actions (delete, copy, rename, team...)
o Shows the Source folder with a different icon
o Linking mode enabled
o Shows the outline for a python file
o Opening an item in the outline opens the correct place in the
correspondent file
o NOTE: The package explorer is still in a beta state
* Debugger bug-fix: Crash when debugging wxPython programs should not happen
anymore
* When opening a file, the encoding is considered (and not only when saving
it)
* Patches from Gergely Kis:
o Option for having a 'default interpreter' in the combo for selecting
which interpreter to use for a run
o Saving the things related to the pydev project in a .pydevproject
file to be commited
* Patch from Gregory Golberg:
o Ctrl+Shift+D when a variable is selected in debug mode shows the
variable value
What is PyDev?
---------------------------
PyDev is a plugin that enables users to use Eclipse for Python and Jython
development -- making Eclipse a first class Python IDE -- It comes with many
goodies such as code completion, syntax highlighting, syntax analysis,
refactor, debug and many others.
Cheers,
--
Fabio Zadrozny
------------------------------------------------------
Software Developer
ESSS - Engineering Simulation and Scientific Software
http://www.esss.com.br
Pydev Extensions
http://www.fabioz.com/pydev
Pydev - Python Development Enviroment for Eclipse
http://pydev.sf.nethttp://pydev.blogspot.com
On behalf of the Python development team and the Python
community, I'm happy to announce the release of Python 2.3.6
(FINAL).
Python 2.3.6 is a security bug-fix release. While Python 2.5
is the latest version of Python, we're making this release for
people who are still running Python 2.3. Unlike the recently
released 2.4.4, this release only contains a small handful of
security-related bugfixes. See the website for more.
* Python 2.3.6 contains a fix for PSF-2006-001, a buffer overrun
* in repr() of unicode strings in wide unicode (UCS-4) builds.
* See http://www.python.org/news/security/PSF-2006-001/ for more.
This is a **source only** release. The Windows and Mac binaries
of 2.3.5 were built with UCS-2 unicode, and are therefore not
vulnerable to the problem outlined in PSF-2006-001. The PCRE fix
is for a long-deprecated module (you should use the 're' module
instead) and the email fix can be obtained by downloading the
standalone version of the email package.
Most vendors who ship Python should have already released a
patched version of 2.3.5 with the above fixes, this release is
for people who need or want to build their own release, but don't
want to mess around with patch or svn.
There have been no changes (apart from the version number) since the
release candidate of 2.3.6.
Python 2.3.6 will complete python.org's response to PSF-2006-001.
If you're still on Python 2.2 for some reason and need to work
with UCS-4 unicode strings, please obtain the patch from the
PSF-2006-001 security advisory page. Python 2.4.4 and Python 2.5
have both already been released and contain the fix for this
security problem.
For more information on Python 2.3.6, including download links
for source archives, release notes, and known issues, please see:
http://www.python.org/2.3.6
Highlights of this new release include:
- A fix for PSF-2006-001, a bug in repr() for unicode strings
on UCS-4 (wide unicode) builds.
- Two other, less critical, security fixes.
Enjoy this release,
Anthony
Anthony Baxter
anthony(a)python.org
Python Release Manager
(on behalf of the entire python-dev team)
Hi all,
The new version of the web framework Karrigell has just been released
It features InstantSite, an online application that manages MySQL
databases. Users can create and drop databases, create or drop tables,
add and remove fields with their types and options. A click is enough
to generate the script that will allow users to add, edit and remove
rows in this table
This script is a "Karrigell service" that can be edited to fit
particular needs
You can see an online demo here :
http://quentel.pierre.free.fr/Karrigell/InstantSite_demo.html
Karrigell main page : http://karrigell.sourceforge.net
Download : http://sourceforge.net/project/showfiles.php?group_id=67940
Regards,
Pierre