zip-files
Command line utilities for creating zip files.
Provides the zip-files and zip-folder command line utilities. These are intended as an easy platform-independent tool to create zip files with an arbitrary file name and an arbitrary root (the top-level folder after extracting a zip) from files and folders at arbitrary locations on the file system.
Typical usage includes:
Deploy zip archives of Sphinx-documentation while releasing Python packages:
zip-folder --auto-root --outfile docs/_build/artifacts/mypackage-v1.0.0.zip docs/_build/htmlcreates a file mypackage-v1.0.0.zip in docs/_build/artifacts that unzips as a folder mypackage-v1.0.0 containing the files originally in docs/_build/html/.
Create zip files pulled together from different locations, for emailing:
zip-files -a -o report.zip ./report2020-01.tex /scratch/project/plots/*.pdfcreates a file report.zip that unzips as a folder report containing the file report2020-01.tex and all the pdf files originally in /scratch/project/plots/.
zip-files -f report2020-01 -o report.zip ./report2020-01.tex /scratch/project/plots/*.pdfdoes the same, but unzips as a folder report2020-01 instead of report.
Development of zip-files happens on Github.
Installation
To install the latest released version of zip-files, run this command in your terminal:
pip install zip_files
This is the preferred method to install zip-files, as it will always install the most recent stable release. It will result in the executable commands zip-files and zip-folder being added to your environment’s bin folder.
Usage
zip-files
Usage: zip-files [OPTIONS] [FILES]...
Create a zip file containing FILES.
Options:
-h, --help Show this message and exit.
--version Show the version and exit.
--debug Activate debug logging.
-f, --root-folder ROOT_FOLDER Folder name to prepend to FILES inside the
zip file.
-c, --compression [stored|deflated|bzip2|lzma]
Zip compression method. The following
methods are available: "stored": no
compression; "deflated": the standard zip
compression method; "bzip2": BZIP2
compression method (part of the zip standard
since 2001); "lzma": LZMA compression method
(part of the zip standard since 2006).
[default: deflated]
-a, --auto-root If given in combination with --outfile, use
the stem of the OUTFILE (without path and
extension) as the value for ROOT_FOLDER
-x, --exclude GLOB_PATTERN Glob-pattern to exclude. This is matched
from the right against all paths in the zip
file, see Python pathlib's Path.match
method. This option can be given multiple
times.
-X, --exclude-from FILE File from which to read a list of glob-
patterns to exclude, cf. --exclude. Each
line in FILE is one pattern. This option can
be given multiple times.
--exclude-dotfiles / --include-dotfiles
Whether or not to include dotfiles in the
zip files. By default, dotfiles are
included.
--exclude-vcs / --include-vcs Whether or not to include files and
directories commonly used by version control
systems. (Git, CVS, RCS, SCCS, SVN, Arch,
Bazaar, Mercurial, and Darcs), e.g.
'.git/', '.gitignore' '.gitmodules'
'.gitattributes' for Git. By default, VCS
are included.
--exclude-git-ignores / --include-git-ignores
Whether or not to look for .gitignore files
and to process them for exclude patterns.
Note that the .gitignore file itself is
still included in the zip archive unless
--exclude-vcs is given. By default,
.gitignore files are not processed.
-o, --outfile OUTFILE The path of the zip file to be written. By
default, the file is written to stdout.
zip-folder
Usage: zip-folder [OPTIONS] FOLDER
Create a zip file containing the FOLDER.
Options:
-h, --help Show this message and exit.
--version Show the version and exit.
--debug Activate debug logging.
-f, --root-folder ROOT_FOLDER Folder name to use as the top level folder
inside the zip file (replacing FOLDER).
-c, --compression [stored|deflated|bzip2|lzma]
Zip compression method. The following
methods are available: "stored": no
compression; "deflated": the standard zip
compression method; "bzip2": BZIP2
compression method (part of the zip standard
since 2001); "lzma": LZMA compression method
(part of the zip standard since 2006).
[default: deflated]
-a, --auto-root If given in combination with --outfile, use
the stem of the OUTFILE (without path and
extension) as the value for ROOT_FOLDER
-x, --exclude GLOB_PATTERN Glob-pattern to exclude. This is matched
from the right against all paths in the zip
file, see Python pathlib's Path.match
method. This option can be given multiple
times.
-X, --exclude-from FILE File from which to read a list of glob-
patterns to exclude, cf. --exclude. Each
line in FILE is one pattern. This option can
be given multiple times.
--exclude-dotfiles / --include-dotfiles
Whether or not to include dotfiles in the
zip files. By default, dotfiles are
included.
--exclude-vcs / --include-vcs Whether or not to include files and
directories commonly used by version control
systems. (Git, CVS, RCS, SCCS, SVN, Arch,
Bazaar, Mercurial, and Darcs), e.g.
'.git/', '.gitignore' '.gitmodules'
'.gitattributes' for Git. By default, VCS
are included.
--exclude-git-ignores / --include-git-ignores
Whether or not to look for .gitignore files
and to process them for exclude patterns.
Note that the .gitignore file itself is
still included in the zip archive unless
--exclude-vcs is given. By default,
.gitignore files are not processed.
-o, --outfile OUTFILE The path of the zip file to be written. By
default, the file is written to stdout.
History
0.4.1 (2021-04-21)
Bugfix: Permissions (especially executable permissions) were not preserved on Unix
0.4.0 (2021-04-04)
Added: options --exclude-vcs, --exclude-git-ignores, and --exclude-vcs
0.3.0 (2020-01-19)
Added: option --exclude
0.2.0 (2020-01-17)
Added: option --auto-root
0.1.0 (2020-01-17)
Initial release
Release files for zip-files 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zip_files-0.4.1.tar.gz | 43.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zip_files-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.4 kB
Release files / zip_files-0.4.1.tar.gz
| Download URL | zip_files-0.4.1.tar.gz |
|---|---|
| Size | 43.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc797a78b92d44f9c5e740896771f12d41d240f47f8b185321d4a3766847dc97
|
|
BLAKE2b-256 checksum How to use checksums |
5732f1c1ff96aa74a664a99abf18202a36cab61d981d14d72760e5fe8344cd81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.1
|
Release files / zip_files-0.4.1-py3-none-any.whl
| Download URL | zip_files-0.4.1-py3-none-any.whl |
|---|---|
| Size | 12.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d94dd40c5abd01666668c62931a23f2c800601170e7b3d5ba5d309bd70f5bcab
|
|
BLAKE2b-256 checksum How to use checksums |
d1cdac639dba1ce48dc465e44dcd98a68d1c53743da7687345f2b494d1ac5ae7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.1
|