» Publishers, Monetize your RSS feeds with FeedShow: More infos (Show/Hide Ads)
PythonCard 0.8.1
PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. The latest release of PythonCard includes over 50 sample applications and tools to help users edit and build applications in Python, plus many useful programs like the slideshow sample that you might want to use without ever bothering to do any coding. Check out the sample pages for screenshots and info about the samples. The more applications page has some info and screenshots on applications users have built with PythonCard.
New samples include floatCanvasTest, flock, gravity, testNotebook, and testSplitter. There is a new version of the codeEditor that uses tabs and will eventually replace the existing codeEditor. There is also an experimental reStructuredText and HTML editor in the codeEditor directory called restEditor.
PythonCard requires Python 2.3 or higher and wxPython 2.5.2.8 or higher.
The documentation page has links to installation instructions for Linux, Mac OS X, and Windows that covers installing Python, wxPython, and PythonCard. The Linux instructions will be updated soon, but we're waiting for the RPMs to be built, so for now Linux users can just download and install from the tar.gz source archive. The documentation includes some walkthroughs, screenshots and info on using PythonCard and some of its tools such as the codeEditor, resourceEditor (layout tool), findfiles, and runtime shell.
There are many changes from the earlier PythonCardPrototype packages. See the migration_guide.txt file if you are upgrading from an earlier release. Check the changelog for a complete list of changes for release 0.8.1.
If you would like to contribute to PythonCard, the first step is joining the mailing list.
PythonCard to the Rescue - a success story involving accelerometers, a microcontroller, Python, and PythonCard with screenshots and source code. I can't say I understand all the "hardware" talk since I am but a lowly software guy, but I was quite happy to read Daryl Fox's story as it shows that PythonCard is simple and easy to use and can get the job done even if you don't program graphical user interfaces (GUIs) every day. And in case you're curious, Daryl was a 2002 Flugtag Champion.
PythonCard Coding Sprint
The Seattle Python Interest Group (SeaPig) is hosting a NorthwestPythonSprint in Bellevue, Washington on October 23rd and 24th. Brian Dorsey invited me up to help run a PythonCard sprint as part of the festivities. I'll be giving a presentation on PythonCard Saturday morning as well as helping people work on their own PythonCard projects, fix bugs, and make additions to the framework and tools. Which projects we tackle will depend on how many people show up and what interests them the most. Recently, I've been porting Flash animations and simulations to PythonCard, so I would be interested in doing some more of that, but I expect I will probably spend most of my time coaching other people.
The sprint is free, so if you can make it to Bellevue, I encourage you to attend and learn how to do some GUI programming. Pleae sign-up on the wiki and send me an email if you are planning to attend. See you there!
I expect to release PythonCard 0.8.1 in the next few weeks before the coding sprint.
How to live on the edge with wxPython and not get cut (i.e. using wxPython 2.4.x and 2.5.x simultaneously).
I used this trick during the initial wxPython 2.5.1.5 release on Windows and I'm sure it works, as long as you know that the application you want to run is consistent about its use of wxPython packages. The old wxPython package was wxPython.wx so typically you would see people using it as:
from wxPython.wx import *
or
from wxPython import wx
There was an experimental package in later 2.4.x releases called wx, so if you look in site-packages you'll see wx and wxPython directories. There was a magical set of import statements that imported all the wxPython.wx stuff and did namespace manipulation for the wx package in anticipation of the new wx package that would be adopted with wxPython 2.5.x and later.
As of wxPython 2.5.x the real package is wx and now the wxPython package does the magical imports and namespace manipulation to provide backward compatability for code that still uses the old imports form above. Newer packages designed to work with wxPython 2.5.x and later use imports of the form:
import wx
or if you still believe namespace collisions will never happen to you
from wx import *
So, what's this got to do with living in both worlds? If you have wxPython 2.4.2.4 installed, then go into your site-packages directory and rename the wx dir to wx24 and the wxPython dir to wxPython24. Now install wxPython 2.5.2.7. Rename the wxPython dir to wxPython25 and then rename the wxPython24 dir to wxPython. Voila, now you can live in both worlds. PythonCard will never import from wxPython.wx so there won't be a conflict between 2.4.2.4 and 2.5.2.7 libraries and a package like Boa will always be importing from wxPython.wx so it won't ever try and get something from the 2.5.2.7 wx package.
If you want to test this, simply rename the wx package back to wx25 and run your code that requires wxPython 2.4.x. If anything ever tries to import from wx then an exception will be thrown. Similarly, you can test that code that wants 2.5.x doesn't ever import from wxPython.wx by renaming the wxPython dir back to wxPython24.
I never tested this on Linux and the process might be more complicated if the underlying wxGTK libs don't live under the wx and wxPython dirs, but it works like a champ on Windows. If you are running Mac OS X, you simply shouldn't run wxPython 2.4.x, wxPython 2.5.2.7 on Mac OS X is so much better, so just upgrade!
PythonCard 0.8
PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. The latest release of PythonCard includes over 50 sample applications and tools to help users edit and build applications in Python, plus many useful programs like the slideshow sample that you might want to use without ever bothering to do any coding. Check out the sample pages for screenshots and info about the samples. The more applications page has some info and screenshots on applications users have built with PythonCard.
New samples include ataxx, lsystem, moderator, montyhall, mp3player, reversi, and twistedEchoClient. There is also an experimental reStructuredText and HTML editor in the codeEditor directory called restEditor.
PythonCard requires Python 2.3 or higher and wxPython 2.5.2.7 or higher.
The documentation page has links to installation instructions for Linux, Mac OS X, and Windows that covers installing Python, wxPython, and PythonCard. The Linux instructions will be updated soon, but we're waiting for the RPMs to be built, so for now Linux users can just download and install from the tar.gz source archive. The documentation includes some walkthroughs, screenshots and info on using PythonCard and some of its tools such as the codeEditor, resourceEditor (layout tool), findfiles, and runtime shell.
There are many changes from the earlier PythonCardPrototype packages. See the migration_guide.txt file if you are upgrading from an earlier release. Check the changelog for a complete list of changes for release 0.8.
This is the first release targeted at resolving issues for a 1.0 release. If all goes well, PythonCard 1.0 will be out this winter after wxPython 2.6 is released.
If you would like to contribute to PythonCard, the first step is joining the mailing list.
At long last, wxPython 2.5.2.7 has been released. PythonCard release 0.8, which is dependent on 2.5.2.7 will be out shortly. Head over to the wxPython site or just follow the links below. If you are a Mac OS X user you should be particularly happy. I've been using wxPython 2.5.2.x on my PowerBook as my primary Python development platform for the last few months and it definitely looks and works well enough that I don't feel cheated anymore compared to wxPython on Windows. Kudos to Stefan Csomor, Kevin Ollivier, Robin Dunn and everyone else that have whipped WXMAC into shape.
wxPython 2.5.2.7 has been released, all users of 2.5.1.5 are strongly encouraged to upgrade. Please read the Recent Changes and Migration Guide for details.
A snapshot of the new style wxPython reference docs is available here. While most of the content is not yet present, the docs are still usable, and in fact helpful since they already accurately document what classes and methods are present in wxPython and what the parameter names are.
Robin's OSCON 2004 tutorial and presentation slides are available.
OSCON 2004 is over. I had a lot of fun along with the rest of the crowd; there were over 2000 attendees this year. Obviously I haven't blogged in a long time, but I'm sure other bloggers did a good job of covering events and sessions.
I'm off to the Python VanPy Workshop '04 in Vancouver, British Columbia where I'll be giving a talk on PythonCard Monday morning. The keynotes and sessions for the conference are looking good.
When I get back I expect to start posting a little more regularly. I've been working on release 0.8 of PythonCard and in particular paying attention to any issues I find on Mac OS X that need to be tweaked. I expect to make a release soon after Robin releases wxPython 2.5.2.x
O'Reilly Open Source Convention 2004
The OSCON 2004 site is live, so you can register; be sure to take advantage of the many discounts available. Also, don't forget to check the schedule for the Python 12 presentations and tutorials. OSCON is being held July 26 - 30 at the Portland Marriott Downtown in Portland, Oregon.
There is a plan to have sprints after the main conference is over, starting Friday afternoon and lasting through Monday morning, but the details haven't been worked out yet. If you are planning to attend OSCON and think you might be interested in doing some coding over the weekend, then you might want to hold off on finalizing your flights.
This is a bug fix release to correct a problem with menus on Linux when using wxPython 2.5.1.5. See the previous announcement for release 0.7.3 for more information.
PythonCard 0.7.3
PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. The latest release of PythonCard includes over 40 sample applications and tools to help users edit and build applications in Python. Check out the sample pages for screenshots and info about the samples. The more applications page has some info and screenshots on applications users have built with PythonCard.
The documentation page has links to installation instructions for Linux, Mac OS X, and Windows that covers installing Python, wxPython, and PythonCard. The documentation includes some walkthroughs, screenshots and info on using PythonCard and some of its tools such as the codeEditor, resourceEditor (layout tool), findfiles, and runtime shell.
The main point of this release is to add support for wxPython 2.5.x while still supporting wxPython 2.4.x. Check the changelog for a complete list of changes for release 0.7.3.
This is the last planned release of PythonCard as a "prototype". The status of the project on SourceForge has already been changed to beta. The current plan is for the next release to be 0.8, which will drop "Prototype" from the package name, include more documentation, and finalize some of the core APIs exposed to user code. If all goes well, there will be a PythonCard 1.0 release by early summer.
If you would like to contribute to PythonCard, the first step is joining the mailing list.
wxPython 2.5.1.5
The 2.5.1.5 release of wxPython is now available for download.
What is wxPython?
wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module that wraps the popular wxWidgets cross platform GUI library, which is written in C++.
wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit Microsoft Windows, most Linux or other Unix-like systems, and Macintosh OS X.
Changes in 2.5.1.5
The changes in this version are too numerous to list here, please see the following recent changes and migration guide for more details. If you are upgrading from 2.4.x then please do read the MigrationGuide fully before upgrading as there are some backwards incompatible changes.
Most Popular Python Projects
I've created a wiki page to track the most popular Python projects. In order to keep the list focused, some metrics have to be established so that every Python-related project isn't in the list. For example, a minimum of three thousand (3K) downloads per month, a few hundred subscribers to the project mailing list, or an obviously large established user base (e.g. Mailman). In addition, the list doesn't include modules or packages in the standard libraries such as Tkinter.
Building a Balancing Scooter by Trevor Blackwell. Make sure you watch the video!
The first version was written in Python and used serial ports to talk to the gyroscope and motor controller.
Guido on wxPython
From notes taken by Ted Leung and others at Guido's PyCon keynote this morning...
Q: wxPython
A: That's the best GUI toolkit given a number of constraints. The only reason wxPython isn't the standard Python GUI toolkit is that tkInter was there first. Believes wxPython is the most mature cross platform toolkit.
On a related note I recently did some simplistic research to find the most popular Python projects. The summary shows that wxPython is one of the most popular Python projects with over 20K downloads per month from SourceForge (SF) alone; SF stats are understated as of March 2004 according to SF staff. The number of subscribers to the wxPython mailing list is over 900 people, compared to 550 and 500 subscribers for PyGTK and PyQt respectively. Note that monthly downloads for wxWidgets from SourceForge are around 40 - 50K per month, so the wxPython user base is a very large part of the total wxWidgets user base.
Other Python GUI toolkits have their uses, but I just couldn't resist this opportunity to gloat. <wink>
BitTorrent
Congratulations to Bram Cohen on his Wired Rave Award for BitTorrent!
According to Wired, there are an estimated 10 million machines running BitTorrent. The SourceForge downloads alone are around 1.3 - 1.5 million per month and several of the most active Python projects on SourceForge are alternative clients for BitTorrent. That means that BitTorrent is probably the most popular program ever written in Python and one of the most popular Open Source projects as well.
[via Dave Winer]
IronPython is Jim Hugunin's implementation of Python for .NET and Mono. Jim's IronPython paper and Ted Leung's notes on Jim's talk shed more light on this project. Jim will be doing an updated presentation on IronPython at OSCON in July.
HyperCard: 1987 - 2004
Well it finally happened, Apple removed the HyperCard sub-directory from the main Apple site and you can no longer buy HyperCard from the Apple store. Of course, HyperCard was never updated for Mac OS X and I'm pretty sure the last update to HyperCard was version 2.4.1 back in 1998. But the removal of the product from the Apple site is the final nail in the coffin.
If you want to upgrade your old HyperCard stacks and use an xTalk-style language, then your best bet is probably Runtime Revolution. If you want more info on HyperCard, then you might want to check out the HyperCard wiki page.
Meanwhile, the Open Source PythonCard project will continue to plug away at a worthy successor using the Python programming language that will run on Windows, Linux, and Mac OS X. We're finally going to make a 1.0 release later this spring and I plan to get back to work on a more integrated HyperCard-like environment for PythonCard. If you would like to help make that happen, I invite you to email me and join the project.
Rest In Peace HyperCard. You are not forgotten and your children live on...
Do we need a Jython JSR?
Last May I made a blog entry on Jython that covers a lot of background material, including the idea of embedding Jython in Eclipse and web servers. BEA WebLogic already supports Jython. AFAIK, nobody has added Jython support to the main JBoss distribution yet, but someone should as Jython is being used with JBoss.
After reading about JSR 241: The Groovy Programming Language last week, I had to wonder why the authors didn't just embrace Jython instead? According to one of the advisors, the developers are certainly aware of Python and Jython, because "Python is a strong inspiration for Groovy", but the developers "wanted to re-invent".
Jython is a mature production quality language running in the JVM so it has full access to the J2SE platform and J2EE. Jython programs compile to Java class files, but you can also use the Jython interpreter to interactively manipulate Java classes at runtime. Besides Java, Jython is arguably the most popular language running in the JVM. What other dynamic language running in the JVM has several books written about it?
Sean Gallagher has written two articles on why now is such an important time for a language like Python or Jython: Java, meet Python. Python, meet Java and So what about Jython? The first article also appeared in LinuxWorld.
James Strachan, one of the spec leads for JSR 241, addresses some of the concerns over the Groovy JSR.
After reading these articles and comments I doubt we need a JSR for Jython, because Jython doesn't need to be re-specified or re-implemented, but perhaps how Jython relates to Java needs better definition within the JCP? Certainly Jython could use additional developers to keep it up-to-date with the latest implementation of Python. What Jython really needs is more recognition from Sun and IBM and some resources to keep Jython development active. Those companies should also be bundling Jython with their products, providing support through code examples and articles, and evangelizing Jython to their customers.
Related links:








