aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2019-03-10 13:46:08 -0400
committerRob Austein <sra@hactrn.net>2019-03-10 13:46:08 -0400
commitfa9a04b06a7c6f62979c506b9999abf6b2eb8208 (patch)
tree887062e0d0c0ff844eb5fd05d603aad897c77d7e /README.md
First public version.
Diffstat (limited to 'README.md')
-rw-r--r--README.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d248b1d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+pyzipper
+========
+
+A small tool to package up a Python program and associated data files
+as a single executable zip file.
+
+All the facilities for this are already built into Python, this script
+just ties it all together with a bow.
+
+`demo1` and `demo2` are two trivial sample packages.
+
+Tested with both Python 2 and Python 3, should work with either.
+
+How it works
+------------
+
+This relies on two somewhat obscure Python features:
+
+* The `zipfile.PyZipFile` class's ability to construct an executable
+ ZIP file and populate it with Python modules, packages, and data;
+ and
+
+* Python's ability to treat a zip file as equivalent to a directory
+ tree on `import`.
+
+`demo1` takes advantage of a third obscure feature: the `pkgutil`
+library's ability to load data files via the `import` system.