Jim Peterson wrote:
i'm learning wxpython. i assume i want to use a design/layout tool for more complex layouts.
As a newbie, I'm hoping not to have to learn the old wxpython namespace. I assume my own code should be wx-based. Nevertheless, I'm learning about the old namespace just to be able to work thru the sample/obstacle course code on the wiki.
Appologies for jumping in late, I just got my email working again.
[Prima donna mode]
This is possibly an unpopular opinion, but I for one recommend *against* using any IDE that 'automatically' generates the layout code. I've found that hand-rolled code tends to be more meaningful in code review and less clogged with 'noise' code that is common for IDEs of that sort.
They have thier uses, such as rapid prototyping of fascade GUIs, but for 'production' code I've always gotten superior results from coding it by hand, and it's usually far more maintainable down the road.
I have a firm belief that there is absolutely *no* substitute for an indepth knowledge of the library APIs, and I am not just referring to wx here, but any library in C, Py, Perl, Java, or whatever. Relying on tools to do the dirty work only gets you so far. Whenever you hit the limitations of those tools, you have only your own understanding of the API to fall back on. And if you don't constantly excersise it, you'll lose what you knew before. I also believe that the absolutely WORST time to start using one of these tools is when you're first getting started. This is the time when you're most able to establish your own working idioms with little pressure - later, you'll probably be on deadline and not have the luxury of learning new things under the gun.
Like I mentioned earlier, reviewing generated code is generally a nightmare. The naming conventions are generally pretty generic and meaningless, the IDEs I've used don't force you to override that, and thus it becomes a confusing blob, especially if you have to come back to it months later to fix an obscure bug that just got uncovered in the field.
To that end, the most sophisticated IDE I generally look for is something like PyPE or CodeWright (and CW has oodles of stuff *nobody* needs to do Py code). Using that and liberal copy and paste from other projects, I can usually get a working fascade up within an hour or two. That may not be record breaking speed, but it's a system that works well for me personally 
Before the flying monkeys are loosed upon me, please understand that I think the various code generators are great prototyping tools, especially early on. But since I am completely incapable of trusting generated code, it makes more sense for me to avoid them. Other people find them quite useful. I also have to trot out a disclaimer: I haven't looked into any of them in months, since I have absolutely no curiosity in that direction.
Having said all that, if you absolutely *must*, here are some things I consider important:
1) Support for the wx 2.5 API. That's going to be hard to get right away so at least avoid those that are not in active, nay, *feverish* development. Those that are not *might* get support for the 2.5 API by sometime next year, but that's a huge gamble.
2) Outright enforcement of meaningful naming conventions. "window1" and "window2" and "button3" are pretty much useless when reviewing code months down the road. If you can't find one that enforces, at least find one that *allows* you to override the defaults with meaningful labels.
3) Reproducable and editable code - can you edit the code by hand and re-load it into the IDE? If not, ask yourself what that means if you ever find an obscure bug in the generator that you have to override - and later have to add a button or something. Whether the code generated is pure Python or an XRC file, you should have the option of hand editing if at all possible.
4) *full* support of the wx libraries. If you rely on an IDE to do the heavy lifting, then find that one of the libraries contains a key component that you absolutely *need* but can't access through the IDE, you're going to have to take a crash course in doing it by hand if you're not already fluent at it.
[/Prima donna mode]
Well, you asked 
... "Hey, dad, remember our car?" -- Calvin