Skip to main content

Python ZipApp Packager

Project description

Introduction

Support for executing python zip files was added in Python2.6, and in Python3.6, emphasis was added through the zipapp module.

This module contains a buildout recipe and a command line utility to help package Python applications into a zipapp, complete with its setup.py dependencies.

One of the use-case for this module is for building complex Hadoop MapReduce job in Python that relies in many dependencies. The zipapp can be distributed easily to Hadoop nodes for execution, or packaged as a script for Hive’s TRANSFORM function

Command Line Tool

Installation

pip install koslab.recipe.zipapp

Usage

The following example packages Spotify’s Luigi daemon as a zipapp.

# Creates luigi zipapp as luigi.egg
zipapp build luigi -m luigi.cmdline:luigid -o luigi.egg

# Run luigid
python luigi.egg

Buildout Recipe

Configuration

This recipe depends on collective.recipe.omelette from Plone.

buildout.cfg:

[buildout]
parts =
    omelette
    zipapp

[omelette]
recipe = collective.recipe.omelette
eggs =
    # Eggs to be included into the zipapp
    MyApp

[zipapp]
recipe = koslab.recipe.zipapp
omelette-part = omelette
main-function = MyApp.main:main
output-file = MyApp.pyz

Output file will be created everytime buildout is run

Contributors

Note: place names and roles of the people who contribute to this package
in this file, one to a line, like so:
  • Joe Schmoe, Original Author
  • Bob Slob, contributed monkey patches
  • Jane Main, wrote flibberty module

Changelog

1.0 (2015-08-04)

  • Package created using templer [izhar]
  • Initial functioning recipe [izhar]

Project details


Release history Release notifications

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for koslab.recipe.zipapp, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size koslab.recipe.zipapp-1.0.zip (21.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page