python for EE CAD program

C

chewie54

Hi All,

I have read some posts on this subject but I haven't been able to make
a decision whether to use Python or not.

I'm considering converting a Java CAD program to Python/C with
wxWdigets for the GUI.

I don't have good answers for:

1) Can I use py2exe or pyinstaller to produce an executable for
Linux, Windows, and Mac? If not, is there a way it can be done?

2) Is there any way to protect the source code, like obfuscation?

3) Memory footprint of application seems large for python demo. Is
this typical for large python applications?

I guess the best thing to do is convert a little portion of the Java
program and see how it works out with respect to the concerns above.

Suggestions and comments appreciated.
 
D

Diez B. Roggisch

chewie54 said:
Hi All,

I have read some posts on this subject but I haven't been able to make
a decision whether to use Python or not.

I'm considering converting a Java CAD program to Python/C with
wxWdigets for the GUI.

I don't have good answers for:

1) Can I use py2exe or pyinstaller to produce an executable for
Linux, Windows, and Mac? If not, is there a way it can be done?

2) Is there any way to protect the source code, like obfuscation?

3) Memory footprint of application seems large for python demo. Is
this typical for large python applications?

I guess the best thing to do is convert a little portion of the Java
program and see how it works out with respect to the concerns above.

Suggestions and comments appreciated.

Look at python-cad, that might give you an idea how such a thing is to be
accomplished using python.

Diez
 
C

chewie54

Look at python-cad, that might give you an idea how such a thing is to be
accomplished using python.

Diez


Hello Diez,

I did look at PythonCad but the distribution and install methods for
Windows is not user freindly. Since the public domain software, I
don't think they protect the source code either.
 
D

Diez B. Roggisch

Hello Diez,
I did look at PythonCad but the distribution and install methods for
Windows is not user freindly. Since the public domain software, I
don't think they protect the source code either.

The subject of code obfuscation in python has been beaten to death quite a
few times on this list, do a search to find anything you want to know.

In a nutshell: forget about it. it's not worth it, difficult to accomplish
due to the dynamic nature of python and to be brutally honest: more or less
nothing you can come up with in your own code is really worth looking at
anyway. That's not saying that you can't code, just that more or less
everything one programs is trivial and only of value in the actual context
it was written in. So nobody is really interested in ripping stuff out.

diez
 
G

Grant Edwards

1) Can I use py2exe or pyinstaller to produce an executable
for Linux, Windows, and Mac? If not, is there a way it can be
done?

2) Is there any way to protect the source code, like obfuscation?

3) Memory footprint of application seems large for python demo. Is
this typical for large python applications?

I'm glad somebody asked these questions. I was getting
worried. It's almost lunchime on Monday and they hadn't come
up yet this week. :)
 
C

chewie54

The subject of code obfuscation in python has been beaten to death quite a
few times on this list, do a search to find anything you want to know.

In a nutshell: forget about it. it's not worth it, difficult to accomplish
due to the dynamic nature of python and to be brutally honest: more or less
nothing you can come up with in your own code is really worth looking at
anyway. That's not saying that you can't code, just that more or less
everything one programs is trivial and only of value in the actual context
it was written in. So nobody is really interested in ripping stuff out.

diez


Your opinions are noted, thank you, but I don't agree with you.
There are
portions of the code that are under review for patents and as such
need to
be protected.

I'm investigating whether Python is the right language to use
for a commercial CAD application. While I think Python is a great
scripting
language, there seems to limitations with regards to packaging and
distributing
programs.
 
C

Chris Mellon

Your opinions are noted, thank you, but I don't agree with you.
There are
portions of the code that are under review for patents and as such
need to
be protected.

For the record: This is not true. If you've already applied for the
patent, you have as much legal protection as you will ever get. Also,
since patents apply to methods and not to literal source, if you're
trying to protect something patentable you have even less protection
against analysis and disassembly than you would if you were trying to
protect the copyright on the code. If you need to make a token effort
to satisfy whatever legal hurdles are involved, shipping .pyc files
(which py2exe and all the other packagers I'm aware of do) is just as
effective as shipping executables compiled with C or C++.
I'm investigating whether Python is the right language to use
for a commercial CAD application. While I think Python is a great
scripting
language, there seems to limitations with regards to packaging and
distributing
programs.

None that don't also exist in every other language in existence. These
are fundamental issues of information theory, not language
constraints.
 
G

Grant Edwards

For the record: This is not true. If you've already applied
for the patent, you have as much legal protection as you will
ever get. Also, since patents apply to methods and not to
literal source, if you're trying to protect something
patentable you have even less protection against analysis and
disassembly than you would if you were trying to protect the
copyright on the code. If you need to make a token effort to
satisfy whatever legal hurdles are involved, shipping .pyc
files (which py2exe and all the other packagers I'm aware of
do) is just as effective as shipping executables compiled with
C or C++.


None that don't also exist in every other language in
existence. These are fundamental issues of information theory,
not language constraints.

Especially since the alternative appears to be Java. Just like
Java, Python compiles to byte code that runs on a VM.

If for some reason he's happy shipping Java VM byte-code and
not Python VM byte-code, then he can use Jython to generate
byte-code for the Java VM instead of for the Python VM.
Personally I think it's rather deluded to think that one is any
more secure than the other.
 
C

chewie54

Especially since the alternative appears to be Java. Just like
Java, Python compiles to byte code that runs on a VM.

If for some reason he's happy shipping Java VM byte-code and
not Python VM byte-code, then he can use Jython to generate
byte-code for the Java VM instead of for the Python VM.
Personally I think it's rather deluded to think that one is any
more secure than the other.


Honestly, thank you for your opinions and suggestions. I know this
has been
discussed before on this forum, but after reading the discussions,
I'm still
unsure about question 1. This is a big step and I want to make sure,
if
possible, I don't run into any show stoppers after many man hours of
work.

I will put the sensitive stuff and the datbase in a C extension and I
think that solves question 2 for me.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top