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 details)

Uploaded Source

File details

Details for the file koslab.recipe.zipapp-1.0.zip.

File metadata

File hashes

Hashes for koslab.recipe.zipapp-1.0.zip
Algorithm Hash digest
SHA256 358464145b94fd7fd01445d909507c21aa1ef4b7781e1c1be5e814a64357ab70
MD5 6f672547f8552d9848ad736ba6f2e934
BLAKE2b-256 bbd12826bdfa844d619df9eadf4929f113242d7f89a9c6976e20b832a9c8dbbe

See more details on using hashes here.

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