The State of Affairs

View: New views
16 Messages — Rating Filter:   Alert me  

The State of Affairs

by CosmoCat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

First of all, its been really exciting to see all the traffic in this  
forum the last few days, it shows there is a lot of interest in PPC  
and Python. I am new to the Python world, I have been doing a .NET for  
years on the desktop and PPC and I am looking for a better cross-
platform environment. Python seems to be the way to go. The only hole  
is on the Windows Mobile PPC.

I have downloaded the Python interpreter for PPC and it works. But it  
doesn't feel complete. I don't mean that as a complain, just a honest  
gut feeling about it.

I am curious, who is still actively working on the interpeter itself?

Also, if we are to encourage developers to build solutions that will  
work on the PDA, I think distribution is a problem. The environment is  
workable as a hacker, but if we want to simply the deployment and  
actually ship applications, at this point it seems a bit complex. It  
would be nice if there was a Py2App, or even, something along the  
lines where the solution could be bundled into a directory (not as an  
EXE, just as Python and your application files) for easy distribution.

Really, it would be wonderful to see Python as a solid option  
over .NET on the PDA.

Thanks for your kind attention,
Chris
_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Alexandre Delattre :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris,

> Also, if we are to encourage developers to build solutions that will  
> work on the PDA, I think distribution is a problem. The environment is  
> workable as a hacker, but if we want to simply the deployment and  
> actually ship applications, at this point it seems a bit complex. It  
> would be nice if there was a Py2App, or even, something along the  
> lines where the solution could be bundled into a directory (not as an  
> EXE, just as Python and your application files) for easy distribution.


I do agree the distribution is problematic especially for end-users having no experience of python.
The problem I see with a py2exe-like solution, is that if each application should hold ~4Mb
(which is approximatively the size of python.dll+python.exe+standard library) this limits the number of apps
you can install on a handheld device. In my opinion, the separation of interpreter and source files is a more
viable option on PDA, even if flash memory is getting cheaper and cheaper.

What I really like to start implementing is a web-based approach of programs distribution,
a bit like apt-get on debian linux (with a graphical frontend of course) or like the Installer.app on jailbreaked
iphones.

This way it would allow us to search/install/uninstall python programs and libs from a common online source, in a few clicks,
directly on pda/smartphone, or by transferring the package with traditional methods if the first option is not possible.
Uploading new applications should be made easy too.

To do that we need:

* Choose a package format for storage/description of application files.
  We could use .cab or design a format specific for PythonCE applications.
  Some times ago, we made some brainstorming with Jared Forsyth on a .ppyp format (Pocket Python Package),
  which is a distutils-like way of defining packages.
 
* Create the Installer application itself, with it's logic and gui,
  and ship it by default in the PythonCE distribution.

* Make a desktop application for easy cross installation of packages, when there's no direct web access on the
  pda. I've seen there are already existing RAPI bindings, this may help a lot, and seems the most 'universal' way
  to transfer files (i.e. by usb)

* Set up a web service for uploading and hosting packages, managing versions, ...
  I think Django web framework could really help here, but no problem if it's another framework or not even in python


While a such project won't be achieved in one day, I definitely think it is worth the effort and will make PythonCE
superior to .NET regarding distribution user experience.

Regards,
Alexandre

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by bkc :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexandre Delattre wrote:
>
> What I really like to start implementing is a web-based approach of
> programs distribution, a bit like apt-get on debian linux (with a
> graphical frontend of course) or like the Installer.app on jailbreaked
> iphones.
>
When I was working on PythonCE years ago I had the same concerns.

I am wondering if Python eggs, easyinstall and setuptools could be put
to use for this. Rather than starting from scratch.

I think easyinstall at least gets you the dependency checking,
downloading (non-graphical) and installation. removal is a pain.

Maybe you could start with a simple gui that uses setuptools and
easyinstall codebase.

http://peak.telecommunity.com/DevCenter/EasyInstall



(and sorry, I no longer have a CE device but just lurk on the list these
days),

--
Brad Clements,                bkc@...    (315)268-1000
http://www.murkworks.com                         
AOL-IM: BKClements

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Parent Message unknown Re: The State of Affairs

by alexandre.delattre :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> When I was working on PythonCE years ago I had the same concerns.

> I am wondering if Python eggs, easyinstall and setuptools could be  
> put to use for this. Rather than starting from scratch.

> I think easyinstall at least gets you the dependency checking,  
> downloading (non-graphical) and installation. removal is a pain.

Brad, this sound likes a good idea but using these tools would require  
to port distutils to PythonCE first. I gave it a try ~  a year ago and  
while it does not raise particular error it was not working. I  
strongly suspected it has to do with wince lack of current directory  
but was unable to spot the problem exactly. Does someone on this list  
have been able to make distutils works on ce ?

Another option would be to extract or reimplement code for  
installation/uninstall of eggs without distutils dependency. So we can  
still create eggs on desktop with traditional methods and install them  
with PythonCE.

While I won't be able to make a so flexible as  
distutils/setuptools/easy install, I found reimplementing something  
more specific to PythonCE could be really interesting for the purpose  
of learning.

I gonna brainstorm a bit more before making a decision that would be  
hard to revert back.

Anyway, I take this occasion to thank you and others for making pyhton  
possible on wince :)

Regards,
Alexandre

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Ulrich Eckhardt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thursday 10 July 2008, Alexandre Delattre wrote:

> Chris,
>
> > Also, if we are to encourage developers to build solutions that will
> > work on the PDA, I think distribution is a problem. The environment is
> > workable as a hacker, but if we want to simply the deployment and
> > actually ship applications, at this point it seems a bit complex. It
> > would be nice if there was a Py2App, or even, something along the
> > lines where the solution could be bundled into a directory (not as an
> > EXE, just as Python and your application files) for easy distribution.
>
> I do agree the distribution is problematic especially for end-users having
> no experience of python. The problem I see with a py2exe-like solution, is
> that if each application should hold ~4Mb (which is approximatively the
> size of python.dll+python.exe+standard library) this limits the number of
> apps you can install on a handheld device.

> In my opinion, the separation of interpreter and source files is a more
> viable option on PDA, even if flash memory is getting cheaper and cheaper.

Further, it is a prerequisite in order to be able to change the sources, i.e.
use it as scripting language. To me, that is more important than the ability
to save a few MiBs RAM or Flash, but I'm also not targetting PDAs but  
industrial controllers.

> What I really like to start implementing is a web-based approach of
> programs distribution, a bit like apt-get on debian linux (with a graphical
> frontend of course) or like the Installer.app on jailbreaked iphones.
>
> This way it would allow us to search/install/uninstall python programs and
> libs from a common online source, in a few clicks, directly on
> pda/smartphone, or by transferring the package with traditional methods if
> the first option is not possible. Uploading new applications should be made
> easy too.

I'm not sure I would actually need or want that. Rather, I'd like to be able
to cross-install (like cross-compile) it on the target machine. That would
also be suitable for PDAs, which sometimes lack internet connection. Further,
it would save on RAM, because all the metadata and the installer itself would
run on a desktop machine.

> * Make a desktop application for easy cross installation of packages, when
> there's no direct web access on the pda. I've seen there are already
> existing RAPI bindings, this may help a lot, and seems the most 'universal'
> way to transfer files (i.e. by usb)

Okay, seems I'm not alone. ;)


I have another question concerning the state of affairs though: why is the CE
port a separate project? All other ports to various operating systems seem to
be one project while the CE port is run separately. This is bad because it
requires additional manpower for syncing changes back and forth and a
win32/CE port present in the main sources would also make people aware of
this when doing changes so they don't break things by being unaware.


cheers

Uli


--
Sator Laser GmbH
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932

**************************************************************************************
           Visit our website at <http://www.satorlaser.de/>
**************************************************************************************
Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt werden.
E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen enthalten. Sator Laser GmbH ist für diese Folgen nicht verantwortlich.

**************************************************************************************

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by bkc :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ulrich Eckhardt wrote:

>
> I have another question concerning the state of affairs though: why is the CE
> port a separate project? All other ports to various operating systems seem to
> be one project while the CE port is run separately. This is bad because it
> requires additional manpower for syncing changes back and forth and a
> win32/CE port present in the main sources would also make people aware of
> this when doing changes so they don't break things by being unaware.
>
>
>  
I tried some years back to integrate the CE changes into Python trunk.
However there were too many changes spread all over the place. It was
hard to get them reviewed.

Plus some things about CE were just too difficult to workaround,
requiring lots of C macros that weren't not appealing to core developers:

no concept of current directory

non-writable errno

non-standard floating point math handling.


--
Brad Clements,                bkc@...    (315)268-1000
http://www.murkworks.com                         
AOL-IM: BKClements

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Parent Message unknown Re: The State of Affairs

by Christopher Fairbairn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Wed 16/07/08 09:15 , Brad Clements bkc@... sent:
> Plus some things about CE were just too difficult to workaround,
> requiring lots of C macros that weren't not appealing to core developers:

Over the last year and a half or so I have been inspired occassionally to look
into cleaning up the existing patch.

It's non trivial however especially if you want concepts such as an emulated
current working directory to be exposed to external libraries such as the SDL
graphics and Berkeley DB ones. This would be required if you want the broadest
script compatability between desktop and PDA versions of Python.

If anyone is interested in having a shot I would be willing to discuss my
thoughts and experiments in this area to get you started. There seems to only be
minimal development occuring within PythonCE (who is actively working on the main
pythonce.exe at the moment?) and I don't have enough time to commit to the project.

Thanks,
Christopher Fairbairn


_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Ulrich Eckhardt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 15 July 2008, Brad Clements wrote:
> I tried some years back to integrate the CE changes into Python trunk.
> However there were too many changes spread all over the place. It was
> hard to get them reviewed.

I know of some projects (Boost, STLport) where the biggest batch of changes
was to fix assumptions (like TCHAR=char) or wrong uses of feature macros
(like checking _MSC_VER==1200 to determine whether a VC6-style compiler is in
use). These are often repeated all over the place, but can pretty well be
explained even to desktop-win32 people because even there they are slightly
incorrect, they only don't happen to break.

> Plus some things about CE were just too difficult to workaround,
> requiring lots of C macros that weren't not appealing to core developers:
>
> no concept of current directory
>
> non-writable errno
>
> non-standard floating point math handling.

- No environment variables.

- No *A function variants of the win32 API, only the *W ones.

- Very restricted C API to build on.

Just two questions here:

1. The non-writable errno, how does that matter? IIRC, it doesn't support
errno at all, so you must use the win32 SetLastError() and GetLastError().
And anyway, I would rather live with Python features unsupported than no
Python at all.
2. What do you mean with the floating point math handling? AFAIK, it still
strongly depends on the OS and target architecture, surely there are other
platforms that don't support

I can't fathom the impact of the necessary changes, which Python version were
you building your patches on? Are the patches still available somewhere? Can
you give me a link to the discussions?

Uli

--
Sator Laser GmbH
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932

**************************************************************************************
           Visit our website at <http://www.satorlaser.de/>
**************************************************************************************
Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt werden.
E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen enthalten. Sator Laser GmbH ist für diese Folgen nicht verantwortlich.

**************************************************************************************

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Parent Message unknown Re: The State of Affairs

by Alexandre Delattre :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

After a bit of thinking, I wonder

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Parent Message unknown Re: The State of Affairs

by Alexandre Delattre :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Please ignore my previous message, I hit the "Send" button accidentaly.

I was thinking that a first step to enhance distribution of PythonCE apps, would be to be able to create easily .cab for them.

.cab are installable over the air, as well by cross installing from desktop.

If I met enough positive feedback, I'll start trying to implement a distutils extension that will allow to create .cab the python way (i.e. Without using directly MS tools)

Looking forward your feedbacks,
Alexandre

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by John Hampton-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexandre Delattre wrote:
> I was thinking that a first step to enhance distribution of PythonCE
> apps, would be to be able to create easily .cab for them.
>
> .cab are installable over the air, as well by cross installing from desktop.
>
> If I met enough positive feedback, I'll start trying to implement a
> distutils extension that will allow to create .cab the python way (i.e.
> Without using directly MS tools)

Sorry for a late response.

I would very much welcome this.  I am in the process of developing an
application for out Symbol scanners that run Windows PocketPC 2003 and
am planning on using python.  However, having an easy distribution
method is essential.  I don't think I'd be much help in this endeavor, I
don't have much experience with Windows mobile development, but I love
the idea.

-John
_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Thomas Heller-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexandre Delattre schrieb:

> I was thinking that a first step to enhance distribution of PythonCE
> apps, would be to be able to create easily .cab for them.
>
> .cab are installable over the air, as well by cross installing from
> desktop.
>
> If I met enough positive feedback, I'll start trying to implement a
> distutils extension that will allow to create .cab the python way
> (i.e. Without using directly MS tools)
>
> Looking forward your feedbacks, Alexandre

I'm not sure whether this will help you or not, but I remember that
I once had a ctypes-based cab file creator running.
Found it in the web archive:

http://web.archive.org/web/20050404190244/http://starship.python.net/crew/theller/moin.cgi/CreateCab

BTW:  How do you install a cab on a CE device?

--
Thanks,
Thomas

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Lachezar Dobrev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2008/7/30 Thomas Heller <theller@...>:
> ...
> BTW:  How do you install a cab on a CE device?
  1. Download CAB using WLAN, WWAN, Bluetooth FTP, Bluetooth PAN, etc.
from the Web-Site, or a network share.
  2. Double-tap the cab file :)

  Works with Windows CE 4, Windows CE 5, Windows CE Embedded 4+, not
sure about Mobile Windows though.
_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Thomas Heller-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Lachezar Dobrev schrieb:
> 2008/7/30 Thomas Heller <theller@...>:
>> ...
>> BTW:  How do you install a cab on a CE device?
>   1. Download CAB using WLAN, WWAN, Bluetooth FTP, Bluetooth PAN, etc.
> from the Web-Site, or a network share.
>   2. Double-tap the cab file :)
>
>   Works with Windows CE 4, Windows CE 5, Windows CE Embedded 4+, not
> sure about Mobile Windows though.

Ah thanks.  So, is there someone who provides an initial inf file which can be used
to create a comtypes .cab file? ;-)

--
Thanks,
Thomas

_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by Lachezar Dobrev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

  Well... I believe that is the point of the conversation.
  In order to be able to install a CAB file someone has to create it
first, and for the time being there is no way of creating a CAB file
for a python project (I am not an expert, I may be wrong).

2008/7/30, Thomas Heller <theller@...>:

> Lachezar Dobrev schrieb:
>
> > 2008/7/30 Thomas Heller <theller@...>:
>  >> ...
>  >> BTW:  How do you install a cab on a CE device?
>  >   1. Download CAB using WLAN, WWAN, Bluetooth FTP, Bluetooth PAN, etc.
>  > from the Web-Site, or a network share.
>  >   2. Double-tap the cab file :)
>  >
>  >   Works with Windows CE 4, Windows CE 5, Windows CE Embedded 4+, not
>  > sure about Mobile Windows though.
>
>
> Ah thanks.  So, is there someone who provides an initial inf file which can be used
>  to create a comtypes .cab file? ;-)
>
>
>  --
>  Thanks,
>  Thomas
>
>  _______________________________________________
>  PythonCE mailing list
>  PythonCE@...
>  http://mail.python.org/mailman/listinfo/pythonce
>
_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce

Re: The State of Affairs

by David Goncalves-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

>   Well... I believe that is the point of the conversation.
>   In order to be able to install a CAB file someone has to create it
> first, and for the time being there is no way of creating a CAB file
> for a python project (I am not an expert, I may be wrong).

You can create CAB files (different from Windows cab files) suitable
for PocketPC by using various tools.

You can use free linux tools like : pocketpc-cab
or you can use a shareware running on Win32 like : WinCE Cab Manager.

Regards.

--
David Goncalves - http://www.lestat.st
_______________________________________________
PythonCE mailing list
PythonCE@...
http://mail.python.org/mailman/listinfo/pythonce