Esky - keep frozen apps fresh
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 email@example.com:cloudmatrix/esky.git pip install -e esky
To uninstall the development version do
python setup.py develop --uninstall
Freezing your app with esky requires the setup file to be modified, you are then able to run
python setup.py 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