b'\n_START_ARTICLE_\nWxPython\n_START_SECTION_\nLicencia\n_START_PARAGRAPH_\nSiendo un binding, wxPython usa la misma licencia de software libre que wxWidgets (LGPL) \xe2\x80\x94la cual es una licencia aprobada por la Fundaci\xc3\xb3n del Software Libre y la Open Source Initiative.\n_START_SECTION_\nHistoria\n_START_PARAGRAPH_\nwxPython naci\xc3\xb3 cuando Robin Dunn necesitaba una GUI que funcionara en sistemas HP-UX y tambi\xc3\xa9n en Windows 3.1 en unas pocas semanas. Mientras evaluaba las soluciones comerciales, se encontr\xc3\xb3 con unos bindings de Python para el toolkit wxWidgets. Por esto, aprendi\xc3\xb3 Python en un corto tiempo, y se convirti\xc3\xb3 en uno de los principales desarrolladores de wxPython (que se gener\xc3\xb3 a partir de esos bindings iniciales), junto a Harri Pasanen. Las primeras versiones del wrapper fueron creadas a mano. Sin embargo, el c\xc3\xb3digo base no tard\xc3\xb3 en tornarse muy dif\xc3\xadcil de mantener en sincronizaci\xc3\xb3n con los releases de wxWidgets. Pero las versiones posteriores fueron creadas con SWIG, reduciendo enormemente la cantidad de trabajo necesario para actualizar el wrapper. La primera versi\xc3\xb3n "moderna" fue anunciada en 1998._NEWLINE_A partir del 2011 el c\xc3\xb3digo de wxPython fue casi totalmente reescrito en lo que se llam\xc3\xb3 el proyecto Phoenix.\xe2\x80\x8b El objetivo principal de este proyecto era automatizar lo m\xc3\xa1ximo posible el desarrollo de los bindings de Python para el tookit wxWidgets, disminuyendo con ello el trabajo necesario para mantener wxPython.\xe2\x80\x8b Adem\xc3\xa1s la nueva versi\xc3\xb3n ser\xc3\xada compatible con la versi\xc3\xb3n 3 de Python.\n_START_SECTION_\nProject Phoenix\n_START_PARAGRAPH_\nEl Proyecto Phoenix, el cual empez\xc3\xb3 en 2012, es un esfuerzo para compatibilizar wxPython con Python 3 \xe2\x80\x8b Este proyecto es una nueva implementaci\xc3\xb3n de wxPython, enfocada en mejorar la velocidad, mantenibilidad y extensibilidad. Al igual que el wxPython "cl\xc3\xa1sico", envuelve la biblioteca wxWidgets y provee acceso a porciones de la misma orientadas a crear interfaces de usuario, exponiendo la API de wx. Permite a las aplicaciones Python tener interfaces de usuario en sistemas Windows, Mac y Unix con un aspecto y comportamiento nativo, requiriendo muy escaso c\xc3\xb3digo espec\xc3\xadfico para la adecuarlo a la plataforma. \xe2\x80\x8b\n_START_SECTION_\nEjemplo\n_START_PARAGRAPH_\nEste es un m\xc3\xb3dulo simple "Hello world" que ilustra la creaci\xc3\xb3n de dos objetos principales en wxPython (la ventana y la aplicaci\xc3\xb3n), y la delegaci\xc3\xb3n de control a un sistema controlado por eventos (llamando_NEWLINE_MainLoop()) que provee la parte interactiva del programa_NEWLINE_#!/usr/bin/env pythonimport wxclass TestFrame(wx.Frame):_NEWLINE_    def __init__(self, parent, ID, title):_NEWLINE_        wx.Frame.__init__(self, parent, wx.ID_ANY, title, pos=(0, 0), size=(320, 240))_NEWLINE_        panel = wx.Panel(self, wx.ID_ANY)_NEWLINE_        text = wx.StaticText(panel, wx.ID_ANY, "Hello, World!", wx.Point(10, 5), wx.Size(-1, -1))class TestApp(wx.App):_NEWLINE_    def OnInit(self):_NEWLINE_        frame = TestFrame(None, wx.ID_ANY, "Hello, world!")_NEWLINE_        self.SetTopWindow(frame)_NEWLINE_        frame.Show(True)_NEWLINE_        return Trueif __name__ == \'__main__\':_NEWLINE_    app = TestApp()_NEWLINE_    app.MainLoop()'