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 | RSS feed

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.

Source Distribution

koslab.recipe.zipapp-1.0.zip (21.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page