Ziphyr is an on-the-fly zip archiving applied on a streamed file source, with optional on-the-fly encryption.
- Disclaimer: the zip-native cryptography is unsecure
- Streamed file turned into a streamed zip
- Can be used password-less for a non-encrypted zip stream
- Or with a password to apply on-the-fly zipcrypto to the stream
- Retro-compatibility for py35 with writable ZipInfo port
$ pip install ziphyr
from ziphyr import Ziphyr
# init the Ziphyr object
z = Ziphyr(b'infected')
# z = Ziphyr() for crypto-less usage
# prepare it for a specific file, from path or metadata directly
z.from_filepath(filepath)
# consume the generator to get the encrypted ziped chunk
for k in z.generator(source):
pass
$ python -m unittest -v tests/*.py
Contributions are welcome and are always greatly appreciated. Every little bit helps and credit will always be given. You can contribute in many ways:
- reporting a bug
- submitting feedback
- helping fix bugs
- implementing new features
- writting better documentation
Remember that before submitting a pull request, you should if relevant include tests and update documentation.
The following works served as sources of inspiration or examples for implementation.
- devthat/zipencrypt (MIT license)
- Ivan Ergunov's zipfile_generator (MIT license)
This package was kickstarted with Cookiecutter and the audreyr/cookiecutter-pypackage project template.