Skip to content
an auto-update framework for frozen python apps
Find file
New pull request
Latest commit a1f9e69 @timeyyy timeyyy Merge pull request #106 from JPFrancoia/master
Added a version check to make sure esky will still work with python2. closes #104

Esky - keep frozen apps fresh

Join the chat at

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. Updates can also be sent as patches.

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


  • Cannot sign the bootstrap executable


  • Python2.6 support may be depreciated (as moving codebase to python3)
  • Bbfreeze will be depreciated


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


The simplest way to install esky is

pip install esky

To install the latest development branch you can install directly from github with

git clone
pip install -e esky

To uninstall the development version do 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.