comtypes 0.5.3 released

Thomas Heller theller at
Fri Dec 12 21:30:38 CET 2008

I just released comtypes-0.5.3.

    comtypes is a lightweight Python COM package, based on the ctypes
    FFI library, in less than 10000 lines of code (not counting the

    comtypes allows to define, call, and implement custom and
    dispatch-based COM interfaces in pure Python.  It works on Windows,
    64-bit Windows, and Windows CE.

    Download location:


This is a maintainance release of the current repository state, before
I merged the dynamic-dispatch branch (which will be released as
comtypes-0.6.0 within the next few days).

Summary of important changes:

- Compatible with Python 3.0
- Added comtypes.shelllink module; this allows to manage shortcuts
- Various smaller improvements

Detailed changes since version 0.5.2:

2008-12-12  Thomas Heller  <theller at>
	* Bumped version number to 0.5.3.

	* Added VARIANT support for VT_I8 and VT_UI8 typecodes.

2008-12-11  Thomas Heller  <theller at>

	* Workaround for Python bug: Python 3 cannot handle a distutils
	installscript in the setup script

	* Merged the py3-branch:

	Various changes for py3 compatibility.  The setup script now uses
	distutils.command.build_py.build_py_2to3 when run with Python 3.x,
	and converts the sources into py3 syntax on the fly (in the build

2008-11-26  Thomas Heller  <theller at>

	* Added untested code to comtypes.server: RegisterActiveObject()
	and RevokeActiveObject(), plus some flags.

	* Applied a patch from Torbjørn Tyridal.  This allows to
	high-level implement methods in COM servers, and event handler
	methods that have [in] and [out] arguments in mixed order.

2008-11-05  Thomas Heller  <theller at>

	* Add the IPersistFile interface to the comtypes.persist module.
	Add comtypes.shelllink module which contains IShellLinkA and
	IShellLinkW interfaces, plus the ShellLink coclass.

2008-10-29  Thomas Heller  <theller at>

	* Handle coclass pointers as arguments in com interface methods
	correctly.  Method calls will now accept pointers to the default
	interface of this coclass.

	* The Fire_Event() method in comtypes.server.connectionpoints now
	returns a list of results.

2008-10-10  Thomas Heller  <theller at>

	* Import cStringIO, which should always be available on Windows,
	instead of first trying cStringIO and then StringIO.

	* Python 2.6 compatibility: use 'types.MethodType' instead of
	'new.instancemethod' to fix a -3 warning.

	Use 'raise Exception(details)' instead of
	'raise Exception, details'.

	Don't use tuple unpacking in exception handlers:
	  'except COMError, err:
	      (hresult, text, details) = err'
	instead of
	  'except COMError, (hresult, text, details)'

	* Python 2.4 compatibility: os.stat() raises OSError instead of
	WindowsError when a file is not found.


More information about the Python-announce-list mailing list