Giter VIP home page Giter VIP logo

esky's Introduction

Esky - keep frozen apps fresh

Join the chat at https://gitter.im/cloudmatrix/esky Build Status Build status Code Climate

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 differential 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.

We are tested and running on Python 2.7, 3.3 and 3.4

Current Limitations

  • Cannot sign the bootstrap executable
  • Doesn't work with windows resources

News

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

Installation

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 protected]:cloudmatrix/esky.git

pip install -e esky

To uninstall the development version do python setup.py develop --uninstall

Usage

Freezing your app with esky requires small some modification to a setup.py file and then adding the Esky class to your program. When you are ready just run python setup.py bdist_esky This will produce a zip file which can automatically update as long as the structure is kept in tact.

  • The tutorial will guide you through setting up and freezing with esky. (get the files by cloning)

  • We have an F.A.Q as well as Documentation in our wiki

  • Ryan has done a talk at Pycon to help you get started: Keep your frozen app fresh

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

Features

  • Pull updates from a http server or amazon s3 bucket (easily extendable)

  • Bootstrap Executable to prevent corruption in failed updates (can be compiled to ~1mb using Rpython)

  • Differential Patching (minor updates and fixes can be < 10kb)

  • py2exe, py2app, cxfreeze

Getting in Contact

  • Questions about usage can be posted on stackoverflow.
  • Bugs and problems can be posted at our github issue tracker.
  • Chats and so on can be done through gitter.

Development / Contributing

We welcome all contributors. See the Contributing Guide

Author

Ryan Kelly

Current Core

Contributors

Thanks all Contributors

The above list isn't complete, some people seem to be missing or contribute in other ways.

  • JPFrancoia

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.