gxzip




A compact and easy-to-use Python library for archiving files and directories into ZIP files, as well as extracting ZIP archives. Built with standard Python libraries—no external dependencies required! 🚀
Features ✨
- Archive Files & Directories: Recursively zip files or entire folders with customizable compression.
- Extract ZIPs: Easily unpack archives to any directory.
- Lightweight: Uses only
zipfile and os from the standard library.
- Flexible Compression: Supports various ZIP compression methods (e.g., DEFLATED, STORED).
- Cross-Platform: Works on Windows, macOS, and Linux.
Installation 📦
Install via pip from PyPI:
pip install gxzip
Quick Start ⚡
Archiving Files
Create an instance of archiver and use the archive method:
from gxzip import archiver
zip = archiver()
zip.archive('my_archive.zip', ['example.txt', 'my_folder/'])
from gxzip import archiver
zip = archiver()
zip.extract('my_archive.zip')
zip.extract('my_archive.zip', extract_to='output/')
Custom Compression
Specify compression during initialization:
import zipfile
from gxzip import archiver
zip = archiver(compression=zipfile.ZIP_STORED)
zip.archive('fast_archive.zip', ['large_file.bin'])
API Reference đź“–
Class: archiver
__init__(self, compression: int = zipfile.ZIP_DEFLATED): Initializes with optional compression type.
archive(self, zip_path: str, paths: list[str]) -> None: Archives files/directories to a ZIP.
extract(self, zip_path: str, extract_to: str = '.') -> None: Extracts ZIP to a directory.
Error Handling ⚠️
Wrap calls in try-except for robustness:
try:
archiver.archive('archive.zip', ['nonexistent.txt'])
except FileNotFoundError as e:
print(f"Error: {e}")
License đź“„
This project is licensed under the MIT License - see the LICENSE file for details.