PythonCAD is a CAD package written, surprisingly enough, in Python using the PyQt interface. The PythonCAD project aims to produce a scriptable, open-source, easy to use CAD package for Linux (Cross Platforms).
I start developing PythonCAD in my spare time and now python is the programming language that I mostly use.
I think that will be very interesting to tell my story and how I learn python pyqt ,sqlite, sympy... and how python and pycon and OpenERP change my job.
The goal will be to tell at the new python programmer how easy to use is python even for complex problem.
I can explain why I chose pyqt .. what kind of trouble I have found and how I solve it.
Starting from python going to pyqt and at the end how to deploy a python application with pyInstaller ...
I also explain my actual project OpenPLM an OpenERP module to manage PLM data into OpenERP
see you soon
Matteo
The talk will focus on how to distribute multi-platform proprietary Python applications, using PyInstaller:
http://www.pyinstaller.org
PyInstaller takes a program written in Python and turns it into a static executable (binary) that does not depend upon an existing Python installation, nor third party library. The executable can then be packed and shipped in many different ways (through installer wizards, deb/rpm packages, etc.).
PyInstaller is a good multi-platform alternative to tools like py2exe and py2app, but it found troubles to gain acceptance in a market that seems strongly tied to older tools. Instead, PyInstaller puts forward important new features: for instance, it works on the most important desktop platforms (Windows, Linux/UNIX, Mac), and it has got an automatic and fully transparent support for all the workarounds needed to make applications using complex libraries like Matplotlib or PyQt work within a static executable.
In detail, the following points will be discussed:
Distribution of a priopriertary software: initial requests
PyInstaller: how it works (basic tutorial)
The secrets of PyInstaller: technical details
Import hooks: effectively handling third party extensions
Flexibility with PyInstaller: what goes in and what stays out
Linux: static binaries for a single distribution or cross-distributions
Mac: creation of bundles for graphic applications