Backport of zipfile Python 3.9 to Python 2.7 with some enhancements
Project description
zipfile39
- Backport of zipfile Python 3.9 (especially caae717) to older Python including Python 2.7.
- This means Python 2.7 can use
zf.open(name, 'w')
.
- This means Python 2.7 can use
- Uses backports.lzma for ZIP_LZMA (method 14) Python2 handler.
- Introduces ZIP_DEFLATED64 (method 9), ZIP_DCLIMPLODED (method 10), ZIP_ZSTANDARD(method 93), ZIP_XZ (method 95) and ZIP_PPMD (method 98) handlers.
- ZIP_ZSTANDARD Python2 uses zstandard 0.14.1 (the last compatible version).
- isal / pyppmd / zipfile_deflate64 Python2 use my own backport.
- If isal is installed:
- crc32 and inflation are accelerated automatically.
- ZIP_DEFLATED compresslevel -10, -11, -12 and -13 are available, which correspond to isal compression level 0, 1, 2 and 3.
- If slz is installed:
- ZIP_DEFLATED compresslevel -21 is available.
- If codecs7z is installed:
- ZIP_DEFLATED/ZIP_BZIP2 compresslevel 11 - 19 are available. Enjoy 7-zip's ultimate compression on Python.
Requisites
- Installation requisites:
- pathlib2 (Python2 only)
- contextlib2 (Python2 only)
- Optional requisites:
- backports.lzma (Python2 only)
- dclimplode
- zstandard or pyzstd (Py2 unavailable)
- isal
- Python2 need
python -m pip install git+https://github.com/cielavenir/python-isal-py2@0.11.0-py2
- (now this branch support macOS as well)
- Also see https://github.com/cielavenir/python-isal-py2/releases/tag/v0.11.1-py2
- Python2 need
- slz
- codecs7z
- pyppmd
- Python2 need
python -m pip install git+https://github.com/cielavenir/pyppmd-py2@py2
- Also see https://github.com/cielavenir/pyppmd-py2/releases/tag/v0.17.0.1
- Python2 need
- zipfile_deflate64
- Need 0.2.0 or later.
- Python2 need
python -m pip install git+https://github.com/cielavenir/zipfile-deflate64@py2
- Also see https://github.com/cielavenir/zipfile-deflate64/releases/tag/v0.2.0.4
- or inflate64 (Py2 unavailable)
- Test requisites:
- All optional requisites
- backports.tempfile (Python2 only)
- funcsigs (Python2 only)
Wheels
Some dependencies need complex build procedures. For your sake those wheels are published in actions CI.
Legal
- I'm not sure about the license term when pyppmd / codecs7z / inflate64 is loaded (I'm not lawyer though).
- For pyppmd, note that PPMd code itself is public domain. See https://github.com/miurahr/pyppmd/issues/5#issuecomment-892280467 for detail.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
zipfile39-0.0.8.0.tar.gz
(427.0 kB
view details)
File details
Details for the file zipfile39-0.0.8.0.tar.gz
.
File metadata
- Download URL: zipfile39-0.0.8.0.tar.gz
- Upload date:
- Size: 427.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.7.1 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31dcde3e28a146e8daa93234981e6dd24021ae7c94506a248002a7d1f0ce8192 |
|
MD5 | 4138fd0dc4b208b8a865e92569a7f316 |
|
BLAKE2b-256 | 5dea23f2742be2eb840174f04dbed5a47b280f4110b4ad686bc4b5a1545f0a25 |