Skip to content


Subversion checkout URL

You can clone with
Download ZIP
an auto-update framework for frozen python apps

Esky - keep frozen apps fresh

Build Status Code Climate Test Coverage

Esky is an auto-update framework for frozen Python applications. 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.

Esky is currently capable of freezing apps with py2exe, py2app, cxfreeze and bbfreeze. Adding support for other freezer programs should be straightforward; patches will be gratefully accepted.


  • Python2.6 support may be depreciated (as moving codebase to python3)
  • Bbfreeze will be depreciated
  • Py2exe is bugged and doesn't really work..


Ryan has done a talk at pycon to help you get started:


The simplest way to install esky is

pip install esky

however esky on pypi is bugged and will most likely spit errors. Until we get this fixed just do:

git clone
pip install -e esky

To uninstall python develop --uninstall


Freezing your app with esky requires the setup file to be modified, you are then able to run

python bdist_esky

which will setup the correct directory structure for esky to work

  • see the tutorial which will guide you through setting up and freezing with esky.

  • for more information on the setup file see Setup file Options

The main interface is the 'Esky' class, which represents a frozen app.
A simple example of using the esky class to automatically update is given in the tutorial.

Check Using the Esky Class on customizing the process. Esky is currently capable of hitting a http server and there is a patch for amazon s3 which should be merged soon.

There is also a wrapper for esky in for the gui library wxpthon, see blog post

Development / Contributing

See the Contributing Guide


Ryan Kelly

Current Core


Something went wrong with that request. Please try again.