compression.py - For compressing Python code
compression.py - A module providing functions to turn a python script into a self-executing archive in a few different formats…
gz_pack format:
Typically provides better compression than bzip2 (for Python scripts).
Scripts compressed via this method can still be imported as modules.
The resulting binary data is base64-encoded which isn’t optimal compression.
bz2_pack format:
In some cases may provide better compression than gzip.
Scripts compressed via this method can still be imported as modules.
The resulting binary data is base64-encoded which isn’t optimal compression.
lzma_pack format:
In some cases may provide better compression than bzip2.
Scripts compressed via this method can still be imported as modules.
The resulting binary data is base64-encoded which isn’t optimal compression.
The gz_pack, bz2_pack, and lzma_pack formats only work on individual .py
files. To pack a number of files at once using this method use the
--destdir command line option:
zip_pack format:
Provides the best compression of Python scripts.
Resulting script cannot be imported as a module.
Any required modules that are local (implied path) will be automatically included in the archive.
- pyminifier.compression.bz2_pack(source)[source]
Returns “source” as a bzip2-compressed, self-extracting python script.
Note
This method uses up more space than the zip_pack method but it has the advantage in that the resulting .py file can still be imported into a python program.
- pyminifier.compression.gz_pack(source)[source]
Returns “source” as a gzip-compressed, self-extracting python script.
Note
This method uses up more space than the zip_pack method but it has the advantage in that the resulting .py file can still be imported into a python program.
- pyminifier.compression.lzma_pack(source)[source]
Returns “source” as a lzma-compressed, self-extracting python script.
Note
This method uses up more space than the zip_pack method but it has the advantage in that the resulting .py file can still be imported into a python program.
- pyminifier.compression.prepend(line, path)[source]
Appends line to the _beginning_ of the file at the given path.
If line doesn’t end in a newline one will be appended to the end of it.
- pyminifier.compression.zip_pack(filepath, options)[source]
Creates a zip archive containing the script at filepath along with all imported modules that are local to filepath as a self-extracting python script. A shebang will be appended to the beginning of the resulting zip archive which will allow it to
If the lzma module is available, the resulting “pyz” file will use ZIP_LZMA compression to maximize compression.
options is expected to be the the same options parsed from pyminifier.py on the command line.
Note
The file resulting from this method cannot be imported as a module into another python program (command line execution only).
Any required local (implied path) modules will be automatically included (well, it does its best).
The result will be saved as a .pyz file (which is an extension I invented for this format).