See http://gmpy.sourceforge.net/ for details.
What is it: a wrapper for the GMP library, to provide multi-precision
arithmetic for Python. Multi-precision floats, and unbounded-precision
rationals, are not present in stock Python; multi-precision integers
('long') are, but gmpy's version of multi-precision integers is faster
for some operations (NOT all -- used to be, but Python 2.3 did serious
enhancements to some operations on longs) and provides lots of nifty
pre-packaged additional functions.
Minor changes and bug-fixes since the latest 0.9 pre-alpha; support for
Python 2.3. The Windows binary release is now for Python 2.3 _only_ (if
you're stuck with Python 2.2 on Windows, you can keep using gmpy 0.9
pre-alpha and not really suffer from that). Known bug on Windows: the
scan0 and scan1 functions appear broken (perhaps related to the lack of
a GMP 4.0 library for Windows -- haven't found one around yet).
-----BEGIN PGP SIGNED MESSAGE-----
I've just updated the code that runs the Python Package Index, PyPI. This
- - add meaningful titles to pages (uses page heading)
- - properly unquote version numbers for release editing page (bug #855883)
- - allow removal of more than one release at a time
- - make "delete whole package" a form button
- - made wording of role admin link more helpful
- - hide all current releases when a new release is added
The Python Package Index is online at:
The notes for this release are at:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
-----END PGP SIGNATURE-----
I'd like to announce the first public release 0.4.3 of PyAlbum.
What is PyAlbum:
- generates static HTML pages or simple text files from Images
- reads info from several sources (text, image, EXIF)
- uses flexible templates to generate the output.
- existing templates designed for multiple languages
- until now, command line only, GUI to come
- every feature is configurable
- platform independent (that's Python :-)
- uses PIL and EmPy modules
I know, this is the thousands program of its kind,
but THIS ONE fits my personal needs...
PyAlbum is hosted on SourceForge.net at
The release can be downloaded from its project
A new version of the Python logging package has been released. If you
are using version 2.3 of later of Python, this release will not mean
much to you - it is the same as recent checkins into Python CVS.
However, this release fixes numerous bugs reported since the last
independent release (0.4.7), and may be of interest to people using
earlier versions of Python.
What Does It Do?
The logging package offers the ability for any Python program to log
events which occur during program execution. It's typically used to
provide application diagnostics, warnings and error messages. In
addition to capturing "what happened", "where it happened", "when it
happened", "how important it is" and event specific data, you can
configure, without changing the application source code, both the
verbosity of logging and the routing of events to different
destinations such as console, disk files, sockets, email addresses,
Web servers, SOAP servers etc. etc. You can even change the
configuration of a running program without stopping and restarting it!
You can use the logging package in exception handlers, and it will
include traceback information in the log. It's thread-safe, and very
easy to use - just "import logging" and log away! Classes provided
Logger - used to log messages for a particular area of an application.
You can instantiate these wherever you want, there's no need to pass
references to them around your application. You can log events based
on importance levels of DEBUG (least important), INFO, WARN, ERROR,
and CRITICAL (most important). You can define your own levels if the
default levels don't meet your requirements.
Handler - used to route events to particular destinations. Handlers
StreamHandler (for generalized streams, including console)
FileHandler (for disk files - including log file rotation with size
limits for log files)
SocketHandler (for sending events to a TCP socket)
DatagramHandler (for sending events to a UDP socket - faster, but
less reliable than TCP)
SMTPHandler (send events to arbitrary email addresses)
HTTPHandler (send events to Web servers)
SysLogHandler (send events to Unix syslog)
MemoryHandler (batch up events and process them several at a time)
NTEventLogHandler (send events to Windows NT event logs)
There are also examples of XMLHandler and SOAPHandler in the
Formatter - used to format events as text strings. Flexible "msg %
arg_tuple" formatting is the basis for formatting, with flexible
date/time formatting including ISO8601 and any strftime-based formats.
Filter - used when filtering based on importance
(DEBUG/INFO/WARNING/ERROR/CRITICAL) is not sufficient. The
distribution includes examples of filters based on class matching,
regular expression matching, value matching, and logger matching.
In the unlikely event that you're daunted by all the apparent
complexity, fear not. The package offers a simple function-based
interface to allow very simple, almost casual use of the underlying
In addition to the core logging functionality, you get the ability to
configure logging using a ConfigParser-based text file format, a
Tkinter-based GUI configurator which creates configuration files for
you, and a simple network-based event receiver which receives events
on TCP, UDP, HTTP and SOAP ports. This is suitable for testing and
might perhaps serve as a model for your own event receivers. Also
included are over 20 test scripts which serve both as test harnesses
and examples of how to use the logging package.
You can get more information from
There are "download" and "recent changes" links at the top of that
page. API documentation is available at
As always, your feedback is most welcome (especially bug reports,
patches and suggestions for improvement). Enjoy!
Red Dove Consultants Ltd.
Changes since the last independent release:
Traceback text is now cached.
Tracebacks can be propagated across sockets as text.
Added makeLogRecord() to allow a LogRecord to be
created from a dictionary.
Closing a handler now removes it from the internal list
used by shutdown().
Made close() call flush() for handlers where this makes
sense (thanks to Jim Jewett).
The exc_info keyword parameter can be used to pass an
exception tuple as well as a flag indicating that the
current exception should be logged.
A shutdown hook is registered to call shutdown() on
application (Python) exit (thanks to Jim Jewett).
Removed redundant error check in setLoggerClass().
Added RESET_ERROR to logging.config.
SocketHandler now uses an exponential backoff strategy
(thanks to Robert Olson).
Made _listener global in stopListening().
Made listen() correctly pass the specified port.
Removed some redundant imports in __init__.py.
Added the record being processed as a parameter to
handleError (thanks to Gordon den Otter for the idea).
Handler.handle returns the result of applying the
filter to the record (thanks to Gordon den Otter for
Added a seek(0, 2) in RotatingFileHandler before the
tell() call. This is because under Windows, tell()
returns 0 until the first actual write (thanks to
Gordon den Otter for the patch).
Altered findCaller to not use inspect (thanks to
Jeremy Hylton for the patch).
Renamed warn and WARN to warning and WARNING. This may
break existing code, but the standard Python module
will use warning/WARNING rather than warn/WARN. The
fatal and FATAL synonyms for critical and CRITICAL
have also been removed.
Added defaultEncoding and some support for encoding
Unicode messages (thanks to Stéphane Bidoul for the
Added process ID to the list of LogRecord attributes.
Modified Logger.removeHandler so that it does not
close the handler on removal.
Modified SMTPHandler to treat a single "to address"
correctly (thanks to Anthony Baxter).
Modified SMTPHandler to add a date header to the SMTP
message (thanks to David Driver for the suggestion).
Modified HTTPHandler to factor out the mapping of
a LogRecord to a dictionary (thanks to Franz Glasner
for the patch).
Minor documentation corrections.
What is cx_Oracle?
cx_Oracle is a Python extension module that allows access to Oracle and
conforms to the Python database API 2.0 specifications with a few
Where do I get it?
(it may be a few days before the second site is updated)
1) Fixed bugs on 64-bit platforms that caused segmentation faults and bus
errors in session pooling and determining the bind variables associated
with a statement.
2) Modified test suite so that 64-bit platforms are tested properly.
3) Added missing commit statements in the test setup scripts. Thanks to Keith
Lyon for pointing this out.
4) Fix setup.py for Cygwin environments. Thanks to Doug Henderson for
providing the necessary fix.
5) Added support for compiling cx_Oracle without thread support. Thanks to
Andre Reitz for pointing this out.
6) Added support for a new keyword parameter called threaded on connections
and session pools. This parameter defaults to False and indicates whether
threaded mode ought to be used. It replaces the module level attribute
OPT_Threading although examining the attribute will be retained until the
next release at least.
7) Added support for a new keyword parameter called twophase on connections.
This parameter defaults to False and indicates whether support for two
phase (distributed or global) transactions ought to be present. Note that
support for distributed transactions is buggy when crossing major version
boundaries (Oracle 8i to Oracle 9i for example).
8) Ensure that the rowcount attribute is set properly when an exception is
raised during execution. Thanks to Gary Aviv for pointing out this problem
and its solution.
Just as a side note, I have also built and tested cx_Oracle under Oracle
10g on Linux and it works correctly without changes. Oracle 10g has not
yet been released for Windows but it will be tested on that platform as
well when it becomes available.
Distinctive Software. Real People.
Suite 200, 10216 - 124 Street NW
Edmonton, AB, Canada T5N 4A3
Phone: (780) 454-3700
Fax: (780) 454-3838
As already announced, the
*** S t a c k l e s s S p r i n t ***
has now a settled date:
It will take place in Berlin, March 10-14 2004.
We will have a room in the Free University of Berlin
in Berlin-Dahlem. Address and room will be announced,
How to attend?
See bottom of this message.
Well, there is a lot possible.
Current topics which come into mind are
* scheduling object
* brain storming!
* Zope Wiki and Documentation
* making channels really stackless
* demo applications
* more regression tests
* real zope apps?
* refactoring Stackless: simpler and configurable
* create a Stackless tutorial
* minimalist Stackless Python with no hardware dependency
* assembly-free Stackless with setjmp/longjmp
* spreading the internals between developers
but this is completely open for discussion.
Well, it will be a bit simpler than the pypy-sprints,
which I think are very difficult, but Stackless
has its built-in difficulties by nature.
This is by far, now and forever, the best possible way
to learn about Stackless Python and to become a core
developer. But no guarantee possible :-)
Well, it is intended that Stackless Python should
be developed further. If you are using or planning to
use Stackless for your products, you are highly encouraged
to support Stackless Python by money and by submitting
your best developers, regardless how painfully they are
going to be missed by the company.
Yes, it is probable and whished, that Stackless Python
will become a topic for training and coaching.
First of all, we will try to leverage our knowledge.
There is no particular schedule, yet, but for the first day.
I am planning to give a talk on Stackless technology, and
to be available for questions and discussion during the
whole first day.
Attendees with small or no knowledge about Stackless Python
are strongly encouraged to join that session.
There are no special arrangements planned. We hope to find
a place for every external sprinter at the home of the
Berlin habitants. I'm taking two already, please don't ask.
How to attend:
Please subscribe to the mailing list
which you can find via this interface:
By subscribing, you state that you want to come to the sprint.
We have only limited reources left and can take only a few.
I hereby wish to thank *Dirk Pape* and *Christoph v. Stuckrad*
from FU Berlin for making this event possible!
cheers - chris
Christian Tismer :^) <mailto:firstname.lastname@example.org>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/
14109 Berlin : PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34 home +49 30 802 86 56 mobile +49 173 24 18 776
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? http://www.stackless.com/
The team that administers www.python.org is looking for additional
maintainers, both to keep the text updated and to create automated
solutions that require less human interaction. If you're interested in
helping, please send e-mail to webmaster(a)python.org. Please specify what
you'd like to help with, how many hours per week you're available, and
list a couple of community references if you're not active on one of the
main Python mailing lists or comp.lang.python.
Please be patient if we take a while to respond -- after all, the reason
we're asking for help is that we're behind!
Aahz (aahz(a)pythoncraft.com) <*> http://www.pythoncraft.com/
"Do not taunt happy fun for loops. Do not change lists you are looping over."
--Remco Gerlich, comp.lang.python
We are pleased to announce Chandler 0.3! Our architecture is finally
stable enough to start developing end-user features.
Release 0.3 targets developers who want an early preview into our
architecture as we are developing it. With this release we now can
begin to encourage open source developers to work with the OSAF core
development team, as in the upcoming PyCon Sprint. (See details below.)
New in Release 0.3
The two biggest architecture advancements in this release are the
Repository and the Chandler Presentation and Interaction Architecture
(CPIA). In 0.3, our Repository is much more robust and scalable, and
now implements a transaction and threading model. This release also
marks the debut of CPIA, which is a UI layer in our architecture that
is uniquely adapted for item-centric applications based on our
Repository. Not only does it abstract away implementation-specific UI
widgets, but CPIA elements have direct access to our Repository via
You can find out more about the 0.3 release at:
You can download the 0.3 release for Linux, MacOS, and Windows from:
OSAF events at PyCon 2004
PyCon 2004, March 24-26, 2004 in Washington, D.C., is a
community-oriented conference targeting developers (both those using
Python and those working on the Python project). It provides
opportunities to learn about significant advances in the Python
development community, to participate in a programming sprint with some
of the leading minds in the Open Source community, and to meet fellow
developers from around the world. The organizers work to make the
conference affordable and accessible to all. The Chandler PyCon Sprint
is free and does not require registration for the conference.
Mitch Kapor to give keynote address
Mitch, founder of the Open Source Application Foundation, will be the
keynote speaker for the conference.
OSAF will be running a Sprint from Mar 20-23 prior to the PyCon 2004
conference. The topics for the sprint will focus on the Chandler
repository. At the moment, these include repository dump/restore
functionality, and remote repository sharing using WebDAV.
Andi Vajda and Ted Leung will the coaches for the sprints, and will be
doing brief tutorials for people unfamiliar with the Chandler
repository. We want to use the sprint to involve more people in the
Chandler development process as well as accomplish some tasks that will
be useful for Chandler.
If you are interested in participating in the sprint, please add
yourself to the ChandlerSprint page:
What is a Sprint?
The sprint is a four day focused development session, in which
developers pair in a room and focus on building a particular subsystem.
A sprint is organized with a coach leading the session. The coach sets
the agenda, tracks activities, and keeps the development moving. The
developers work in pairs using extreme programming's pair programming
And a BOF too!
In addition, we plan to have an OSAF 'Birds Of a Feather' gathering
during PyCon itself to answer questions about Chandler and socialize
with Python developers.
I would like to announce the release of Pyxel v0.2.
Pyxel is a graphical library designed to provide portability between
various GUI environments. The main goal of pyxel is to provide
interactive plotting and block diagram capabilities to python.
Currently pyxel widgets work in both wxPython and pygame applications.
Support for more libraries is under development.
Twisted is an event-driven networking framework for server and client
For more information, visit http://www.twistedmatrix.com, join the list
visit us on #twisted at irc.freenode.net.
The Twisted from Scratch tutorial is a good starting point for learning
What's New in 1.2.0
- SFTP server implementation for the SSH server.
- Improved wxPython support.
- IMAPv4 enhancements and bug fixes.
- Allow disabling display of tracebacks in error web pages.
- ident protocol implementation (client and server).
- Support mapping arbitrary child FDs when running processes on POSIX.
- Initial SOAP client support (using SOAPpy).
- Partial download support for FTP client.
- Web framework now supports different handlers for different methods
(e.g. GET or POST).
- Coverage support in the trial testing framework.
- Bug fixes and documentation and feature enhancements.
What is Twisted?
Twisted is an event-driven framework for building networked clients and
servers. It contains a powerful and simple networking core, a
full-featured suite of interoperable protocols, among them a powerful
web server and applications framework.
Twisted supports many event loops for both server apps and GUI
integration on the client side, including:
- Win32 events, including GUI support
- Mac OS X
- GTK+ 2
Twisted can run protocols over TCP, SSL, UDP, multicast, Unix sockets
and subprocesses. It also includes scheduling support, threading
integration, RDBMS event loop integration and other basic requirements
for networked applications.
Also included are implementations of many protocols. In some cases this
includes complete frameworks providing facilities on top of the base
- FTP (client only, server needs rewrite)
- HTTP, including a complete web framework
- XML-RPC server and client frameworks
- SOAP server framework
- NNTP and complete NNTP server framework
- SOCKSv4 (server only)
- AOL's instant messaging TOC
- MSN messaging
- OSCAR, used by AOL IM as well as ICQ (client only)
- MouseMan serial mice, and GPS devices
- Twisted Perspective Broker, a remote object protocol