.. image:: https://img.shields.io/pypi/v/pyzipper.svg
:target: https://pypi.org/project/pyzipper/
:alt: Current Version on PyPi
.. image:: https://img.shields.io/pypi/pyversions/pyzipper.svg
:target: https://pypi.org/project/pyzipper/
:alt: Supported Python Versions
pyzipper
========
A replacement for Python's ``zipfile`` that can read and write AES encrypted
zip files. Forked from Python 3.7's ``zipfile`` module, it features the same
``zipfile`` API from that time (most notably, lacking support for
``pathlib``-compatible wrappers that were introduced in Python 3.8).
Installation
------------
.. code-block:: bash
pip install pyzipper
Usage
-----
.. code-block:: python
import pyzipper
secret_password = b'lost art of keeping a secret'
with pyzipper.AESZipFile('new_test.zip',
'w',
compression=pyzipper.ZIP_LZMA,
encryption=pyzipper.WZ_AES) as zf:
zf.setpassword(secret_password)
zf.writestr('test.txt', "What ever you do, don't tell anyone!")
with pyzipper.AESZipFile('new_test.zip') as zf:
zf.setpassword(secret_password)
my_secrets = zf.read('test.txt')
AES Strength
------------
The strength of the AES encryption can be configure to be 128, 192 or 256 bits.
By default it is 256 bits. Use the ``setencryption()`` method to specify the
encryption kwargs:
.. code-block:: python
import pyzipper
secret_password = b'lost art of keeping a secret'
with pyzipper.AESZipFile('new_test.zip',
'w',
compression=pyzipper.ZIP_LZMA) as zf:
zf.setpassword(secret_password)
zf.setencryption(pyzipper.WZ_AES, nbits=128)
zf.writestr('test.txt', "What ever you do, don't tell anyone!")
with pyzipper.AESZipFile('new_test.zip') as zf:
zf.setpassword(secret_password)
my_secrets = zf.read('test.txt')
Documentation
-------------
Official Python ZipFile documentation is available here: https://docs.python.org/3/library/zipfile.html
Credits
-------
The docs skeleton was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
Raw data
{
"_id": null,
"home_page": "https://github.com/danifus/pyzipper",
"name": "pyzipper",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.4",
"maintainer_email": "",
"keywords": "zip aes encrypt decrypt",
"author": "Daniel Hillier",
"author_email": "daniel.hillier@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ac/97/2f03c67b40e531b30f0e1357476b4db989097a92cd30c6d2389cfa12db49/pyzipper-0.3.6.tar.gz",
"platform": null,
"description": "\n.. image:: https://img.shields.io/pypi/v/pyzipper.svg\n :target: https://pypi.org/project/pyzipper/\n :alt: Current Version on PyPi\n\n.. image:: https://img.shields.io/pypi/pyversions/pyzipper.svg\n :target: https://pypi.org/project/pyzipper/\n :alt: Supported Python Versions\n\n\npyzipper\n========\n\nA replacement for Python's ``zipfile`` that can read and write AES encrypted\nzip files. Forked from Python 3.7's ``zipfile`` module, it features the same\n``zipfile`` API from that time (most notably, lacking support for\n``pathlib``-compatible wrappers that were introduced in Python 3.8).\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install pyzipper\n\n\nUsage\n-----\n\n.. code-block:: python\n\n import pyzipper\n\n secret_password = b'lost art of keeping a secret'\n\n with pyzipper.AESZipFile('new_test.zip',\n 'w',\n compression=pyzipper.ZIP_LZMA,\n encryption=pyzipper.WZ_AES) as zf:\n zf.setpassword(secret_password)\n zf.writestr('test.txt', \"What ever you do, don't tell anyone!\")\n\n with pyzipper.AESZipFile('new_test.zip') as zf:\n zf.setpassword(secret_password)\n my_secrets = zf.read('test.txt')\n\n\nAES Strength\n------------\n\nThe strength of the AES encryption can be configure to be 128, 192 or 256 bits.\nBy default it is 256 bits. Use the ``setencryption()`` method to specify the\nencryption kwargs:\n\n.. code-block:: python\n\n import pyzipper\n\n secret_password = b'lost art of keeping a secret'\n\n with pyzipper.AESZipFile('new_test.zip',\n 'w',\n compression=pyzipper.ZIP_LZMA) as zf:\n zf.setpassword(secret_password)\n zf.setencryption(pyzipper.WZ_AES, nbits=128)\n zf.writestr('test.txt', \"What ever you do, don't tell anyone!\")\n\n with pyzipper.AESZipFile('new_test.zip') as zf:\n zf.setpassword(secret_password)\n my_secrets = zf.read('test.txt')\n\nDocumentation\n-------------\n\nOfficial Python ZipFile documentation is available here: https://docs.python.org/3/library/zipfile.html\n\nCredits\n-------\n\nThe docs skeleton was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "AES encryption for zipfile.",
"version": "0.3.6",
"split_keywords": [
"zip",
"aes",
"encrypt",
"decrypt"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2db89d5d7cf4d96db8efa39f232fb152e87231fdaa5072229e6517f77a18d9c7",
"md5": "39e5c2e716404a742f4cefd1e1edba84",
"sha256": "6d097f465bfa47796b1494e12ea65d1478107d38e13bc56f6e58eedc4f6c1a87"
},
"downloads": -1,
"filename": "pyzipper-0.3.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "39e5c2e716404a742f4cefd1e1edba84",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.4",
"size": 67652,
"upload_time": "2022-07-31T09:58:31",
"upload_time_iso_8601": "2022-07-31T09:58:31.945244Z",
"url": "https://files.pythonhosted.org/packages/2d/b8/9d5d7cf4d96db8efa39f232fb152e87231fdaa5072229e6517f77a18d9c7/pyzipper-0.3.6-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac972f03c67b40e531b30f0e1357476b4db989097a92cd30c6d2389cfa12db49",
"md5": "9e2c5425b93dd789ecf3264cadc0f12d",
"sha256": "0adca90a00c36a93fbe49bfa8c5add452bfe4ef85a1b8e3638739dd1c7b26bfc"
},
"downloads": -1,
"filename": "pyzipper-0.3.6.tar.gz",
"has_sig": false,
"md5_digest": "9e2c5425b93dd789ecf3264cadc0f12d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 31377,
"upload_time": "2022-07-31T09:58:34",
"upload_time_iso_8601": "2022-07-31T09:58:34.854404Z",
"url": "https://files.pythonhosted.org/packages/ac/97/2f03c67b40e531b30f0e1357476b4db989097a92cd30c6d2389cfa12db49/pyzipper-0.3.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-07-31 09:58:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "danifus",
"github_project": "pyzipper",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"appveyor": true,
"tox": true,
"lcname": "pyzipper"
}