9 ms·
WxPython 4.0.0 Released
- cafard 9y agoI haven't used it in a while, but found it comfortable enough. PythonCard spoiled me a bit, though.
- thekashifmalik 9y agoI think the site is down.
- phkahler 9y agoDoes this work with Python 3?
- dagw 9y agoYes
- thekashifmalik 9y agoI believe so. It is tested against Python 3 in their Travis config: https://github.com/wxWidgets/Phoenix/blob/master/.travis.yml https://github.com/wxWidgets/Phoenix/blob/master/.travis.yml
- michaelmcmillan 9y agoSeems like the site is down. Here is a cached version: https://webcache.googleusercontent.com/search?q=cache:ght2vBmKuEsJ:https://www.wxpython.org/news/wxpython-4.0.0-release/index.html+&cd=3&hl=en&ct=clnk&gl=no&client=ubuntu https://webcache.googleusercontent.com/search?q=cache:ght2vB...
- dotdi 9y agoI always had the impression that WxWidgets is obsolete and dying. Nice to see it still active. Out of curiosity, any big or important software written in WxPython?
- acidburnNSA 9y agoNot answering the real question but we have a lot of little wxPython GUIs driving big engineering design software suites at the advanced nuclear design company I work at. Engineers (mechanical, nuclear, etc.) can grasp it fairly quickly, get their knobs on the screen, and be back to doing their mechanical and nuclear engineering. We got started because the original python guy (me) learned it from a grad student in 2005 via the excellent wx docs and demos collection of examples. Works great and we recently went all Python 3.
- dotdi 9y agoI realized it's a great tool for quick prototyping, especially internal software, but I was wondering if anybody took it beyond that.
- dagw 9y agoNot that I know of. Here is a list from the wxPython homepage: https://wiki.wxpython.org/wxPythonPit%20Apps https://wiki.wxpython.org/wxPythonPit%20Apps As you can see much of the list is either 'toy' applications or older applications that haven't been updated for ages.
- bklaasen 9y agoChandler is on that list! That's the failed PIM desktop software that Mitch Kapor financed as a hobby project and which was the subject of the book "Dreaming in Code"by Scott Rosenberg. Terrific book, shame about the software.
- dagw 9y agoMatches my experience very well. A few jobs ago I was developing in house apps using WxPython at a civil engineering company.
- bandrami 9y agoIt's big in music and math for some reason; Maxima's main front-end is wx, GNUplot uses it, and a whole bunch of sequencers use it. Also the vanilla eMule and BitTorrent gui clients.
- zwieback 9y agoI used (and liked) wx in the nineties - didn't know it was still around. Qt is my goto GUI for Python these days, does anyone have experience with wx vs Qt for Python? The samples look like it's all dynamically generated (vs. something like QtDesigner) and that's how we used it way back when.
- cabalamat 9y agoMy "go to GUI" is a web app -- I can't imagine anything I'd write a GUI app for these days.
- IgorPartola 9y agoText editor, video, audio editor, system widgets and settings, web browser, terminal emulator, git GUI client, crypto coin wallet, chat client, games, document editor, security focused software a la Keybase client.
- tempay 9y ago> I'd write a GUI app for It's unlikely that cabalamat would attempt making most of those and the others could definitely be done as a web/electron app if desired.
- JustSomeNobody 9y ago> ... and the others could definitely be done as a web/electron app if desired. But probably shouldn't because we don't produce enough renewable energy yet. There's still something to be said about using TRUE native apps.
- cabalamat 9y agoI agree that electron is a bloated resource hog. But if you're running a web browser anyway (I always am) then it's not a big deal to have a web app with the server running locally and the client being a browser tab.
- rectangletangle 9y agoI just woke up, and would have sworn the title read "Python 4 Released."
- julienfr112 9y agoIn view of the pace of python 3 adoption, it could be better to start right now ...
- fermigier 9y agoNice, but I find the release announcement a bit underwhelming. Which of the seemingly minor fixes and tune-ups does warrant such a major version bump ?
- jwilk 9y agoThe announcement is misleading. These are changes since the previous beta release (4.0.0b2), not since wxPython 3.0. Full changelog: https://github.com/wxWidgets/Phoenix/blob/master/CHANGES.rst https://github.com/wxWidgets/Phoenix/blob/master/CHANGES.rst Migration guide: https://docs.wxpython.org/MigrationGuide.html https://docs.wxpython.org/MigrationGuide.html
- HankB99 9y agoThank you. I was wondering the same thing. I glanced at the information and, if I understand it correctly, 4.0.0 is the first release of a ground up rewrite. What's not immediately clear (and perhaps because I did not read the material clearly enough) is if any significant features were added. I wonder because I find it hard to rewrite something without taking advantage of the opportunity to add features. Or perhaps the desire to add features that would be difficult with the 3.x.x code drove the upgrade.
- Cynox 9y agoGreat work! Finally a stable version working with Python3! I find wxPython highly productive and enjoyable to work with and the wx C++ documentation has always been outstanding. Now the Python docs are also really good! https://docs.wxpython.org/ https://docs.wxpython.org/ I know that Qt gets most of the publicity, but personally I prefer wx (having written huge applications in wx and only a small one in Qt, but still). Being able to .Bind() anything without sub-classing and the fact that the class constructors normally takes sensible parameters so that no further method calls are needed to set up a widget makes it very fast and compact to generate dynamic UIs with readable code. The work Robin Dunn has done with wxPython is simply massive and he should be known as one of the great open source legends, especially in the Python community! Congratulations on a fantastic release!
- ZuLuuuuuu 9y agoDoes wxWidgets provide any declaration based reactive programming with data binding? Something like WPF/XAML or Qt/QML or any modern web framework provides? Once you use a modern GUI framework with reactive programming capabilities, it is hard to go back to writing the code line by line procedurally to create your GUI and to keep the information on screen up-to-date without using reactive elements.
- Kliment 9y agoUnfortunately they decided to pull all the 3.x versions from pypi/pip at the same time, breaking a lot of projects that use pip to install dependencies but haven't yet ported to the new wxpython. I don't really understand why anyone would do that, but eh.
- pishpash 9y ago2.9.1.1 is still here: https://pypi.python.org/pypi/wxPython/2.9.1.1 https://pypi.python.org/pypi/wxPython/2.9.1.1 Wonder if they think 4.0 is compatible with 3.0?
- jwilk 9y agoNote that there are no files for 2.9.1.1.
- ris 9y agoLesson #1 in why developers shouldn't be unilaterally in control of the packaging & distribution and why I hate "wild west" style package repositories.
- tempay 9y agoI thought pip wasn't officially supported before 4.0? Either way it's still available on sourceforge, see the bottom of: https://wxpython.org/pages/downloads/ https://wxpython.org/pages/downloads/
- therealmarv 9y agoI wonder if it makes more sense e.g. for macOS to create a Swift UI and an existing python code base as external process which is called on request. Does somebody knows which API interface specification is most suitable for that kind of communication on a single PC: Swift <-> Python ? For web it easy (e.g. REST) but there has to be other options on a fully controllable code base on your PC (seems my desktop programming days are long gone.. otherwise I would know myself)
- Derbasti 9y agoSome kind of JSON over sockets (or MsgPack over pipes, BSON over ZMQ, etc.) works pretty well for these kinds of scenarios.
- mch82 9y agoHow come documentation for "embedded" GUI frameworks like wxPython is so devoid of screenshots and graphical explanation? Compare these pages... * Overview, https://www.wxpython.org/pages/overview/ https://www.wxpython.org/pages/overview/ * API, https://docs.wxpython.org/ https://docs.wxpython.org/ * Demo, https://wiki.wxpython.org/WxSmallApp https://wiki.wxpython.org/WxSmallApp ...with these pages for Bootstrap: * Overview, http://getbootstrap.com/ http://getbootstrap.com/ * API docs, http://getbootstrap.com/docs/4.0/getting-started/introduction/ http://getbootstrap.com/docs/4.0/getting-started/introductio... * Demo, http://getbootstrap.com/docs/4.0/examples/ http://getbootstrap.com/docs/4.0/examples/ For me, this difference made web UI frameworks much more approachable. Visual widget catalogs simplify the task of finding widgets or code samples. Widget screen shots help determine if code is performing as expected.
- ornitorrincos 9y agobecause the list of widgets with screenshots are the same as wxwidgets which is in here: http://docs.wxwidgets.org/trunk/page_screenshots.html http://docs.wxwidgets.org/trunk/page_screenshots.html
- TheCoreh 9y agoSadly, the screenshots on that page seem to have been last updated when Windows XP was still current (which was 10+ years ago) They're also not HiDPI/Retina, and the whole website design seems to be stuck in the mid-2000s, too. Somehow mobile and web developers got aboard all the new design and interaction trends, but Desktop GUI frameworks seem to be all stuck 10 years behind. If I had to guess, I'd say it's probably because of a lack of capital investment in desktop software. And yet a lot of people don't understand why everyone is using Electron for desktop apps these days.
- Karunamon 9y agoThis brought a couple of app ideas back to the front of my mind, but also the difficulties involved in shipping a Python app to an end user. Requiring the user to care about the right version of the runtime, their python and library path, etc. is a real pain in the ass for all concerned. Are there any Python projects out there that allow you to ship a "binary" (even if it's just a self contained python with the relevant libraries like WxPython brought in) for people to use?
- Tom4hawk 9y agoYes - cx_Freeze. Nice example is Cura application: https://github.com/Ultimaker/cura-build/tree/master/packaging https://github.com/Ultimaker/cura-build/tree/master/packagin... (hint: .in files) They are shipping Python 3.5.2 + required PyQT5 parts + other python libraries. Only Python files visible for users are in plugins folder (rest are bundled[as pyc-s] in single zip file, python interpreter is "merged" with entry *.py file as an executable). You can easily download Cura from Ultimaker site and "inspect" result yourself ;)
- amelius 9y agoMy biggest problem with wxpython is that you apparently can't set closures as event handlers. Instead, you have to define a member function, and register it. This makes the process a bit tedious compared to JavaScript.
- ptx 9y agoThe documentation seems to claim[1] otherwise: It also allows the direct binding of events to: * A handler method in the same or another object. * An ordinary function like a static method or a global function. * An arbitrary callable object. If it works for arbitrary callable objects it should certainly work for closures. [1] https://docs.wxpython.org/events_overview.html https://docs.wxpython.org/events_overview.html