What is cx_Freeze?
cx_Freeze is a set of utilities for freezing Python scripts into
executables using many of the techniques found in Thomas Heller's
py2exe, Gordon McMillan's Installer and the Freeze utility that ships
with Python itself.
Where do I get it?
1) In Common.c, used MAXPATHLEN defined in the Python OS independent
include file rather than the PATH_MAX define which is OS dependent and
is not available on IRIX as noted by Andrew Jones.
2) In the initscript ConsoleSetLibPath.py, added lines from initscript
Console.py that should have been there since the only difference
between that script and this one is the automatic re-execution of the
3) Added an explicit "import encodings" to the initscripts in order to
handle Unicode encodings a little better. Thanks to Ralf Schmitt for
pointing out the problem and its solution.
4) Generated a meaningful name for the extension loader script so that
it is clear which particular extension module is being loaded when an
exception is being raised.
5) In MakeFrozenBases.py, use distutils to figure out a few more
platform-dependent linker flags as suggested by Ralf Schmitt.
ctypes 0.9.9.9 released - July 21, 2006
ctypes is an advanced ffi (Foreign Function Interface) package for
Python 2.3 and higher.
ctypes allows to call functions exposed from dlls/shared libraries
and has extensive facilities to create, access and manipulate
simple and complicated C data types in Python - in other words:
wrap libraries in pure Python. It is even possible to implement C
callback functions in pure Python.
ctypes runs on Windows, Windows CE, MacOS X, Linux, Solaris,
FreeBSD, OpenBSD. It may also run on other systems, provided that
libffi supports this platform.
Changes in 0.9.9.9
Index checking on 1-sized arrays was reintroduced, so they can no
longer be used as variable sized data.
Assigning None to pointer type structure fields possible overwrote
Fixed a segfault when ctypes.wintypes were imported on non-Windows
Accept any integer or long value in the ctypes.c_void_p
It is now possible to use custom objects in the ctypes foreign
function argtypes sequence as long as they provide a from_param
method, no longer is it required that the object is a ctypes type.
ctypes can now be built with MingW on Windows, but it will not
catch access violations then since MingW does no structured
Sync the darwin/x86 port libffi with the copy in PyObjC. This
fixes a number of bugs in that port. The most annoying ones were
due to some subtle differences between the document ABI and the
actual implementation :-(
Release the GIL during COM method calls, to avoid deadlocks in
Python coded COM objects.
Changes in 0.9.9.7
Fixes for 64-bit big endian machines.
It is now possible to read and write any index of pointer
instances (up to 0.9.9.6, reading was allowed for any index, but
writing only for index zero).
Support for unnamed (anonymous) structure fields has been added,
the field names must be listed in the '_anonymous_' class
variable. Fields of unnamed structure fields can be accessed
directly from the parent structure.
Enabled darwin/x86 support for libffi (Bob Ippolito and Ronald
Added support for variable sized data structures: array
types with exactly 1 element don't do bounds checking any more,
and a resize function can resize the internal memory buffer of
Fixed a bug with certain array or structure types that contained
more than 256 elements.
Changes in 0.9.9.6
The most important change is that the old way to load libraries
has been restored: cdll.LoadLibrary(path), and CDLL(path) work
again. For details see the changelog in CVS and in the source
It was a mistake to change that in the 0.9.9.3 release - I
apologize for any confusion and additional work this has caused or
New module ctypes.util which contains a cross-platform
Sized integer types (c_int8, c_int16, and so on) have been added
by integrating a patch from Joe Wreschnig. Also c_size_t, which
corresonds to the 'size_t' C type has been added.
Two long standing bugs with pointers have been fixed. Thanks to
Axel Seibert for pushing me to the first, and thanks to Armin Rigo
for finding the second one.
The ctypes.decorator module has been removed completely, so the
'cdecl' and 'stdcall' symbols are no longer available.
The code generator has been removed completely. It will probably
be made available as a separate project later.
The samples directory has been removed because it was completely
The .zip and .tar.gz source distributions no longer contain
different file sets.
The development in CVS now takes place in the HEAD again, the
'branch_1_0' branch is no longer used.
Changes in 0.9.9.3
The ctypes.com package is no longer included and supported.
It is replaced by the comtypes package which will be released
ctypes has been ported to Windows CE by Luke Dunstan.
Hye-Shik Chang has written a new build system for libffi
which should remove possible licensing issues.
The library loading code has been rewritten by Andreas Degert,
there are now sophisticated methods to find shared libraries.
On OS X, this uses files from Bob Ippolito's macholib.
See the manual for details.
Finally I started to write the manual, it is available online:
New 'errcheck' protocol to check the return values of foreign
functions, suggested by Mike Fletcher.
Lots of bug fixes, especially for 64-bit platforms. Improved
performance when creating ctypes instances.
Subclasses of simple types (c_int, c_void_p, and so on) now
behave as expected - they are not automatically converted into
native Python types any longer.
Support for explicit byte ordering in structures has been
added (BigEndianStructure, LittleEndianStructure base
call byref() automatically, if needed, for POINTER types in
Lots of improvements to the code generator.
Downloads are available in the sourceforge files section
Binary windows installers, which contain compiled extension
modules, are also available, be sure to download the correct one
for the Python version you are using.
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?
1) Added support for parsing an Oracle statement as requested by Patrick
2) Added support for BFILEs at the request of Matthew Cahn.
3) Added support for binding decimal.Decimal objects to cursors.
4) Added support for reading from NCLOBs as requested by Chris Dunscombe.
5) Added connection attributes encoding and nencoding which return the IANA
character set name for the character set and national character set in use
by the client.
6) Rework module initialization to use the techniques recommended by the
Python documentation as one user was experiencing random segfaults due
to the use of the module dictionary after the initialization was complete.
7) Removed support for the OPT_Threading attribute. Use the threaded keyword
when creating connections and session pools instead.
8) Removed support for the OPT_NumbersAsStrings attribute. Use the
numbersAsStrings attribute on cursors instead.
9) Use type long rather than type int in order to support long integers on
64-bit machines as reported by Uwe Hoffmann.
10) Add cursor attribute "bindarraysize" which is defaulted to 1 and is used
to determine the size of the arrays created for bind variables.
11) Added repr() methods to provide something a little more useful than the
standard type name and memory address.
12) Added keyword argument support to the functions that imply such in the
documentation as requested by Harald Armin Massa.
13) Treat an empty dictionary passed through to cursor.execute() as keyword
arguments the same as if no keyword arguments were specified at all, as
requested by Fabien Grumelard.
14) Fixed memory leak when a LOB read would fail.
15) Set the LDFLAGS value in the environment rather than directly in the
setup.py file in order to satisfy those who wish to enable the use of
16) Use __DATE__ and __TIME__ to determine the date and time of the build
rather than passing it through directly.
17) Use Oracle types and add casts to reduce warnings as requested by Amaury
18) Fixed typo in error message.
Version 0.21.1 of Zenoss is available for download.
Major feature enhancements of this version include remote process
monitoring using the HOST-RESOURCES-MIB, SNMP trap reception and MIB
compilation (using libsmi).
This release also fixes zenoss bugs: #176, #177 and #185 and zenwin
Zenoss is a GPL licensed enterprise grade monitoring system that
provides Inventory/Configuration, Event, Performance and Availability
management in a single integrated package. It is written in Python
using the Zope web application framework and Twisted network
programming environment. Zenoss is designed to be easy to use for a
beginner yet flexible and powerful enough for the advanced user.
CTO & Co-Founder
The next PyPy sprint will happen in the nice city of
Limerick in Ireland from 21st till 27th August.
(Most people intend to arrive 20th August).
The main focus of the sprint will be on JIT compiler works,
various optimization works, porting extension modules,
infrastructure works like a build tool for PyPy, or
extended (distributed) testing.
It's also open to new topics. If you are a student
consider to participate in `Summer of PyPy`_ in order
get funding for your travels and accomodation.
The sprint is being hosted by University of Limerick
(http://www.ul.ie/) - and is arranged in co-operation
with people from our sister project Calibre (www.calibre.ie).
Our contact at the University is Pär Ågerfalk and Eoin
.. _`Summer of PyPy`: http://codespeak.net/pypy/dist/pypy/doc/summer-of-pypy
First day: introduction and workshop (possible to attend only this day)
During the first day (21st of August) there will be talks on various subjects
related to PyPy:
* A tutorial and technical introduction to the PyPy codebase
(suited for people interested in getting an overview of PyPy´s architecture
and/or contributing to PyPy)
* a workshop covering more in-depth technical aspects of PyPy and what PyPy
can do for you. The workshop will also cover methodology, aiming at explaining
the pros and cons of sprint-driven development.
(suited for sprint attendants, students, staff and other
interested parties from/around the University and the local area)
The tutorial will be part of the sprint introduction - the workshop will take place if
there is enough interest raised before the 21st of August from people planning to
attend. You are of course welcome to attend just for this first day of the sprint.
If you want to come ...
If you'd like to come, please subscribe to the `pypy-sprint mailing list`_
and drop a note about your interests and post any questions. More
organisational information will be send to that list. We'll keep
a list of `people`_ which we'll update (which you can do so yourself
if you have codespeak commit rights).
.. _`Calibre`: http://www.calibre.ie
A small disclaimer:
There might be people visiting the sprint in order to do research on
how open source communities work, organize and communicate. This
research might be done via filming, observing or interviewing.
But of course you will be able to opt-out of being filmed at the sprint.
NOTE: you need a UK style of power adapter (220V).
The sprint will be held in the Computer Science Building, room CSG-025,
University of Limerick (no 7 on http://www.ul.ie/main/places/campus.shtml).
Bus 308 from Limerick city will take you to no 30 (approx.).
See http://www.ul.ie/main/places/travel.shtml for more on how to get to UL.
We will have access to the sprint facilities from 09:00-19:00 every day (it might
be even later than 19:00). Monday-Wednesday, Friday-Sunday are sprint days,
Thursday is likely a break day.
Food on campus varies in price and quality ;-) : from ca 4 EUR to 7-8 EUR for
a lunch. There are of course a lot more food alternatives in down town Limerick.
Shannon Airport (SNN) is the nearest airport (Ryanair flies
there) - you may check out more information about flights
to/from the airport at
There are busses from there to downtown Limerick, and busses
from Limerick to the UL campus. Taxis are about 35 EUR.
There is a website address for campus accomodation at
The rate should be 49 euro for Bed and Breakfast. If you are interested
in booking campus accommodation, please contact deborah.tudge at ul ie
and make reference to the PyPy workshop and sprint. Please try
to book as soon as possible.
As an off-campus accommodation alternative you can also try:
Castletroy Lodge and Castletroy Inn (Bed and Breakfast)
Dublin Road (15 to 20 mins walk to UL)
Tel: +353 61 338385 / +353 61 331167
.. _`pypy-sprint mailing list`: http://codespeak.net/mailman/listinfo/pypy-sprint
.. _`people`: people.html
Remember - if all you have is an axe, every problem looks
like hours of fun. -- Frossie
Finally all three parts of the keynote of computing pioneer Alan Kay are
You can watch them at http://mrtopf.tv or you can search on iTunes for
"mrtopf" and subscribe to it to get new episodes automatically.
As soon as I have some time I will put up more videos from the conference.
Luetticher Strasse 10
Tel: +49 241 400 730 0
Fax: +49 241 979 00 850
*** What is Soya 3D ? ***
Soya 3D is an object oriented "high level" 3D engine for Python. Somehow, Soya is to 3D what Python is to programming: an 'avant guarde' 3D engine, a kind of 'UFO' in the 3D world :-). Soya allows to develop very rapidly games of other 3D apps, entirely in the Python language (contrary to most of the other engine, in which Python is limited to scripting tasks).
Moreover, Soya is easy to learn and offers pretty good performances.
Soya is used successfully in 3D games, but also in demos, scientific simulations, or educational programs.
Soya offers the features one can expect from a 3D engine, like basic scene management, cell-shading, shadows, particles systems,... as well as some unique features aiming at making 3D development easier and more rapid.
Soya is Free Software, under the GNU GPL. Soya is written in Pyrex (a mix of C and Python) and in Python.
*** New in Soya 0.12 ***
0.12 is a major release with many new features:
* There were many weird classname in Soya. Many of them have be renamed to more comprehensive name (e.g. Idler becomes MainLoop). Backward compatibility is fully ensured, though.
* A new sound API, integrating directly OpenAL, and fully multi-platform (the old pyopenal was not working well under windows).
* Soya is now able to automagically determine which objects are static, and to optimize them (currently, it is used to optimize shadows and sounds).
* The first step of a model deforming system has been implemented; it is however not yet fully functional (hey, we have to keep something for 0.13 :-).
* A new documentation for Soya is under writing: http://download.gna.org/soya/soya_guide.pdf
Download Soya 0.12:
* July 2006 : Soya3D 0.12
* Massive renaming (backward compatibility is maintained through
aliases): Idler -> MainLoop
Shape -> Model
Cal3dShape -> AnimatedModel
Shapifier -> ModelBuilder
Volume -> Body
Cal3dVolume -> Body (merged with Volume)
Land -> Terrain
* New sound API (see soya.Sound, soya.SoundPlayer and tuto sound-1.py)
* Static and auto_static: all Soya objects (inheriting from
CoordSyst) have now a "static" attribute that can be use to tag
them as static for optimizing them, and an "auto_static" attribute
(defaulting to true) that allows Soya to automatically determine
wether they are static or not
* Static shadows: static object's shadows are rendered faster
* New method MainLoop.update, for embedding Soya inside Tk (or other
GUI or mainloop) ; MainLoop.start has been removed since it has
never been really working
* Font now inherits from SavedInAPath (=> you can have a data/fonts/
* Dynamic model deforming (see tuto deform-1.py); this feature is
still under work and the API may change in the next release.
* Auto-exporters can now be disabled (soya.AUTO_EXPORTERS_ENABLED = 0)
* Bugfix in 3DSmax exporter on material (thanks Snaip)
* The Blender => Soya auto-exporter no longer require that Blender
can import Soya. This was causing some weird bugs with some
* Fix for 64 bits platforms.
* Bugfix on mirroring (scaling with negative values)
* Bugfix on shadows on AnimatedModel: soya was segfaulting if the
model was culled on the first rendering
Mark Lutz's Python Training Services is pleased to announce that
our Fall 2006 public Colorado seminar is now open. This 5-day
Python training event will be held November 6 through November 10.
This year, our Fall seminar will be held at Historic Crag's Lodge,
a resort in Estes Park, Colorado. Estes Park is a mountain town
80 miles from Denver's airport, and gateway to Rocky Mountain
This in an all-inclusive event. Come spend 5 days mastering Python
in the beautiful Colorado Rockies, and let us handle the details of
your visit. We will be providing students with rooms at the resort,
three full meals per day, a guided sightseeing tour, shuttle service
to and from the Denver airport, and our new "Snake Charmers" T-shirt.
Besides the included amenities, the extended format of this session
will allow for in-depth coverage of class topics. Like all our
public classes, this seminar will be taught by best-selling Python
author and trainer Mark Lutz, and is open to individual enrollments.
For more details, please see our web page:
Python Training Services
Diet Python is a flavor of Python with allegro, multiarray, umath,
calldll, npstruct and curses builtin, all else nonessential to language
ripped out. Total size < 3MB, 1% of PSF Python.
Diet Python helps keep clients thin :)
You'll find it in http://sourceforge.net/projects/dietpython
The Eternal Squire