Just in time for the holidays and on behalf of the CherryPy team I am
happy to announce the release of CherryPy 3.0.0.
Here are some highlights of the new version:
* As much as 3 times faster than CherryPy 2.
* Much improved WSGI support.
* Powerful enhanced configuration system.
* Even easier to explore in the interactive interpreter.
* Customizable dispatching (even includes a Routes dispatcher).
For more details on those features and more, see:
To download the new release, visit
Thanks to everyone who contributed to this release by reporting a bug,
contributing code or even just giving feedback on the mailing list and
Phebe 0.1 has been released and uploaded to the Python package index.
Phebe comprises a Python package and a number of executable scripts to
operate a mobile phone connected to your computer.
The implementation follows the Sony-Ericsson developer guidelines for using AT
commands as of December 7, 2006, see
<http://developer.sonyericsson.com/getDocument.do?docId=65054>. It has been
tested only on a SE K750i, using Debian and Gentoo Linux distributions with a
2.6 kernel so far.
The current status of Phebe is "works for me", i.e. it provides the
functionality the author immediately needs: get usage stats of the phone,
back-up the phonebook, dump and delete short messages. See ROADMAP.txt and
TODO.txt for prospective further developments.
While neither talking through the AT command interface nor the higher-level
data structures implemented by Phebe are operating system specific,
communication with the device is. Phebe currently does this by using a Python
module only available on Unix. The author is not going to port Phebe to
non-Unix systems any time soon, so if you want it to support your OS, you have
to supply an appropriate patch.
Phebe was written by Thomas Lotze. Please contact the author at
<thomas(a)thomas-lotze.de> to provide feedback or suggestions on or
contributions to Phebe.
Phebe requires Python 2.5.
The Phebe code base is maintained in a subversion repository at
There is a ViewCVS view on the repository available at
ftputil 2.2 is now available from
Changes since version 2.1
- Results of stat calls (also indirect calls, i. e. listdir,
isdir/isfile/islink, exists, getmtime etc.) are now cached and
reused. This results in remarkable speedups for many use cases.
Thanks to Evan Prodromou for his permission to add his lrucache
module under ftputil's license.
- The current directory is also locally cached, resulting in further
- It's now possible to write and plug in custom parsers for directory
formats which ftputil doesn't support natively.
- File-like objects generated via ``FTPHost.file`` now support the
iterator protocol (for line in some_file: ...).
- The documentation has been updated accordingly. Read it under
- This release requires at least Python 2.3. (Previous releases
worked with Python versions from 2.1 up.)
- The method ``FTPHost.set_directory_format`` has been removed,
since the directory format (Unix or MS) is set automatically. (The
new method ``set_parser`` is a different animal since it takes
a parser object to parse "foreign" formats, not a string.)
What is ftputil?
ftputil is a high-level FTP client library for the Python programming
language. ftputil implements a virtual file system for accessing FTP
servers, that is, it can generate file-like objects for remote files.
The library supports many functions similar to those in the os,
os.path and shutil modules. ftputil has convenience functions for
conditional uploads and downloads, and handles FTP clients and servers
in different timezones.
ftputil 2.2 is Open Source software, released under the revised BSD
license (see http://www.opensource.org/licenses/bsd-license.php ).
Dr.-Ing. Stefan Schwarzer
SSchwarzer.com - Softwareentwicklung für Technik und Wissenschaft
this is to inform you about the availability of eric3 version 3.9.3. This
release fixes a few bugs and enhances compatibility with subversion 1.4.
It is available via
What is eric3?
eric3 is an IDE for Python and Ruby. It is written using Python, PyQt and
QScintilla. eric3 includes debuggers for the a.m. languages, interfaces
to subversion and cvs, integration of the Qt tools and many more. For
details please see the eric home page at
Announcing PyTables 1.4
PyTables is a library for managing hierarchical datasets and designed to
efficiently cope with extremely large amounts of data with support for
full 64-bit file addressing. It is based on the HDF5 library for doing
the I/O and leverages the numarray/NumPy/Numeric packages so as to
deliver the data to the end user in convenient in-memory containers.
This is a new major release of PyTables, and probably the last major one
of the 1.x series (i.e. with numarray at the core). On it, we have
implemented better code to deal with table buffers, enhanced the
capability for reading native HDF5 files, enhanced support for 64-bit
platforms (but not with Python 2.5: see ``Special Warning`` section
below), better support for AIX, optional automatic parent creation and
the traditional amount of bug fixes.
Go to the PyTables web site for downloading the beast:
or keep reading for more info about the new features and bugs fixed.
Changes more in depth
- Table buffers code refactored: now each Row read iterator has its own
buffers, completely independent of their table (although write
iterators still share a single buffer in the same table). This
separation makes the logic of buffering much more clear and less prone
to errors (in fact, some of them have been solved). Performance and
memory consumption are more or less equal than before.
- When flushing the complete file (i.e. when calling File.flush()), only
the buffers of those nodes that are alive (i.e. referenced from user
code) are actually flushed. This brings much better efficiency (and
also stability) to situations where one has to flush (and hence,
close) files with many nodes on it.
- Better support for AIX by renaming the internal LONLONG_MAX C constant
(it was used internally by the xlc compiler). Thanks to Brian Granger
for the report.
- Added optional automatic parent creation support during node creation,
copying and moving operations. See the release notes for more
- Improved support for Python2.4 and 64-bit platforms (but beware, there
are still known issues when using Python2.5 in combination with 64-bit
platforms). Thanks to Gerard Vermeulen for his patches for Win64
- Implemented a workaround for a leak present in numarray --> Numeric
conversions when using the array protocol, as can be seen in:
The workaround can potentially be far slower than the array protocol
(because a copy of the arrays is always made), but at least the new
code doesn't leak anymore.
- Previously, when the size for memory compounds type was less than the
size of the type on disk (for example, when one have padding or
aligned fields), PyTables was unable to read info on them. This has
been fixed. This allows reading general compound types in HDF5 files
written with other tools than PyTables.
- When many tables with indexed columns were created simultaneously, a
bug make PyTables to crash. This has been fixed (for more info, see
- Fixed a typo in the code that prevented recognizing complex data in
- Table.createIndex() now refuses to index complex columns.
- Now, it is possible to index several nested columns that hangs from
the same column parent. Fixes bug #24.
- Fixed a typo in nctoh5 utility that prevented using filters
properly. Thanks to Lou Wicker for reporting this.
- When setting/appending an array in-memory to an Array (or descendant)
object and they have mismatched byteorders, the array was set/appended
without being byteswapped first. This has been fixed. Thanks to Elias
Collas for the report.
- Please, see ``RELEASE-NOTES.txt`` file.
Special Warning for Python 2.5 and 64-bit platforms users
Unfortunately, and due to problems with the combination numarray 1.5.2,
Python2.5 and 64-bit platforms, PyTables cannot be safely used yet in
such scenario. This will be solved either when numarray can address
this issue (hopefully with numarray 1.5.3), or when PyTables 2.x series
(with NumPy at its core) will be out.
Important note for Windows users
If you are willing to use PyTables with Python 2.4 or 2.5 in Windows
platforms, you will need to get the HDF5 library compiled for MSVC 7.1,
aka .NET 2003. It can be found at:
Users of Python 2.3 on Windows will have to download the version of HDF5
compiled with MSVC 6.0 available in:
This version has been extensively checked on quite a few platforms, like
Linux on Intel32 (Pentium), Win on Intel32 (Pentium), Linux on Intel64
(Itanium2), FreeBSD on AMD64 (Opteron), Linux on PowerPC (and PowerPC64)
and MacOSX on PowerPC. For other platforms, chances are that the code
can be easily compiled and run without further issues. Please, contact
us in case you are experiencing problems.
Go to the PyTables web site for more details:
About the HDF5 library:
To know more about the company behind the PyTables development, see:
Thanks to various the users who provided feature improvements,
patches, bug reports, support and suggestions. See the ``THANKS``
file in the distribution package for a (incomplete) list of
contributors. Many thanks also to SourceForge who have helped to make
and distribute this package! And last but not least, a big thank you
to Acusim (http://www.acusim.com/) for sponsoring many of the job done
for releasing this version of PyTables.
Share your experience
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
-- The PyTables Team
I'm proud to announce that the first stable release
1.0.0 of pygtkmvc has been released.
** pygtkmvc version 1.0.0 **
pygtkmvc is a fully Python-based implementation of the
Model-View-Controller (MVC) and Observer patterns for the
MVC is a pattern that can be successfully used to design and
develop well structured GUI applications. The MVC pattern
basically helps in separating semantics and data of the
application from their representation.
The Observer pattern helps to weaken dependencies among parts
that should be separated, but need to be connected each other.
pygtkmvc provides a powerful and still simple infrastructure
to help designing and implement GUI applications based on
the MVC and Observer patterns.
** Features **
The framework has been designed to be:
- Essential and small, it does only what it was designed for.
- Not an external dependency for your application: it fits
in 80KB and can be released along with it.
- Easy to understand and to use; fully documented.
- Portable: straightly runs under many platforms.
Version 1.0.0 is the first stable release. Main features are:
- Observer pattern supports pythonian containers and user-defined
- Support for multi-threading in models.
- Support for gtk models like TreeModel and TextBuffer.
- Bug fixes.
- Documentation and several examples are provided.
** Get it! **
Latest version and information can be found at the
project home page: <http://pygtkmvc.sourceforge.net>
License is LGPL.
** Credits **
Many thanks to:
- Baruch Even <baruch _AT_ ev-en.org>
for providing useful feedback and a pretty example.
- Johannes Jordens <j.jordens _AT_ ucl.ac.uk> and
Robert Jordens <jordens _AT_ debian.org>
for depeloping and maintaining Debian packages.
M2Crypto is the most complete Python wrapper for OpenSSL.
Changes in 0.17:
- setup.py has new test command to run unit tests (requires setuptools)
- Added m2urllib2, by James Bowes (python 2.4 and later, at least for now)
- Added CONNECT proxy for httpslib and m2urllib2, by James Bowes
- Added PKey.get_modulus, X509.get_fingerprint, X509_Name.as_der and
m2.bn_to_hex, by Thomas Uram
- Prevent Connection.makefile from freeing bio redundantly, by Thomas Uram
- Added Err.peek_error_code, by Thomas Uram
- Fixed m2urllib.open_https to return the response headers, otherwise
code that relied on that would break (for example msnlib-3.5), by Arno
- Fixed twisted wrapper to work with >16kb BIO buffers, by Martin Paljak
- Added support for remaining ECs, by Larry Bugbee
- Fixed DSA.save_key and DSA_.save_pub_key, by Larry Bugbee
- SSL.Context.load_verify_locations raises ValueError if cafile and
capath are both None
- Fixed X509.check_purpose() (was always raising exceptions)
- smime_read_pkcs7 was changed to automatically call
BIO_set_mem_eof_return on memory BIOs because otherwise the read would
fail with "SMIME_Error: not enough data"
- X509.new_extension('subjectKeyIdentifier', 'hash') raises ValueError
instead of crashing Python
I'm happy to announce the second public release of Pygments, the
generic Python syntax highlighter.
Download it from <http://cheeseshop.python.org/pypi/Pygments>, or
look at the demonstration at <http://pygments.pocoo.org/demo>.
The new features since 0.5.1 include:
* New lexers: Scheme, Bash, Apache configs, Myghty templates, Groff.
* New RTF formatter.
* Added option for the HTML formatter to write the CSS to an external file
in "full document" mode.
* Improved guessing methods for various lexers.
* Support for guessing input encoding added.
* Encoding support added: all processing is now done with Unicode strings,
input and output are converted from and optionally to byte strings.
* License change to BSD.
In other news, the Trac 0.11 trunk already includes support for Pygments as
the default highlighting library.
Pygments is a generic syntax highlighter for general use in all kinds of
software such as forum systems, wikis or other applications that need to
prettify source code. Highlights are:
* a wide range of common languages and markup formats is supported
* special attention is paid to details increasing quality by a fair amount
* support for new languages and formats are added easily
* a number of output formats is available, presently HTML, LaTeX, RTF
and ANSI sequences
* it is usable as a command-line tool and as a library
* ... and it highlights even Brainf*ck!
The home page is at <http://pygments.pocoo.org>.
Read more in the FAQ list <http://pygments.pocoo.org/faq> or
look at the documentation <http://pygments.pocoo.org/docs>.
At Guido's suggestion, a new mailing list has been created named
This list is meant as a place for speculative, pie-in-the-sky language
design ideas to be discussed and honed to the point of practically
being a PEP before being presented to python-dev or python-3000. This
allows both python-dev and python-3000 to focus more on implementation
work or final approval/denial of ideas instead of being flooded with
long threads where people discuss ideas that are too nebulous to be
considered for inclusion into Python.
Like python-dev and python-3000, Python-Ideas requires you subscribe
before you can post, but there is no moderator approval required to
subscribe. If you are interested in helping me out by being an
administrator or moderator for the list, please let me know.
I'm pleased to announce the thirty-fifth development release of PythonCAD,
a CAD package for open-source software users. As the name implies,
PythonCAD is written entirely in Python. The goal of this project is
to create a fully scriptable drafting program that will match and eventually
exceed features found in commercial CAD software. PythonCAD is released
under the GNU Public License (GPL).
PythonCAD requires Python 2.2 or newer. The interface is GTK 2.0
based, and uses the PyGTK module for interfacing to GTK. The design of
PythonCAD is built around the idea of separating the interface
from the back end as much as possible. By doing this, it is hoped
that both GNOME and KDE interfaces can be added to PythonCAD through
usage of the appropriate Python module. Addition of other PythonCAD
interfaces will depend on the availability of a Python module for that
particular interface and developer interest and action.
The thirty-fifth release contains several improvements dealing
with the storage and adjustment of user preferences and image settings.
The global user preferences are now saved into a file kept in the
user home directory, so the settings are now preserved between
PythonCAD sessions. Individual drawing settings can be examined and
adjusted via a new set of menus and dialogs. These new dialogs are
more complete than the single dialog previously used as well as
easier to use. In addition to the preference and setting changes, a
variety of bug fixes and miscellaneous code improvements are also
present in this new release.
A mailing list for the development and use of PythonCAD is available.
Visit the following page for information about subscribing and viewing
the mailing list archive:
Visit the PythonCAD web site for more information about what PythonCAD
does and aims to be:
Come and join me in developing PythonCAD into a world class drafting
Man once surrendering his reason, has no remaining guard against absurdities
the most monstrous, and like a ship without rudder, is the sport of every wind.
-Thomas Jefferson to James Smith, 1822