473,698 Members | 2,361 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

wxPython Not Ready for Commercial Use

Please correct me if im wrong. I have depended much on python and
wxpython gui apps. After a year of using python apps I was able to do
good application written entirely in python. One big problem came into
my attention. The printing support. Yes, there was reportlab. But what
if your client wanted to simulate the customized excel output and have
it converted to reportlab. you cannot do it 100%. There are so many
drawbacks which I do not like. I tried to use the xml file of excel
and modify it on the fly to answer that problem but still not a very
good solution.

I am targetting crystal report as my ideal reporting application. From
my experiences I was not able to print a very good output for
commercial application. If anyone can provide me a very good reporting
application that can be integrated within python I must say python can
be used for commercial gui app. If not then we are all correct, python
is good for training purposes but not for production yet. Please
excempt reportlab from your choices as I have used it already and was
not able to simulate excel like output, still you can do it, the very
difficult way. I am just dissapointed, now I am trying to learn c++/qt
to solve my gui and printing problem. Please correct me if I am wrong.
Thanks.
Jul 18 '05 #1
15 3111
Polerio Babao Jr.II wrote:
Please correct me if im wrong. I have depended much on python and
wxpython gui apps. After a year of using python apps I was able to do
good application written entirely in python. One big problem came into
my attention. The printing support. Yes, there was reportlab. But what
if your client wanted to simulate the customized excel output and have
it converted to reportlab. you cannot do it 100%. There are so many
drawbacks which I do not like. I tried to use the xml file of excel
and modify it on the fly to answer that problem but still not a very
good solution.

I am targetting crystal report as my ideal reporting application.
Have you looked at any third-party products which support
an ActiveX interface? Surely there are such things and they
could easily be integrated with a wxPython app.
If not then we are all correct, python
is good for training purposes but not for production yet.


Given the number of people actually using it for production use,
this ludicrous statement clearly must have been intended to
provoke a response, rather than to indicate a serious claim on
your part. Heck, if you used it for over a year and it's only
suitable for training, that's egg on your face, isn't it?

-Peter
Jul 18 '05 #2
Polerio Babao Jr.II wrote:
my attention. The printing support. Yes, there was reportlab. But what
if your client wanted to simulate the customized excel output and have
it converted to reportlab. you cannot do it 100%. There are so many


I think the ability to easily and precisely reproduce of output of
other software packages is hardly a measure of any language maturity.

Istvan.
Jul 18 '05 #3
Polerio Babao Jr.II wrote:
Please correct me if im wrong.

I believe that you *are* wrong.
One big problem came into my attention. The printing support.

Printing in a reliable cross-platform way is a hard problem, which is (I
believe) why the support in wxWidgets/wxPython is not up to the same
level as its screen-display support. But there *are* (IMO) reasonable
solutions.
But what if your client wanted to simulate the customized excel output

Presuming that you're targetting Windows, there's a couple of solutions
here. Perhaps the simplest would be to use either pythonCOM or
pyXLWriter ( http://sourceforge.net/projects/pyxlwriter/ ) to get Excel
to handle the output for you. I suspect that either of these methods
would be simpler than writing Excel-xml.
I am targetting crystal report as my ideal reporting application.

Does Crystal Reports offer a COM automation API? If so, you could use
*it* directly (via pythonCOM).
... now I am trying to learn c++/qt to solve my gui and printing problem.


Seems to me that the effort involved here would be rather greater than
the effort involved in customizing your printing under wxPython. And
while I don't know what sort of built-in printing support (if any) QT
may have, I don't think that changing languages gains you anything. (At
worst, you can access the win32api printing calls directly from Python;
all that using c++ would gain you is a different selection of libraries,
which may or may not help very much.)

Jeff Shannon
Technician/Programmer
Credit International

Jul 18 '05 #4
Polerio Babao Jr.II <ad***@polerio. com> wrote:
...
difficult way. I am just dissapointed, now I am trying to learn c++/qt
to solve my gui and printing problem. Please correct me if I am wrong.


What's C++ gotta do with it? If you want to use Qt (and are willing to
pay the fees for it, or else only release under GPL and not for
Windows), fine, it's actually what I prefer myself. But you can use
either C++ or Python indifferently with either framework,
wxWidgets/wxPython or Qt/PyQt. So you definitely _are_ wrong in
implying that language choice and choice of frameworks have anything
much to do with each other in this context.

If wxPython has problems they lie elsewhere... I was just trying to
install bittorrent on a Linux box tonight, and bittorrent requires
wxPython, so I _did_ just go through the very messy and lengthy build
process (./configure-make-sudo make install only does the wxWidgets
part, then you have to edit config.py before you run python setup.py to
build -- and the docs explaining this are quite lengthy)... only to find
in the end that bittorrent just doesn't like the current release of
wxPython, crashing loudly pretty soon. I guess incompatible changes
have been made, or programming errors, or something. Guess I should try
again with another, older, stable release of wxPython, but it's a bit
late to restart tonight.

However, Qt (for all that I _do_ like it) has just the same kind of
problem... you upgrade the library, your apps start breaking right and
left and center. Apparently, achieving stability and good backwards
compatibility in such huge frameworks is NOT a trivial problem,
particularly because users and would-be users are always clamoring for
more and more feechurs (and your peculiar whine which seems to equate
"lacks builtin ability to emulate Excel custom printing" to "is not
ready for commercial use" offers an entertaining example thereof).
Alex
Jul 18 '05 #5
Well, for what I have read of your situation, it's not much different
in essence from mine, or from other people that are using Python for
business applications. There are some fellows around here who are not
entirely satisfied with the state of the art in this particular area.

Said that, let me point out where I disagree with you. (Please beware,
I'm going to enter ëvangelize-mode"). The problem is not with
wxPython, which is solid, mature, and very comprehensive. The problem
is not with the emulation of feature X or Y of some other well known
software. The problem, in my not-so-humble opinion, is the lack of a
solid framework to develop *business applications*, that tie all
things together under an abrangent and comprehensive umbrella. It
includes:

-- solid supporting libraries (abstract data types, networking, etc)
-- that's where Python excels;
-- GUI stuff (that's wxPython domain, Qt and Tk are also good options);
-- database support (beyond DBAPI 2.0; including GUI bindings, object
persistence);
-- report generation;
-- last, but not least: a set of guidelines and a basic app framework
that can be easily adapted for new projects. Those who ever programmed
with Delphi know what I am talking about here. As far as Python is
regarded, each and every project uses a different approach[1], making
code reutilization extremely hard.

I may have forgotten something on my list above, but you've got the
basic idea. On the good side, there are plenty of people working on
such tools. On the bad side, there is still no standard, and there's
possibly a long way ahead until some standard finally materializes.
--
[1] What did I mean with "a different approach"? non-standart
interfaces, lack of naming conventions, different ways to bind to or
handle external events, etc.The integration depends on more factors
than the basic class hierarchy -- the actual usage of the classes (how
they are instantiated, bound together, etc.) must be similar enough to
make integration possible. As it is now, it'is possible to have two
wxPython apps programmed in such a way that integration between them
difficult or even impossible, due to this factor.

--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: ca********@gmai l.com
mail: ca********@yaho o.com
Jul 18 '05 #6
On Thu, 2004-09-16 at 23:33 +0200, Alex Martelli wrote:
If wxPython has problems they lie elsewhere... I was just trying to
install bittorrent on a Linux box tonight, and bittorrent requires
wxPython, so I _did_ just go through the very messy and lengthy build
process (./configure-make-sudo make install only does the wxWidgets
part, then you have to edit config.py before you run python setup.py to
build -- and the docs explaining this are quite lengthy)... only to find
in the end that bittorrent just doesn't like the current release of
wxPython, crashing loudly pretty soon. I guess incompatible changes
have been made, or programming errors, or something. Guess I should try
again with another, older, stable release of wxPython, but it's a bit
late to restart tonight.


Most likely it requires wxPython 2.4.x. 2.5.x, while recommended, is
considered the development branch and there have been a few incompatible
changes made (although most of them can be easily worked around iirc.

Regards,
Cliff

--
Cliff Wells <cl************ @comcast.net>

Jul 18 '05 #7
On Thu, 2004-09-16 at 09:27 -0700, Polerio Babao Jr.II wrote:
Please correct me if im wrong. I have depended much on python and
wxpython gui apps. After a year of using python apps I was able to do
good application written entirely in python. One big problem came into
my attention. The printing support. Yes, there was reportlab. But what
if your client wanted to simulate the customized excel output and have
it converted to reportlab. you cannot do it 100%. There are so many
drawbacks which I do not like. I tried to use the xml file of excel
and modify it on the fly to answer that problem but still not a very
good solution.

I am targetting crystal report as my ideal reporting application. From
my experiences I was not able to print a very good output for
commercial application. If anyone can provide me a very good reporting
application that can be integrated within python I must say python can
be used for commercial gui app. If not then we are all correct, python
is good for training purposes but not for production yet. Please
excempt reportlab from your choices as I have used it already and was
not able to simulate excel like output, still you can do it, the very
difficult way. I am just dissapointed, now I am trying to learn c++/qt
to solve my gui and printing problem. Please correct me if I am wrong.
Thanks.


Ah, the old "make an inflammatory statement to goad someone into
answering my question" tactic.

When it comes to automating external applications (Crystal Reports,
Excel) on Windows, there's only a couple of ways to do it, and it has
nothing to do with programming language choice. COM is the answer and
Python has it. You can try C++ if you like, but what you'll find is
that you are going to run into exactly the same problem, only it will
take you twice as long to get there.

If you want "Excel-like" output, why not use COM to control Excel? It's
been several years, but I built an application (using Python, wxPython
and win32com) to do just that. If what you are looking for is someone
to show you how to do it, why not just pay someone to do it? Perhaps
it's the programmer, not the language, that isn't ready for
production ;)
Regards,
Cliff

--
Cliff Wells <cl************ @comcast.net>

Jul 18 '05 #8
On Thu, 16 Sep 2004 12:26:09 -0700, Jeff Shannon <je**@ccvcorp.c om> wrote:

Presuming that you're targetting Windows, there's a couple of solutions
here. Perhaps the simplest would be to use either pythonCOM or
pyXLWriter ( http://sourceforge.net/projects/pyxlwriter/ ) to get Excel
to handle the output for you. I suspect that either of these methods
would be simpler than writing Excel-xml.


I was recently involved in a project which required producing excel
files programmaticall y (this was from VB *spew*). I started off using
COM, but it turned out to be unreasonably slow for filling in all the
cells that we needed to do; so instead we output an XML spreadsheet.
It was much faster, and simpler in the end.
Jul 18 '05 #9
Andrew Durdin writes:
I was recently involved in a project which required producing
excel files programmaticall y (this was from VB *spew*). I
started off using COM, but it turned out to be unreasonably
slow for filling in all the cells that we needed to do; so
instead we output an XML spreadsheet. It was much faster, and
simpler in the end.


I used COM to do an Excel spreadsheet once. It was pretty
complex and took an outrageous amount of processing time. And
then the client updated Excel and had to call me in because
something in the COM interface changed.

I wonder if your XML method has a better chance of surviving
Excel "upgrades". I will certainly try to avoid COM in the
future.

--
Paul McNett
Independent Software Consultant
http://www.paulmcnett.com
Jul 18 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

25
2611
by: James Goldwater | last post by:
I'm starting a new hopfully-commercial project soon, and I face a dilemma about whether Python with wxPython would be appropriate. The project has 3 main areas: a) manipulation of lists and trees, using.. b) a hopefully dead-sexy gui, all in order to... c) eventually pump out certain bits of the datastructure over the network in semi-realtime (< 10ms accuracy or so).
15
2902
by: Grant Edwards | last post by:
Can anybody recommend a good book on wxPython? Are there any books on wxPython? I've been trying to learn wxPython and/or wax for a few weeks, and I'm just not getting it. wxWindows seems to be more low-level than the other GUI toolkits I've used (Tk, GTK, and Trestle), and there are all sorts exposed details in wxWindows/wxPython that I find weird.
48
2943
by: Bulba! | last post by:
I'll soon start development of a specialized small app and need to choose GUI for it. I have narrowed the choice to wxPython/PythonCard and QT/PyQT (buying commercial licenses is not a big problem, the company would pay for it). Which is better for this kind of application? I mean, looking from purely technological and long-term development aspects and ignoring licensing issues:
10
4967
by: Mario | last post by:
Hello all, I'm trying hard to make possible to print some simple text from python to the default printer using wxPython, after days of internet searches I found this page: http://wiki.wxpython.org/index.cgi/Printing but is impossible to use this script even if I do exactly as said there. I think the script is buggy or I am not able to use it, even if seems very simple to use... Anyone can give me an hint on how to easily and simply print...
25
4273
by: TPJ | last post by:
GUI's etc: PyGtk on Windows "(...) So if someone develops mainly for X and just wants to make sure that it is not impossible to run on Windows, you can use PyGTK. (...)", July 2nd, 1999 pyGTK on Windows "(...) > can i use pyGTK under > Windows???
84
6528
by: John Perks and Sarah Mount | last post by:
we have some Python code we're planning to GPL. However, bits of it were cut&pasted from some wxPython-licenced code to use as a starting point for implementation. It is possible that some fragments of this code remains unchanged at the end. How should we refer to this in terms of copyright statements and bundled Licence files? Is there, say, a standard wording to be appended to the GPL header in each source file? Does the original...
25
2677
by: Daniel Jonsson | last post by:
So, I've reached the point where my building pipeline tools actually needs to be used by other people in my company. By this reason I actually need to think about the usability, and I've come to the conclusion that I need a GUI. So, which of the two packages should I learn, and which one is easier to pick up? Thanks in advance! Daniel
19
3550
by: [david] | last post by:
I'd like to refresh the display before I start the main loop. I have code like this: app = App() app.Show() app.long_slow_init() app.MainLoop()
17
1537
by: NoelByron | last post by:
Hello! We are thinking about writing a project for several customers in Python. This project would include (among others) wxPython, a C/C++ module. But what happens if this application generates a segmentation fault on a customers PC. What changes do we have to trace back the source of the error? Imagine you use two or three C libraries in a Python project and you experience random crashes in 'Python.exe'. What would you do?
0
8674
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9027
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8861
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7725
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5860
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4619
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3046
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2329
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2001
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.