The Twisted team is proud to announce Twisted 0.99.3, our release candidate for Twisted 1.0 Developer Platform.
For more information, visit http://www.twistedmatrix.com, join the list at
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python or visit us on #twisted at irc.freenode.net (also known as irc.openprojects.net).
What is Twisted?
Twisted is an event-based framework for internet applications. It includes a
web server, a telnet server, a chat server, a news server, a generic client
and server for remote object access, and APIs for creating new protocols and
services. Twisted supports integration of the Tk, GTK+, Qt or wxPython event
loop with its main event loop. The Win32 event loop is also supported, as is
basic support for running servers on top of Jython. Twisted works with
Python 2.1 and Python 2.2. Twisted even supports the CVS versions of Python,
so it is ready for Python 2.3.
Twisted currently supports the following protocols, all implemented in pure
python, most of them as both servers and clients:
- SOCKSv4 (server only)
- AOL's instant messaging TOC
- OSCAR, used by AOL-IM as well as ICQ (client only)
- Echo, discard, chargen and friends
- Twisted Perspective Broker, a remote object protocol
What's new in 0.99.3
- More fixes for HTTP
- Continued work on Woven web framework
- Got rid of remaining uses of deprecated APIs
We would like to inform you that all the participants of the following conferences
will receive, except the Proceedings, two Books (or CDs) free from WSEAS Press
NEW Deadline for paper submission: October 31, 2002
4th WSEAS Int. Conf. on MATHEMATICAL METHODS AND COMPUTATIONAL TECHNIQUES IN
ELECTRICAL ENGINEERING (MMACTEE 2002)
Astir Palace, Vouliagmeni, Athens, Greece, Dec. 29-31, 2002
1st WSEAS Int. Conf. on NON-LINEAR ANALYSIS, NON-LINEAR SYSTEMS AND CHAOS (NOLASC
Astir Palace, Vouliagmeni, Athens, Greece, Dec. 29-31, 2002
2nd WSEAS Int. Conf. on WAVELET ANALYSIS AND MULTIRATE SYSTEMS (WAMUS 2002)
Astir Palace, Vouliagmeni, Athens, Greece, Dec. 29-31, 2002
* * *
To unsubscribe, send an email to
REMOVE or UNSUBSCRIBE.
If you use different email account, include
the email account(s) that you want to unsubscribe in the Body of your message.
I am pleased to announce the second beta releases of ZODB3 and ZEO2.
These are the last beta releases. We expect to release the final
versions in two weeks.
ZODB is an object database for Python that provides transactional
persistence while requiring few, if any, changes to application logic.
ZEO is a client-server storage system for ZODB. The ZEO2 package is
released on its own and as part of ZODB3. The separate release is for
Zope users, who already have ZODB.
You can get source releases from http://www.zope.org/Products/StandaloneZODB
and http://www.zope.org/Products/ZEO. The ZODB3 release requires a C
compiler, while the ZEO2 release is pure Python.
The components you get with the ZODB3 release are as follows:
- Core ZODB, including the persistence machinery
- Standard storages such as FileStorage
- Supporting modules such as ExtensionClass
- The persistent BTrees modules
- ZEO (versions 1 and 2)
- Experimental Berkeley storages
- Updated documentation
The beta release contains roughly the same version of ZODB that will
be included in Zope 2.6. The two releases are not directly
coordinated, so there may be some subtle differences.
Many people have contributed to ZODB3. Special thanks to Toby
Dickenson for the new ZODB Connection cache. Many people at Zope
Corp. have contributed code and tested unreleased versions.
There were many changes and bug fixes to ZEO since the last beta
release, but very few changes to ZODB. See the NEWS.txt file for
PyTables is a Python package which allows dealing with HDF5 tables. Such
a table is defined as a collection of records whose values are stored in
fixed-length fields. PyTables is intended to be easy-to-use, and tries to
be a high-performance interface to HDF5. To achieve this, the newest
improvements introduced in Python 2.2 (like generators or slots and
metaclasses in new-brand classes) has been used. Pyrex creation extension
tool has been chosen to access the HDF5 library.
This package should be platform independent, but until now I've tested it
only with Linux. It's the first public release (v 0.1), and it is in
You can get it from:
There is still not a project home page. Perhaps in next days.
Francesc Alted PGP KeyID: 0x61C8C11F
Scientific aplications developer
Public PGP key available: http://www.openlc.org/falted_at_openlc.asc
Key fingerprint = 1518 38FE 3A3D 8BE8 24A0 3E5B 1328 32CC 61C8 C11F
WWW2003 CALL FOR PAPERS
The Twelfth International World Wide Web Conference
May 20-24, 2003, Budapest, Hungary
Paper submission deadline: November 15, 2002
The International World Wide Web Conference Committee (IW3C2) and the
Computer and Automation Research Institute of the Hungarian Academy of
Sciences (MTA SZTAKI) cordially invite you to participate in the
Twelfth International World Wide Web Conference on May 20-24, 2003, in
International researchers, technologists, and leaders from academia,
industry, and government will gather at WWW2003 to define, refine,
present, demonstrate, and discuss the latest ideas and developments.
The technical program will include refereed paper presentations,
alternate tracks including an Industrial track (see below), plenary
sessions, panels, and poster sessions. Tutorials and workshops will
precede the main program, and a Developers Day will follow, which will
be devoted to in-depth technical sessions designed specifically for
Hungary is situated at the heart of Europe, and has one of the fastest
growing economies in the region, especially with respect to
information technology and telecommunication. Budapest is one of the
most beautiful capitals of the world, and is easy to reach by air or
on ground. The warm hospitality of the people, excellent food,
reliable and frequent public transportation, vivid cultural life, and
rich museums attract millions of visitors every year. Hungary has a
visitor-friendly visa policy, economically priced services and goods,
and a pleasant climate, making it one of the most popular meeting
*** Paper submission deadline: November 15, 2002 ***
Author notification (papers): January 31, 2003
Final papers due: February 28, 2003
Poster submission deadline: January 15, 2003
Author notification (posters): February 28, 2003
Tutorial/workshop proposals deadline: October 15, 2002
Panel proposals deadline: November 15, 2002
Conference: May 20-24, 2003
REFEREED PAPERS TRACK
WWW2003 seeks original papers describing research in all areas of the
web. Papers should not have been published or be in submission at
another conference or journal. Topics include but are not limited to:
* Browsers and User Interfaces
* Electronic Commerce
* Mobility and Wireless Access
* Performance and Reliability
* Search and Data Mining
* Security and Privacy
* Semantic Web
* Web Engineering [New for WWW2003]
Submissions should present original reports of substantive new
work. Papers should properly place the work within the field, cite
related work, and clearly indicate the innovative aspects of the work
and its contribution to the field. We will not accept any paper which,
at the time of submission, is under review for or has already been
published or accepted for publication in a journal or another
Papers will be peer-reviewed by at least 3 reviewers from an
International Program Committee. Accepted papers will appear in the
conference proceedings published by the Association for Computing
Machinery (ACM), and will also be accessible to the general public via
http://www2003.org/. Authors are not required to transfer
copyright. Detailed formatting and submission requirements are
available at http://www2003.org/cfp.htm. Inquiries can be sent to
Alternate tracks include a combination of peer-reviewed papers and
invited presentations. Accepted papers will appear in a separate
printed proceedings to the main refereed track proceedings (excluding
Panels and the Industrial and W3C tracks).
* Global Community
* Industrial Track
* Practice & Experience
* Web Services [New for WWW2003]
* W3C Track (latest news and views from the World Wide Web Consortium)
Detailed formatting and submission requirements are available at
http://www2003.org/cfp.htm. Inquiries can be sent to
The Industrial Track provides a forum for vendors, open source
developers, and industry, academic, and government deployers. For more
information and submission details see http://www2003.org/it/.
Inquiries can be sent to mario(a)jeckle.de.
PROGRAM COMMITTEE CO-CHAIRS
Yih-Farn Robin Chen, AT&T Labs - Research, chen(a)research.att.com
László Kovács, MTA SZTAKI, laszlo.kovacs(a)sztaki.hu
Steve Lawrence, NEC Research Institute, lawrence-www(a)necmail.com
Posters provide a forum for late-breaking research, and facilitate
feedback in an informal setting. Posters are peer-reviewed. The poster
area provides an opportunity for researchers and practitioners to
present and demonstrate their recent web-related research, and to
obtain feedback from their peers in an informal setting. It gives
conference attendees a way to learn about innovative works in progress
in a timely and informal manner. Formatting and submission
requirements are available at http://www2003.org/cfp.htm. Inquiries
can be sent to king(a)cse.cuhk.edu.hk.
TUTORIALS AND WORKSHOPS
A program of tutorials will cover topics of current interest to web
design, development, services, operation, use, and evaluation. These
half and full-day sessions will be led by internationally recognized
experts and experienced instructors using prepared content.
Workshops provide an opportunity for researchers, designers, leaders,
and practitioners to explore current web R&D issues through a more
focused and in-depth manner than is possible in a traditional
conference session. Participants typically present position statements
and hold in-depth discussions with their peers within the workshop
For more information and submission details see
http://www2003.org/tut&ws.htm. Inquiries can be sent to
Panels provide an interactive forum that will engage both panelists
and the audience in lively discussion of important and often
controversial issues. For more information and submission details see
http://www2003.org/panels.htm. Inquiries can be sent to
Best Paper, Best Student Paper, Best Alternate Track Paper, Best
Alternate Track Student Paper, Best Poster, Best Student Poster, and
Best Presentation awards will be presented at the conference.
Developers Day (D-Day) will be devoted to the interests of web
developers, and will offer in-depth discussions of technologies and
tools at the forefront of the web. This day-long program will consist
of several parallel streams focused on specific content areas. D-Day
sessions are designed to be timely and state-of-the-art.
For more information and submission details see http://www2003.org/dd/.
Inquiries can be sent to ivan(a)w3.org.
REFEREED TRACK AREA CHAIRS
Vice Chair: Fred Douglis, IBM Research, USA
Deputy Vice Chair: Maarten van Steen, VU Amsterdam, Netherlands
Browsers and UI:
Vice Chair: Marc Najork, Microsoft Research, USA
Deputy Vice Chair: Juliana Freire, OGI/OHSU, USA
Vice Chair: Michael Wellman, University of Michigan, USA
Deputy Vice Chair: John Riedl, University of Minnesota, USA
Vice Chair: m.c. schraefel, University of Toronto, Canada
Deputy Vice Chair: Peter Nürnberg, Aalborg University Esbjerg, Denmark
Mobility and Wireless Access:
Vice Chair: Minoru Etoh, NTT DoCoMo, Japan
Deputy Vice Chair: Sarolta Dibuz, Ericsson, Hungary
Vice Chair: James Wang, Penn State University, USA
Deputy Vice Chair: Eric Chang, Microsoft Research, China
Performance and Reliability:
Vice Chair: Craig E. Wills, WPI, USA
Deputy Vice Chair: Mike Dahlin, UT Austin, USA
Search and Data Mining:
Vice Chair: Soumen Chakrabarti, Indian Institute of Technology, India
Deputy Vice Chair: Prabhakar Raghavan, Verity, USA
Security and Privacy:
Vice Chair: Avi Rubin, AT&T Labs - Research, USA
Deputy Vice Chair: Brian LaMacchia, Microsoft, USA
Vice Chair: Ian Horrocks, University of Manchester, UK
Deputy Vice Chair: Brian McBride, HP, Bristol, UK
Vice Chair: Martin Gaedke, University of Karlsruhe, Germany
Deputy Vice Chair: Daniel Schwabe, Pontifical Catholic University of Rio de Janeiro, Brazil
ALTERNATE TRACK CHAIRS
Co-Chair: Paul De Bra, Eindhoven University of Technology, Netherlands
Co-Chair: Wolfgang Nejdl, University of Hannover, Germany
Co-Chair: David De Roure, University of Southampton, UK
Co-Chair: Liddy Nevile, La Trobe University, Australia
Chair: Mario Jeckle, DaimlerChrysler, Germany
Deputy Chair: Mary Ellen Zurko, IBM Software Group
Practice & Experience:
Chair: Arun Iyengar, IBM Research, USA
Deputy Chair: Krishna Kant, Intel
Chair: Steve Vinoski, IONA Technologies, USA
Deputy Chair: Francisco (Paco) Curbera, IBM Research, USA
Chair: Marie-Claire Forgue, W3C, France
Chair: Carole Goble, University of Manchester, UK
Deputy Chair: Bernard Horan, Sun Microsystems Ltd, UK
TUTORIALS AND WORKSHOPS CO-CHAIRS
Michael Bieber, New Jersey Institute of Technology, bieber(a)oak.njit.edu
Beatrix Toth, MTA SZTAKI, Beatrix.Toth(a)ella.hu
Irwin King, The Chinese University of Hong Kong, king(a)cse.cuhk.edu.hk
Tamas Maray, Technical University of Budapest, Hungary, maray(a)fsz.bme.hu
DEVELOPERS DAY CO-CHAIRS
Ivan Herman, W3C, ivan(a)w3.org
János Szél, MÁV Informatics, janos_szel(a)freemail.hu
Gusztav Hencsey, MTA SZTAKI, hencsey(a)sztaki.hu
Bebo White, Stanford Linear Accelerator Center, bebo(a)slac.stanford.edu
IW3C2 LIAISON TO WWW2003
Ivan Herman, W3C, ivan(a)w3.org
IW3C2 LIAISON TO THE PROGRAM COMMITTEE
Arun Iyengar, IBM Research, USA, aruni(a)us.ibm.com
International World Wide Web Conference Committee (IW3C2), http://www.iw3c2.org/
Computer and Automation Research Institute of the Hungarian Academy of
Sciences (MTA SZTAKI), http://www.sztaki.hu/
International Federation for Information Processing Working Group 6.4
on Internet Applications Engineering (IFIP WG 6.4), and the World Wide
Web Consortium (W3C).
General questions about WWW2003 may be sent to info(a)www2003.org
ActiveState is pleased to announce the release of Komodo 2.0 for
This release is a major upgrade from Komodo 1.2, adding more power,
flexibility and automation to the #1 IDE for open source languages.
For more information, scroll down or click here:
Key new features in Komodo 2.0 include:
* Enhanced Project Management
* Source Code Control Integration
* ActiveState GUI Builder
* Integrated Visual Package Manager
* Customizable Key Bindings
* Code Snippets
* Enhanced Run Command
* Editor Improvements
Komodo 2.0 is available in two editions:
Komodo 2.0 Professional Edition is for commercial usage, and
features Source Code Control Integration, Visual Package Manager,
and ActiveState GUI Builder. Licenses are $295.00.
Komodo 2.0 Personal Edition is for educational or non-commercial
usage. Licenses are $29.95.
Upgrade pricing is available to registered users of previous versions.
Komodo 2.0 for Microsoft Windows is available now. Komodo 2.0 for
Linux is currently in Beta; final release in October 2002.
For more information, free evaluation licenses, or to purchase, see:
The Komodo Team,
Recodec is a Python (2.2.1 or better) clone of Free `recode', and as such,
it converts strings or files between character sets and usages. Version
0.2 is now at http://www.iro.umontreal.ca/~pinard/recodec/Recodec.tar.gz.
See http://www.iro.umontreal.ca/~pinard/recodec/ for a copy of `README'.
Pretesters may gently report problems, suggestions or other comments
to mailto:firstname.lastname@example.org. `recode'-related discussions go to
mailto:email@example.com, which is opened to subscribers.
Python specific discussions might go to mailto:firstname.lastname@example.org.
User visible changes since last release:
.. `--help' option added, better some documentation than none!
.. `--find-subsets' (`-T') option deleted, now a separate program.
.. New aliases `q4' and `QNX-4' for `IBM437'.
A few bugs have been corrected. After profiling the test suite, I got
a 4x speed-up through quicker alias disambiguation, and also by special
casing common cases to avoid finding the shortest path in graph of steps.
François Pinard http://www.iro.umontreal.ca/~pinard
This is a summary of traffic on the `python-dev mailing list`_ between
September 16, 2002 and September 30, 2002 (inclusive). It is intended
to inform the wider Python community of ongoing developments on the
list that might interest the wider Python community. To comment on
anything mentioned here, just post to python-list(a)python.org or
comp.lang.python in the usual way; give your posting a meaningful
subject line, and if it's about a PEP, include the PEP number (e.g.
Subject: PEP 201 - Lockstep iteration). All python-dev members are
interested in seeing ideas discussed by the community, so don't
hesitate to take a stance on a PEP (or anything else for that matter)
if you have an opinion. And if all of this really interests you then
get involved and join Python-dev!
This is the third summary written by Brett Cannon (with no more wisdom
Summaries by me (2002-09-15 to ... when I burn out) are archived at:
You can find summaries by Michael Hudson (2002-02-01 to 2001-07-05)
Summaries by A.M. Kuchling (2000-12-01 to 2001-01-31) are at:
Please note that this summary is written using reStructuredText_ which
can be found at http://docutils.sourceforge.net/rst.html . Any
unfamiliar punctuation is probably markup for reST; you can safely
ignore it (although I suggest learning reST; its nice and is accepted
for PEP markup). Also, because of the wonders of reformatting thanks
to whatever you are using to read this, I cannot guarantee you will be
able to run this text through DocUtils as-is. If you want to do that,
get the original text from the archive.
Since not a single person sent me an email about my idea of compiling
a list of nicknames of people on Python-dev I won't bother.
.. _python-dev mailing list:
.. _reStructuredText: http://docutils.sf.net/
`flextype.c -- extended type system`__
(continuation from `last summary`_)
To clarify what Christian Tismer's metatype patch basically
implements, he said that his "additions support a subset of C++
virtual methods". And in response to a question from me about how
this might affect magic methods, he said he "*could* support any magic
slot and put it into the extended type object with a Python name. And
even better, this version could have full type checking, as my other
methods have as well!"
Martin v. Loewis doesn't see the use of this because extensions in C
are usually just wrappers and C++ extensions already have the
functionality. Thomas Heller, though, likes it because he wants a way
"to add additional C accessible structure fields to types".
As an aside, a suggestion to David about having to put
instance-specific info in __dict__, Thomas said "You can (but you
probably know this already) replace the type's tp_dict by a custom
subclass of PyDict_Object, which adds additional fields."
.. _last summary: http://www.ocf.berkeley.edu/~bac/python-dev/summaries/2002-09-01--2002-09-1…
`Moratorium on changes to IDLE`__
Guido said that he would "like to put a stop to all changes to the
version of IDLE in the Python source tree (`Tools/idle/*`_ -- let's
call it Python-idle)". All changes should go through IDLEfork_ . It
will then get merged into CVS before 2.3 is released. Currently
Idlefork is working with 2.2 and Guido would like to keep it that way
so that more people use IDLE.
.. _Tools/idle/*: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Tools…
.. _IDLEfork: http://idlefork.sf.net/
`Weeding out obsolete modules and Demos`__
(continuation from `last summary`_)
Guido removed the obsolete SGI demos from Demo_ as mentioned from the
If anyone else out there has any demos that they think are no longer
needed, submit a `SF patch`_ mentioning what you think should be
removed and why.
.. _Demo: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Demo/
.. _SF patch: http://sourceforge.net/tracker/group_id=5470&atid=305470
Skip changed `Misc/NEWS`_ into a reST document. Hopefully this will
end up somewhere on http://www.python.org so people can be kept very
up-to-date on what changes have been made in CVS_ .
.. _Misc/NEWS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Misc/…
.. _CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/
`mysterious hangs in socket code`__
(continued from `last summary`_)
People are still trying to weed out issues with threaded code that
seems to act single-threaded. The suspect is still glibc's
getaddrinfo() implementation; POSIX says it is supposed to be
thread-safe but not everyone is believing that.
`ATTENTION! Releasing Python 2.2.2 in a few weeks`__
Guido announced that he would like to get Python 2.2.2 out the door by
October 8. PythonLabs is busy as it is and thus do not have time to
thoroughly make sure everything gets done. What can you do to help?
Glad you asked: "the best thing you can do is take your favorite set
of modules or core files and systematically backport anything that's
clearly a bugfix and backports easily. Or you could simply make sure
that your favorite bugfix is backported".
If you don't have checkin, either team up with someone who does or
request checkin rights (decision will be based on reputation).
SF should not be used for saying what should and shouldn't be
backported. This should all be done through Python-dev. Michael
McLay suggest a wiki to handle all of this (thank goodness; the amount
of traffic this would have generated would have killed me). Skip said
he could set one up rather quickly and he did at
Laura Creighton mentioned what she planned to do for Python-in-a-Tie
(Py-tie). Looks like the current plan is to make Python 2.2.2 the
initial release and add in things from there based on developer
feedback instead of taking future releases and removing what they
don't need. Perhaps Py-tie will end up taking the place of the
elusive `Sumo distro`_?
Ralf W. Grosse-Kunstleve brought up how a bug report about C++
compatibility had not been handled yet. Both Tim and Guido said that
if he wanted a solution put in they would need a patch; neither of
them are C++ users (Ralf subsequently provided a patch that Neal
Norwitz has assgined to himself and will apply and backport at
http://www.python.org/sf/607253 ). C++ uses should keep that in mind
when trying to get C++ stuff into the core.
Gustavo Niemeyer said that he has a script for adding moin pages using
your favorite editor. He also has a syntax highlight file for Vim.
All of this can be found at http://moin.conectiva.com.br/EditMoin .
.. _Sumo distro: http://www.python.org/peps/pep-0206.html
`Built-in functions, kw args`__
Jp Calderone brought up the question of whether ParseTupleAndKeywords
should be used more often then ParseTuple in the core.
Guido pointed out that ParseTupleAndKeywords did not exist since the
beginning of time, it's slower, and much harder to use. Guido
basically ended up saying use it if you want, it isn't required.
`Python for OpenVMS`__
Skip Montanaro announced that Jean-Francois Pieronne had ported Python
2.1.3 over to OpenVMS_ . Skip has also informed me that Jean-Francois
has submitted some patches against the 2.3 tree.
.. _OpenVMS: http://www.openvms.org/
In Andrew Koenig's continual quest to get Python to build with
Binutils 2.13 under Solaris, Andrew discovered through discussions
with the Binutils developers "that -zcombreloc just plain doesn't work
in any release of binutils". Andrew thinks this will get fixed in
Binutils 2.13.1 .
But what about until then? Well, you are out of luck on Solaris with
Binutils 2.13 . There is a test you can run to see if you will be
affected by this bug in this email at
`Need advice: cloning python cvs for CE project`__
Brad Clements of the "python ce" project asked for advice on how to
"maintain a single working directory that can be checked into two
different CVS systems". Guido said they could have a branch in the
CVS tree if they were all Python developers "or can be sworn in
easily". The other option Guido presented was for them to start their
own SF project and do a vendor branch checking; this is how IDLE-fork
Martin gave some instructions on how to do this in an email which can
be reached at http://mail.python.org/pipermail/python-dev/2002-September/028852.html
`Assign to errno allowed?`__
Thomas Heller was patching selectmodule.c_ for Windows to deal with
the fact that it does not set errno. Thomas wondered if it would be
okay to set errno himself. Everyone in the end said it was fine (even
the man page for errno).
Through the discussion over whether not setting errno was proper, it
was pointed out by Thomas that the entire reason he was fixing this
was for asyncore_ to work; apparently it has always been broken on
Windows. Guido suggested a simple fix to the module to make it work.
The other point that came up that Windows CE and NetWare don't allow
for direct signing to errno; ``errno = 0`` is an error on those
platforms. Brad Clements submitted a patch to add a macro to Python
for setting errno. Well, Tim pointed out that it is an ISO C
requirement that errno be assignable. This led Guido to "have a very
strong urge to tell [Brad's patch] to go away". Let me say that from
my personal experience on Python-dev I have noticed that Python-dev
does not like work-arounds for things that don't work because
something does not follow a standard; this is especially true for
anything dealing with ISO C. So if you have a problem and it is
because your platform is not standards-compliant, I would not expect
to get much sympathy from Python-dev (unless it is a Windows desktop
In the end it was suggested to the CE guys to just keep a branch of
the CVS where they fixed the whole errno issue. That way they can
just sync with the core and not have to go through and change all of
the errno lines every time they sync.
This thread even split into another one entitled `Reserved keywords in
source`_ in which Brad Clements pointed out that ``finally`` is a
reserved word on Windows CE. This, once again, flies in the face of
.. _selectmodule.c: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Modul…
.. _asyncore: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Lib/a…
.. _Reserved keywords in source:
Francois Pinard brought up the point that most beginners don't realize
that ``.sort()`` does not return anything; the sorting is done
in-place. He thought that adding a ``.sorted()`` method to lists that
would work just like ``.sort()`` but also return the list would be
nice. Would not only possibly simplify some code by allowing a sort
method to be called in the header of a ``for`` loop, but possibly
prevent newbie errors as previously mentioned.
Greg Ewing suggested a ``sorted()`` function instead that would
basically do what Francois wanted. This causeed Timothy Delaney to
suggest possible magic methods ``__sort__`` and ``__isort__``.
Guido responded saying that "this is a problem that should not be
addressed by changes to the language, builtins or library". So there
you go, the BDFL has spoken.
In case people are interested, the Lib/plat-xxx directories are "for
platform-specific modules". Most of them, apparently, "are
collections of system constants generated by Tools/scripts/h2py.py" .
`How to add an encoding alias?`__
For the spambayes_ project, Guido asked how to add an encoding to
``encodings.aliases``. He wondered if there was an official API or
encodings.aliases.aliases['ansi-x3-4-1968'] = 'ascii' # This is
wrong! Read on for why...
was the way to do it.
M.A. Lemburg pointed responded that the above-mentioned way is the
only way to do it in 2.2 . He also mentioned that hyphens must be
changed to underscores for names. MAL suggested that all
non-alphanumeric characters be mapped to underscores before referring
to the aliases dictionary.
Guido voted +1 for the change and +1 to backporting to 2.2.2 .
.. _spambayes: http://spambayes.sf.net
`User extendable literal modifiers?!`__
M.A. Lemburg asked what everyone thought of having the ability to add
new literal modifiers (e.g. ``L`` in ``123L``) to the interpreter.
Gareth McCaughan suggest "uder-definable *prefixes*". His example is
of Common Lisp's ability to have you define something as
``#<character><anything>`` and then parse it based on <character>.
Alex Martelli liked the idea and suggested that ``@`` be the proposed
symbol instead of ``$`` as originally suggested. Alex also said that
being able to parse multiple tokens would be important.
Jeff Epler pointed out that this could all be done right now with some
class Dimension: ...
def __call__(self, v):
def __add__(self, v):
D = DimensionMaker()
>>> D+"123" # Can be considered same as defining D"123"
Guido said that "Given all the discussion, this will need a PEP". He
later pointed out that a possible problem is that if you are not very
familiar with a program you might probably won't know what a specific
prefix is. With a function the worst would be having to look through
a module that was imported with ``from <module> import *`` ("that's
one reason to avoid these" types of imports). MAL said that Guido was
"probably right" about this possible confusion.
`Keyword for first argument of methods?`__
David Abrahams noticed that if he defined the code::
def foo(self, y): print y
that ``X.foo(y=1, self=X())`` fails with a TypeError.
Guido said that "You can't pass in self to an unbound method as a
keyword argument". Best way to have an unbound method is with
__call__ . I think using something like the new staticmethod() or
classmethod() functions in Python 2.2 would get the job done.
`Strange bug only happens with Python 2.2`__
Gerhard Haring discovered a funky bug dealing with an error saying
that a custom object was a string and lacking a __bases__ attribute.
What is pertinent to this thread is not the bug (it got fixed in
Python 2.3 and has been backported to 2.2.2), but what caused the bug.
In abstract.c there was some code that forgot to call PyErr_Clear() .
When your extension code catches an error and you decide to either
ignore it or go another direction, you must call this function in
order to prevent the exception from propogating to the top when the
call is finished and raising the exception in the end.
`builtins instance have modifiable __class__?`__
Samuele Pedroni asked if being able to directly assigning to __class__
was allowed for builtins. Guido said "In 2.3, it's disallowed". It
is highly discouraged in 2.2.2 but still doable.
Guido clarified that "setting __class__ for instances of user-defined
new-style classes will be allowed (if the new __class__ value is
compatible with the old)" .
`Why are useful tools omitted from the Win bin distro?`__
Alex Martelli asked why the Windows distribution lacked some of the
Tools subdirectory. Most of the scripts are left out since they are
meant for developers. Since if you are using the pre-packaged Windows
installer chances are you are not a developer since you would have
compiled it. Thus these scripts are left out.
Tim Peters (who maintains the WISE installer) said that in order to
add a script he would have to add an individual line to the installer
for each file; a definite PITA (Pain In The Ass) for Tim.
There have been calls (which still stand) to document, fix, and clean
out the Tools_ and Demo_ directories. No one has ever really stepped
up to take this on. Any help, though, no matter how small, would be
appreciated in cleaning these directories up.
.. _Tools: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Tools/
`Extension module difficulty w/pgen`__
Jonathan Riehl was having difficulty getting his extension module that
exposes pgen to link properly. He got it to work with a little
command-line hack; that does not work for the official distro and thus
he was searching for a more proper solution. He discovered that if he
put dummy calls into a global function that seemed to allow it to be
linked. Jonathan hoped there was a better solution. Guido,
unfortunately, destroyed that hope by stating "AFAIK you have to
create a dummy reference somewhere". He suggested at the end of
`Python/pythonrun.c`_ to Jonathan.
`New logmerge feature`__
Guido added a new feature to `Tools/logmerge.py`_ that "restricts the
output to a specific branch tag". This is useful if you are helping
to sort through all of the commits to Python 2.3 to see what should go
into 2.2.2 .
`Snapshot win32all builds of interest?`__
Mark Hammond was wondering if people would be interested in him
"making regular, basically untested win32all builds against the
current Python CVS tree". If you would like Mark to do this, let him
pycurl -- A Python interface to the cURL library
What is it?
The pycurl package is a Python interface to the curl library
(http://curl.haxx.se/libcurl/). pycurl has been successfully built
and tested with Python versions from 1.5.2 to 2.2.1.
The curl library s a client-side URL transfer library supporting FTP,
FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. The cURL
library also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP
uploads, proxies, cookies, basic authentication, file transfer resume
of FTP sessions, HTTP proxy tunneling and more. For information on
how the curl library works, please consult the curl library web pages
All the functionality provided by the curl library can used through
the pycurl interface.
The latest version of pycurl (7.10) can be obtained at:
Changes since the last version
* Added commandline options to setup.py for specifying the path to
'curl-config' (non-windows) and the curl installation directory
(windows). See the 'INSTALL' file for details.
* Added CURLOPT_ENCODING, CURLOPT_NOSIGNAL and CURLOPT_BUFFERSIZE
Copyright (c) 2001-2002 by Kjetil Jacobsen <kjetilja(a)cs.uit.no>
Copyright (c) 2001-2002 by Markus F.X.J. Oberhumer <markus(a)oberhumer.com>
PycURL is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
SC-Track Roundup 0.5.0 - an issue tracking system
Note: If you are upgrading, you *must* read doc/upgrading.txt!
Roundup requires python 2.1.1 for correct operation. Support for dumbdbm
requires python 2.1.2 or 2.2. 2.1.3 and 2.2.1 are recommended.
A lot has been done since 0.4.4:
- new backend for metakit (thanks Gordon McMillan)
- new backend for sqlite
- new backend for gadfly (it's as done as it's going to get)
- added Boolean and Number types
- fixed the journal bloat, re-enabling useful link journal events
- full-text search may also search certain String properties
- entire database export and import (including files)
- implemented new per-user access control mechanisms (Permissions, Roles)
- switched templating to use Zope's PageTemplates giving much more flexibility
- made web interface more generic, robust, give nicer errors, ...
- revamped look and feel in web interface including cleaned up CSS usage
- switched to cookie-based sessions for web authentication
- saving of named search queries
- lots of documentation cleanups including an updated customisation document
with los of examples and a new maintenance guide
- roundup-server may be a daemon now (fork, logfile, pidfile)
- many, many more bug fixes, cleanups and minor improvements (see CHANGES.txt)
This final 0.5.0 release fixes the following problems:
- fixed style for alternating rows in user lists
- a couple of other minor bugs
- updated demo to use 0.5 codebase
Source and documentation is available at the website:
Release Info (via download page):
Mailing lists - the place to ask questions:
Roundup is a simple-to-use and -install issue-tracking system with
command-line, web and e-mail interfaces. It is based on the winning design
from Ka-Ping Yee in the Software Carpentry "Track" design competition.
Note: Ping is not responsible for this project. The contact for this project
Roundup manages a number of issues (with flexible properties such as
"description", "priority", and so on) and provides the ability to:
(a) submit new issues,
(b) find and edit existing issues, and
(c) discuss issues with other participants.
The system will facilitate communication among the participants by managing
discussions and notifying interested parties when issues are edited. One of
the major design goals for Roundup that it be simple to get going. Roundup
is therefore usable "out of the box" with any python 2.1+ installation. It
doesn't even need to be "installed" to be operational, though a
disutils-based install script is provided.
It comes with two issue tracker templates (a classic bug/feature tracker and
a minimal skeleton) and six database back-ends (anydbm, bsddb, bsddb3, sqlite,
metakit and gadfly).