Skip to main content

Super Zippy

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

Let’s say we want to user Super Zippy on itself to create a single file containing all of Super Zippy’s dependencies and code.

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

superzippy: error: 1 or more arguments must be supplied.

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 into a zip file along with some super bootstrapping code. Then it just makes the zip file executable by adding a proper shebang to it and flipping its executable bit.

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.

Are you using this tool?

If you’re using this tool on your project, let me know and I’ll link to you here. I’d also like to hear your feedback.

Authors

John Sullivan

License

Apache License v2.0 (see LICENSE)

Metadata

Release files for superzippy 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for superzippy 0.0.9
File Size Uploaded Provenance Actions
superzippy-0.0.9.tar.gz 11.8 kB Without provenance Details for superzippy-0.0.9.tar.gz

Release files / superzippy-0.0.9.tar.gz

Download URL superzippy-0.0.9.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0965de427794d5f0b92e0aa7917d3d9c712130b4fb3fa0b92b70d38786e2ac66
BLAKE2b-256 checksum
How to use checksums
3f7369dcd5d5d64b417df25a666fe18602b0c107bc41cdbae01fa4aa2f73cc47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for superzippy 0.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page