[Idle-dev] Suggestions idle-dev
Ned Deily
nad at acm.org
Wed Apr 13 03:06:20 CEST 2011
In article <BANLkTinHUC8q=FCo7KvCAEARf+Q5qHHXEQ at mail.gmail.com>,
phil jones <interstar at gmail.com> wrote:
> On Wed, Apr 13, 2011 at 12:07 AM, phelix <nabble at traction.de> wrote:
> > Over the last couple of months I have collected a couple of small but imho
> > important modifications / bugs to make working with IDLE smoother. But I
> > would prefer very much to discuss these in a more active environment.
> >
> > Taking part in IDLE-development seems very hard, though it really does not
> > have to be. On the code-side everything is fine but marketing-wise things
> > are not so good. Just take this mailing list. I am in my thirties and to me
> > it looks like from the stone age. Who wants his eMail-account spammed with
> > a
> > mailing list? I would prefer a regular forum and I think a lot of people
> > would, especially the younger ones.
> >
> > Also this list is hard to find. It is not mentioned anywhere on the
> > idle-homepage and not very obvious in the program.
The IDLE-dev mailing list is one of many hosted by python.org. See
http://www.python.org/community/lists/ for the link to the complete list
here: http://mail.python.org/mailman/listinfo
If you would prefer other formats, the mailing list is mirrored
elsewhere. In particular, gmane.org offers a bi-directional mirror of
the list is several formats, including web-based blog and NNTP newsfeeds:
http://dir.gmane.org/gmane.comp.python.idle
> A couple of things. Is there a source-code repository on Github (or
> some Mercurial equivalent) where everyone can see the
> work-in-progress?
IDLE is part of the Python standard library. It resides in Lib/idlelib
with the Python source tree. The "default" branch of the tree is where
all feature work happens; it will be what is released as Python 3.3.
You can view the source here:
http://hg.python.org/cpython/file/default/Lib/idlelib
The code for other branches can be viewed here:
http://hg.python.org/cpython/branches
where 3.2 is what is in progress for 3.2.1, 3.1 for 3.1.4 (likely the
last bug fix release for 3.1), and 2.7 for 2.7.2. Older branches are
closed except for critical security fixes.
There is a newly written Python Developer's Guide which describes the
whole process of how to develop and contribute fixes and features for
Python in general. It applies to IDLE as well:
http://docs.python.org/devguide/
> Is IDLE still part of the Python standard package? I use Ubuntu and I
> always find I have to install Idle separately from Python. I don't
> know if this is a Ubuntu perversity or whether Idle is now a
> stand-alone thing. Given that people always seem to have problems
> getting patches into the standard distribution maybe stand-alone would
> be better. But who would make this decision?
Some distributors of Python, like Ubuntu and Debian, choose to break out
IDLE and other parts of the standard library into separate packages.
Other distributions, like those from python.org/downloads, do not.
Presumably, the rationale for making IDLE a separate package might be
because of its dependency on Tcl/Tk. Technically, IDLE uses the Python
standard library Tkinter module which is dependent on Tcl/Tk.
IMO, that dependency on Tcl/Tk is both IDLE's strength and weakness. (I
should state that these are my opinions based on working on various
recent fixes for IDLE on Mac OS X and not so much as an IDLE user.) The
plus is that Tk is implemented on many platforms and thus gives IDLE and
other Tkinter-based graphical apps high-level platform independence.
But the weakness is that Tcl/Tk itself is aging and does not always
provide a native look-and-feel. Or there are significant compromises
made on a platform to maintain that platform independence. (The various
Mac OS X "native" Tcl/Tk implementations are a prime example.) Longer
term, a replacement for IDLE using a more modern GUI interface would be
an interesting project. That really means finding a replacement for
Tkinter in the standard library. One of the most promising efforts for
that is Greg Ewing's PyGUI project:
http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/
I'd love to see someone try to reimplement IDLE using it. That would go
a long way towards helping to "get the library and its documentation
included in the core Python distribution", a stated goal of PyGUI.
In the mean time, both IDLE and Tkinter are underrepresented in the
Python development community. They both could use more help. Your
patches are welcome. The best thing to do is to follow the standard
process outlined in the devguide and submit patches through the standard
bug tracker.
Another big, big help would be to update and test submitted patches on
the various Tk platforms: Windows, Unix X-windows, Mac OS X Aqua.
Reporting the results on the bug tracker can help to move things along.
I, for one, would be much more likely to commit a fix if there were
independent confirmation that it is up-to-date and works as documented
(which implies some sort of documentation, too).
And yet another big area is documentation for IDLE. Currently, it is
very sparse, between IDLE's build-in help file and the standard docs.
The source for both are included in the source tree so doc patches for
them would also be very welcome.
At the moment, there are no tests for IDLE that I am aware of, at least
in the standard library. This is a big problem for developers (like me)
when wanting to add fixes or features. Currently, there is no way to
regression test fixes without time-consuming hit-or-miss manual testing
which really needs to be done on at least what I think of as the three
major variants (Windows, OS X, X11). Few people have the know-how or
setup to do that. Python has a good and growing test base but very
little at the moment for GUI testing. An IDLE test base would be a huge
step forward in that area.
So, lots of ideas and possibilities. As with most all-volunteer open
source projects, what happens is really up to those of us who step up
and dig in.
--
Ned Deily,
nad at acm.org
More information about the IDLE-dev
mailing list