New wxPython Website

"The 2000s called, they want their website back..."

Not any more! I finally gave the old clunky site back to the dinosaurs and have implemented a brand new site (using the awesome static site generator Nikola) which you are gazing at with much adoration now. The new site combines most of what was on the old site, plus a news feed (you're reading a news post right now) and I also resurrected my old wxForty-Two blog from the wordpress graveyard and added it here too. Being a static site I no longer have to worry about the perpetual stream of wordpress security issues.

Read more…

wxPython 4.0.0a3 Release

wxPython 4.0.0a3 is now available at PyPI

Changes include the following:

  • Fixed a few cases where the GIL was not acquired before building tuples of values. The problems associated with this (hangs or crashes) were sporadic and seemingly random, and did not appear until there was a background thread that was very busy. Running under a debug build of Python revealed the problem almost immediately. Yay Python!

  • Return an integer value from wx.DC.GetHandle instead of a wrapped voidptr object, similar to how it is done for wx.Window.GetHandle.

  • Make wx.TreeItemID hashable, with meaningful hash value and equality operators, so it can be used as a dictionary key in Py3.

  • Fixed crash in wx.grid.GridTable.GetAttr, and potentially other cases of classes derived from wx.RefCounter.

  • Add ShowPage and IsRunning methods to wx.adv.Wizard.

  • Fixed various GTK specific bugs and other cleanup in wx.lib.agw.aui.

  • Updated to SIP 4.19.2

  • Restored builders for Python 3.4 to the buildbot.

  • Restore the wrappers for GetPaperSize and SetPaperSize to wx.PrintData.

  • Fix crashing problem when a wx.TreeItemId was compared with None.

  • Fix for missing checkbox images in CheckListCtrlMixin on Linux and OSX.

  • Fix another crashing problem in propgrid, and a few other propgrid issues too.

  • The release version of the documentation can now be found at The documentation created during the snapshot builds is still located at

wxPython 4.0.0a2 Release

wxPython 4.0.0a2 is now available at PyPI

This build of wxPython is based on the official wxWidgets 3.0.3 release.

This release is mostly various bug fixes and other tweaks, such as:

  • Allow numpy arrays to be auto-converted to simple sequence value types like wx.Size, wx.Colour, etc.

  • A couple of fixes to lib/agw/aui to prevent segfaults under OSX when AuiNotebook tabs are closed

  • Fix wx._core.wxAssertionError in wx.lib.agw.aui when dragging a notebook tab

  • Fix the [G|S]etClientData methods in wx.CommandEvent to behave the same way they are in wx.ClientDataContainer.

  • Fix the SetFonts methods in wx.html classes

  • Several fixes in wx.dataview related to overriding methods

  • Fixed some flickering in wx.lib.agw.aui.framemanager

  • Fixed problem with wrong implementation of wxNotebook::DeleteAllPages being called on Windows

  • Added the missing wx.grid.GRID_AUTOSIZE flag

  • Fixed crash due to the object created in an XmlSubclassFactory being destroyed too soon

  • Fixed crash in wx.lib.agw.toasterbox

  • Fixed crash when using wx.xrc.XmlSubclassFactory

  • Fixed wx.grid.GridTableBase.GetValue and related methods to work more like they did in Classic, so non-string values can be used a little more easily.

Added building and bundling of the PDB files for wxWidgets and the wxPython extensions on Windows. Until a better place is found they will be downloadable from, along with archives for the documentation as well as the demo and samples.

wxPython 4.0.0a1 Release

wxPython 4.0.0a1 is now available on PyPI. This is the first official release of the new Phoenix version of wxPython, including support for Python 2.7 and 3.4+, installation from PyPI, fully self-contained and relocatable so it can be installed in virtual environments, etc.

More updates to this website are forthcoming, but in the meantime you can learn more about this new release in the README and CHANGES documents, as well as the Migration Guide and the new API reference documentation.

wxPython Phoenix on the way!

The wxPython Phoenix train is back on the tracks and moving forward at full steam ahead!

"Phoenix" is the code name of the next generation of the wxPython project. The primary goals of the project are to make it much easier—through increased automation—to develop, maintain, and enhance wxPython in the future, and to remove old hacks and other cruft that are no longer needed and which tends to cause confusion for new users. The secondary goals are to make wxPython "...better, stronger, faster." than he was before.

While Phoenix is currently in a pre-alpha state, it is already in a very usable state and many people are already using it in their projects. You can download binary wheels for Python 2.7, 3.4 and 3.5 on Windows and OSX from the snapshots folder. Be sure to check the README file there for more details about what is there and how to use it. Alpha #1 is on the horizon, at which point Phoenix will start being available directly from PyPI.

If you want to learn more about Phoenix or to help with the effort, please join the wxPython-dev group. You can also track development or submit PRs at the Phoenix GitHub project.

Finally, members of the wxPython community have joined together to make pledges towards a bounty reward for the completion of the Phoenix release, with the primary goal of jump-starting development. If you are interested in making a pledge, please read this message thread and contact David Hughes. No actual money will be requested or transferred until the release is completed.