Skip to main content

A Python utility for packaging up multi-file Python scripts into a single file, dependencies and all.

Project description

Super Zippy takes a Python package and its pure Python dependencies and transforms them all into a single executable file.

This is similar to cx_Freeze except that it does not attempt to deal with non-pure Python dependencies and thus is much lighter weight and easier to use.

Examples

$ superzippy superzippy superzippy.packaging:run
$ ./superzippy
Usage: superzippy [options] [PACKAGE] [ENTRY POINT]

superzippy: error: Exactly two arguments must be supplied.

And now we have a single file containing all of Super Zippy’s dependencies and code. We can send this single file (called superzippy above) to anyone and as long as they already have Python installed they can just run the file.

How it Works

It installs the Python package you specify into a virtualenv using pip (so anything you can tell pip to install can be given to superzippy), then grabs the site-packages directory out of the virtual environment and sticks it in a zip file along with some super bootstrapping code. Then it just makes the zip file executable.

Motivation

I created this for a tool called the Galah API Client which is a simple tool that has only pure Python dependencies. It is basically a script but since it is a little complex I didn’t want everything to be in a single file as that gets tedious fast… But I still wanted a good way to distribute it to my users who are not Python developers, may not have root access, and don’t want to deal with virtualenv and pip.

Installing

To install Super Zippy, just run

$ pip install superzippy

You can also install from the setup.py script yourself of course, or you can even create a super zipped up version of Super Zippy using Super Zippy. pip is probably the easiest way to go though if you’re already familiar with Python packages.

Authors

John Sullivan

License

Apache License v2.0 (see LICENSE)

Project details


Download files

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

Source Distribution

superzippy-0.0.5-.tar.gz (11.0 kB view hashes)

Uploaded Source

Built Distribution

superzippy-0.0.5_-py2.7.egg (22.9 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