**py2exe 0.5.3** released
py2exe is a Python distutils extension which converts python scripts
into executable windows programs, able to run without requiring a
python installation. Console and Windows (GUI) applications, windows
NT services, exe and dll COM servers are supported.
This release fixes a few bugs in the 0.5.2 version:
* The windows installer has been fixed to avoid problems when
doing non-admin installs. Thanks to Harald A. Massa for testing.
* Applied a patch from Mark Hammond to correctly manage the thread
state in dll COM servers.
* Add a line feed to the script's code, to avoid problems
byte-compiling it when it contains trailing white space.
* Fix a problem with Python 2.4 when no extension modules are
needed - py2exe didn't track down that python24.dll is needed.
py2exe 0.5.2 is a bugfix release.
* Print a message explaining what's going on whan a service
exe is started from the command line.
* py2exe did build invalid version resources, they didn't show up
correctly on Win98 at least. Patch by Roger Upole.
* Fix a buffer overflow in the C code. Patch by Ralf Sieger, closes
bug item #893310
* py2exe now (again) has a builtin list of dlls which should never be
* Patch sys.winver in the distributed pythonXY.dll, so that there is
no possibility of conflicts with existing distributions and the
registry keys found there. Patch by Mark Hammond.
* Fix several problems when an exception in a 'windows' exe occurs.
* Include a workaround for unbounded recursion in modulefinder when
Jason Jorendorff's path module is installed
See also http://python.org/sf/876278
* Fix problems when package_dir is set in the setup script,
* py2exe can now be built from the sources with mingw32
* py2exe does now handle precompile .pyo and .pyc files (patch by
* Fix a problem when the exe's directory contains single quotes
* Register service dependencies when installing a service
* Return an exit code of 255 from the exe when there's an uncatched
exception running the main script.
* Print a warning instead of failing to build with weird version numbers.
Suggested by Cory Dodt.
Download from the usual location:
ctypes 0.9.0 released
ctypes is a ffi (Foreign Function Interface) package for Python.
It allows to call functions exposed from dlls/shared libraries and
has extensive facilities to create, access and manipulate simpole
and complicated C data types transparently from Python - in other
words: wrap libraries in pure Python.
ctypes runs on Windows, MacOS X, Linux, Solaris, FreeBSD. It may
also run on other systems, provided that libffi supports this
Changes in 0.9.0
ctypes now requires Python 2.3 or higher, Python 2.2 is no longer
The big change is that ctypes now uses the same code base on all
platforms, many, many bug should have been fixed this way on
non-windows systems. The destribution now contains libffi, no need
to find, download, build and install a compatible version.
There have been lots of improvements and additions both to ctypes
itself, and to the ctypes.com windows framework, too many to
remember now and document here.
Most prominent additions to ctypes.com are:
A ctypes.com.client module supporting dynamic dispatch
An internet explorer toolband sample
Many improvements to the stoplite sample
Detailed changelogs are in CVS (well, sometimes I forget to update
The ultimate purpose of the 0.9 release series is to shake out the
remaining bugs, especially on platforms I have no access to, and to
target a rock stable ctypes 1.0 release.
When ctypes 1.0 is released, the com framework will be split off
into a separate framework named 'comtypes'.
Downloads are available in the sourceforge files section
Separate source distributions are available for windows and
non-windows systems. Please use the .zip file for Windows (it
contains the ctypes.com framework), and use the .tar.gz file for
non-Windows systems (it contains the complete cross-platform libffi
Binary windows installers, which contain compiled extension
modules, are also available, be sure to download the correct one
Python version you are using.
-----BEGIN PGP SIGNED MESSAGE-----
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.
Roundup now has a wiki which is accepting user contributions of example
modifications, trackers, etc. at:
0.7.6 is a bug fix release, including:
- - rdbms backend full text search failure after import (sf bug 980314)
- - rdbms backends not filtering correctly on link=None
- - fix anydbm journal import (sf bug 983166)
- - handle postgresql bug in SQL generation (sf bug 984591)
- - fix dates-from-Dates (sf bug 984604)
- - fix messageid generated when msgid is None for send_message (sf bug 987933)
- - make user permissions check more sane (fix search page for anonymous)
- - fixed RDBMS filter() for no matches from full-text search (sf bug 990778)
- - fixed DateHTMLProperty for invalid date entry (sf bug 986538)
- - fixed external password source example (sf bug 986601)
- - document the STATIC_FILES config var
- - implement the HTTP HEAD command (sf bug 992544)
- - fix journal export of files to remove content from CSV files
- - API clarification. Previously, the anydbm/bsddb/metakit filter() methods
had required exact matches to Multilink argument lists. The RDBMS
backends treated Multilink matches like all other data types - matching
any of the Multilink argument list is good enough. The latter behaviour
is implemented across the board now.
- - fix metakit handling of filter on Link==None
If you're upgrading from an older version of Roundup you *must* follow
the "Software Upgrade" guidelines given in the maintenance documentation.
Roundup requires python 2.1.3 or later for correct operation.
To give Roundup a try, just download (see below), unpack and run::
Source and documentation is available at the website:
Release Info (via download page):
Mailing lists - the place to ask questions:
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 seven database back-ends (anydbm, bsddb, bsddb3,
sqlite, metakit, mysql and postgresql).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
-----END PGP SIGNATURE-----
Silva 1.0: The Structured Content Management System
July 20, 2004 - after two and a half years of development, the Silva
team is happy to announce the release of Silva 1.0. Silva is an open
source content management system with a focus on structured content
and its reuse. It is based on the open source web application platform
Zope, and the programming language Python.
New in Silva 1.0 are:
* Deeply integrated support for Kupu, the WYSIWYG through the web
editor with support for both Mozilla and Internet Explorer.
* Silva 1.0 ships with full documentation that is a Silva publication
itself. When you install a new Silva root you get the option to
install the documentation as well.
* Other new features include image thumbnail support and image
"At ETH we operate a mass virtual hosting Silva instance hosting a few
hundred sites," says Reinhard Hess, of the `central IT services`_ at
the Swiss Federal Institute of Technology in Zurich (`ETH
Zurich`_). "In addition to that there are a number of sites being run
by independent departemental IT units across the university." ETH
Zurich has been deploying Silva since 2002 - and they are also
developing on the platform. "Silva is well capable to compete
successfully with other web CMS products in the enterprise range -
either open source or closed source. Silva was a good choice for
us. Silva gives us the best cost/performance ratio even in the long
term and maximum operational flexibility."
The `University of Luton`_ in the UK is going online with a new
Silva-backed version of their site later this week. "Silva is a very
flexible tool for generating and maintaining web content," says Steve
Kendall, who is managing the project. "Previously all web content had
to be looked after by a small team of central staff with specialised
skills, but now we have the mechanisms in place to return full
ownership of the content to the faculties and departments."
.. _`ETH Zurich`: http://www.ethz.ch/
.. _`central IT services`: http://www.id.ethz.ch/
.. _`University of Luton`: http://www.luton.ac.uk/
You can download Silva 1.0 final here:
The -all.tgz ships with everything needed, including Kupu.
A list of changes can be found here:
Features of Silva include:
* Through-the-web user interface with easy access to all features,
including access keys.
* Extensive documentation aimed to authors and editors, as well as for
site managers, designers and system administrators.
* Through-the-web structured authoring of documents using a WYSIWIG
editor (kupu) or a forms-based editor. Content can be published to
the web and exported as XML. Content can be reused in multiple areas
of a publication using ghost objects.
* Workflow and versioning support allows an author to work on a new
version of a document while another version is already published
* Separation of responsibilities between author, editor, and chief
editor roles. Optional full integration with very large user sources
using LDAP. Extensive group management abilities (with or without
* Resizing support for images, and extensive support to position
images in document text. Images and files can be imported singly or
* Flexible customizable presentation using Zope Page
Templates. Different sub sites can have different publications and
designs. Virtual hosting support for sub sites.
Silva extensions include:
* SilvaNews - create and manage news and agenda items in Silva. RSS
syndication and aggregation support.
* DocMa - external server which integrates seamlessly into Silva and
allows Silva publications to be exported to MS Word documents, and
MS Word documents to be imported into Silva.
* SilvaExternalSources - include data from external sources into
documents, including CSV files, results from relational database
queries or any Python script.
More information about Silva can also be found here:
More information about Infrae, the company that created Silva:
Martijn Faassen, Infrae, faassen at infrae.com
-----BEGIN PGP SIGNED MESSAGE-----
I have made a new release of pytz using the new revision of the
Olsen time zone database made yesterday. The major change for this
release are the emergency Argentinean timezones currently in place.
pytz - World Timezone Definitions for Python
pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.3 or
This implementation solves the issue of ambiguous times at the end
of daylight savings, which you can read more about in the Python
Library Reference (datetime.tzinfo). The only remaining inaccuracy
is that datetime.strftime only reports the UTC offset to the nearest
minute (This is probably a feature - you have to draw a line somewhere).
536 of the Olsen timezones are supported. The missing few are for
Riyadh Solar Time in 1987, 1988 and 1989. As Saudi Arabia gave up
trying to cope with their timezone definition, I see no reason
to complicate my code further to cope with them. (I understand
the intention was to set sunset to 0:00 local time, the start of the
Islamic day. In the best case caused the DST offset to change daily
and worst case caused the DST offset to change each instant depending
on how you interpreted the ruling.)
Note that if you perform date arithmetic on local times that cross DST
boundaries, the results may be in an incorrect timezone (ie. subtract
1 minute from 2002-10-27 1:00 EST and you get 2002-10-27 0:59 EST
of the correct 2002-10-27 1:59 EDT). This cannot be resolved without
modifying the Python datetime implementation. However, these tzinfo
classes provide a normalize() method which allows you to correct these
This is a standard Python distutils distribution. To install the
package, run the following command as an administrative user::
python setup.py install
Example & Usage
>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> utc = timezone('UTC')
>>> eastern = timezone('US/Eastern')
>>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
>>> loc_dt = utc_dt.astimezone(eastern)
>>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
'2002-10-27 01:00:00 EST (-0500)'
>>> (loc_dt - timedelta(minutes=10)).strftime(fmt)
'2002-10-27 00:50:00 EST (-0500)'
>>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)
'2002-10-27 01:50:00 EDT (-0400)'
>>> (loc_dt + timedelta(minutes=10)).strftime(fmt)
'2002-10-27 01:10:00 EST (-0500)'
BSD style license. I'm happy to relicense this code if necessary
for inclusion in other open source projects.
This package will be updated after releases of the Olsen timezone
The latest version can be downloaded from sourceforge_. The code that
is used to generate this distribution is available in the sourceforge_
project's CVS repository.
.. _sourceforge: http://sourceforge.net/projects/pytz/
More info than you want to know about timezones::
Stuart Bishop <stuart(a)stuartbishop.net>
Stuart Bishop <stuart(a)stuartbishop.net>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)
-----END PGP SIGNATURE-----
The Python Software Foundation is seeking grant proposals for projects
related to the further development of Python, Python-related technology,
and educational resources. The PSF plans to issue calls for proposals
Proposals should be for specific projects with a clear objective, rather
than support for ongoing activities. Proposals should be brief (a few
pages of text), and they should explain:
a. what the objective of the project is,
b. what precisely the funds are needed for,
c. a delivery plan, indicating what deliverables will be provided at
what time, and
d. a payment plan, indicating what payments should be made at what
Awarded grants can range up to $40,000.
Proposals for this call must be submitted before October 1, 2004.
Projects will start on November 1, 2004, and must be completed by
October 30, 2005. Proposals should be sent to psf-grants(a)python.org.
Martin v. Löwis
I don't know if the world needs another chess program, but here is one :-)
It is a C-extension for python, and includes a cgi based chess application:
The chess engine itself, is one I wrote a long time ago, and now I have updated
it (for ANSI C) and created a python wrapper for it.
I am planning a few more releases - adding features to the python interface.
I have previously written GUIs for it, but they don't seem to last very long
before becomming obsolete.
I'm not going to do another - in addition to the CGI game, but may try to
interface it to an existing one.
If you are aware of a good candidate - particularly if it has a python
interface and is relatively platform independent, I am interested.
PyGgy v0.3 - http://www.lava.net/~newsham/pyggy/
2004 Jul 15
PyGgy is a python package for generating parsers and lexers in python.
The PyGgy distribution contains two tools:
PyLly - (Pronounced "pile-ey") A lexer generator that generates
DFA tables for lexing tokens.
PyGgy - (Pronounced "piggy") A parser generator that generates
SLR tables for a GLR parsing engine.
The PyLly program is used to pregenerate tables for a finite state
machine from a lexer specification. There is a lexer engine that uses
the tables to tokenize an input stream.
The PyGgy program is used to pregenerate parser tables from a parser
specification. There is a GLR parsing engine that uses the tables
to parse a stream of input tokens. Because GLR parsing is used, the
parser can deal with arbitrary grammars, even if they are recursive
PyGgy is self hosting -- PyGgy parsers and PyLly lexers are used
to process the specification files used by both PyGgy and PyLly.
This is version 0.3 of PyGgy. It is the second public release.
This is an alpha release; the public interfaces are subject to
change, and there may be bugs in the code. This
version of PyGgy is placed in the public domain. This means anyone
can do anything with it with no restrictions whatsoever.