ANN: esky 0.2.1

R

Ryan Kelly

I'm pleased to announce the latest release of esky, a tool for keeping
your frozen apps fresh:

Downloads: http://pypi.python.org/pypi/esky/
Latest Version: 0.2.1
License: BSD

Esky is an auto-update framework for frozen python apps, built on top of
bbfreeze. It provides a simple API through which apps can find, fetch
and install updates, and a bootstrapping mechanism that keeps the app
safe in the face of failed or partial updates.

A frozen app that wants to auto-update itself might run the following in
a background thread:

if hasattr(sys,"frozen"):
app = esky.Esky(sys.executable,"http://myapp.com/downloads/")
new_version = app.find_update()
if new_version is not None:
app.install_update(new_version)

The new version of the application is linked into the app directory in
the safest possible manner: using a carefully-ordered sequence of
atomic renames on POSIX, using MoveFileTransacted on Windows Vista or
later, and using the "rename-and-pray" method on older versions of
Windows. Failed or partial updates are detected and cleaned up
automatically.


Enjoy!


Ryan



--
Ryan Kelly
http://www.rfk.id.au | This message is digitally signed. Please visit
(e-mail address removed) | http://www.rfk.id.au/ramblings/gpg/ for details


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkr1dBMACgkQfI5S64uP50qHfwCgospeX6ZVv6j8lMwTsrnsWTYi
L8gAn0LMWlVHw0JLuEYk8T/8jKe+3EUt
=fNpL
-----END PGP SIGNATURE-----
 
A

Aahz

Esky is an auto-update framework for frozen python apps, built on top of
bbfreeze. It provides a simple API through which apps can find, fetch
and install updates, and a bootstrapping mechanism that keeps the app
safe in the face of failed or partial updates.

Recently I was looking into distribution mechanisms, and I passed over
bbfreeze because I saw no indication that Python 2.6 was supported.
Kind of a bummer because esky looks pretty cool.
--
Aahz ([email protected]) <*> http://www.pythoncraft.com/

[on old computer technologies and programmers] "Fancy tail fins on a
brand new '59 Cadillac didn't mean throwing out a whole generation of
mechanics who started with model As." --Andrew Dalke
 
R

Ryan Kelly

Recently I was looking into distribution mechanisms, and I passed over
bbfreeze because I saw no indication that Python 2.6 was supported.

Not sure if it's officially supported, but I do most of my development
on Python 2.6 and bbfreeze hasn't given me any problems as yet.

Cheers,

Ryan



--
Ryan Kelly
http://www.rfk.id.au | This message is digitally signed. Please visit
(e-mail address removed) | http://www.rfk.id.au/ramblings/gpg/ for details


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkr81QYACgkQfI5S64uP50q2YACdFkarHQGeglk/muYuklk6CDJa
swEAn3OHRilnuGvP410WKtrEx9B8amIR
=EyYg
-----END PGP SIGNATURE-----
 
A

Aahz

Not sure if it's officially supported, but I do most of my development
on Python 2.6 and bbfreeze hasn't given me any problems as yet.

Also, bbfreeze doesn't seem to have active development.
--
Aahz ([email protected]) <*> http://www.pythoncraft.com/

[on old computer technologies and programmers] "Fancy tail fins on a
brand new '59 Cadillac didn't mean throwing out a whole generation of
mechanics who started with model As." --Andrew Dalke
 
R

Ryan Kelly

Also, bbfreeze doesn't seem to have active development.

It's slow but certainly active. Development was recently moved to
github with almost no fanfare (in fact I only discovered the github site
by accident):

http://github.com/schmir/bbfreeze


Out of curiosity, what freezer package did you settle on in the end?
I'm curious it see if esky could easily switch between different
freezers (although it currently depends on some rather deep details of
the bbfreeze format).


Cheers,

Ryan


--
Ryan Kelly
http://www.rfk.id.au | This message is digitally signed. Please visit
(e-mail address removed) | http://www.rfk.id.au/ramblings/gpg/ for details


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkr966UACgkQfI5S64uP50pIhwCeIpHd6KHgW/i8mmOyayxEb8Lt
WuIAoILpvbrvXsJIoBlIbXFAcFttHGBR
=4v6Y
-----END PGP SIGNATURE-----
 
A

Aahz

Out of curiosity, what freezer package did you settle on in the end?
I'm curious it see if esky could easily switch between different
freezers (although it currently depends on some rather deep details of
the bbfreeze format).

We're currently using py2app and py2exe and are planning to use cx_freeze
for Linux.
--
Aahz ([email protected]) <*> http://www.pythoncraft.com/

[on old computer technologies and programmers] "Fancy tail fins on a
brand new '59 Cadillac didn't mean throwing out a whole generation of
mechanics who started with model As." --Andrew Dalke
 

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,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top