{"library":"pgzip","title":"pgzip","description":"pgzip is a Python library that provides a multi-threading implementation of the standard `gzip` module. It aims to be a drop-in replacement, offering significant performance improvements for compression and decompression of large files by leveraging parallel processing. It achieves this by utilizing block indexing within the gzip file's `FEXTRA` field, ensuring compatibility with standard gzip tools. The library is actively maintained, with a recent major release (0.4.0) indicating ongoing development and support for newer Python versions.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install pgzip"],"cli":null},"imports":["import pgzip","with pgzip.open('file.gz', 'wb') as f: ...","compressed_data = pgzip.compress(data)","decompressed_data = pgzip.decompress(compressed_data)"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pgzip\nimport os\nimport tempfile\n\n# Create some dummy data\noriginal_data = b\"This is a test string that will be compressed using pgzip. \" * 1000\n\nwith tempfile.TemporaryDirectory() as tmpdir:\n    filepath_gz = os.path.join(tmpdir, \"test_data.txt.gz\")\n\n    # 1. Compress data to a file using 4 threads and 1MB blocks\n    print(f\"Compressing data to {filepath_gz}...\")\n    with pgzip.open(filepath_gz, \"wb\", thread=4, blocksize=2**20) as f_out:\n        f_out.write(original_data)\n    print(f\"Compressed file size: {os.path.getsize(filepath_gz)} bytes\")\n\n    # 2. Decompress data from the file using 4 threads\n    print(f\"Decompressing data from {filepath_gz}...\")\n    with pgzip.open(filepath_gz, \"rb\", thread=4) as f_in:\n        decompressed_data_file = f_in.read()\n\n    assert original_data == decompressed_data_file\n    print(\"File compression and decompression successful!\")\n\n# 3. In-memory compression and decompression using default threads\nprint(\"\\nPerforming in-memory compression/decompression...\")\ncompressed_bytes = pgzip.compress(original_data, compresslevel=6)\ndecompressed_bytes = pgzip.decompress(compressed_bytes)\n\nassert original_data == decompressed_bytes\nprint(f\"In-memory compression/decompression successful! Compressed size: {len(compressed_bytes)} bytes\")\n","lang":"python","description":"This quickstart demonstrates how to use `pgzip.open` for compressing and decompressing data to/from a file, as well as `pgzip.compress` and `pgzip.decompress` for in-memory byte manipulation. It utilizes `tempfile` for a runnable, clean example. Note the use of `thread` and `blocksize` parameters for parallelization.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.3.5","pypi_latest":"0.4.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.5,"avg_import_s":0.04,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":1.2,"disk_size":"17.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.02,"mem_mb":1.4,"disk_size":"18M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.05,"mem_mb":1.7,"disk_size":"19.7M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.04,"mem_mb":1.7,"disk_size":"20M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.05,"mem_mb":1.5,"disk_size":"11.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.05,"mem_mb":1.5,"disk_size":"12M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.05,"mem_mb":1.8,"disk_size":"11.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.05,"mem_mb":1.6,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":1.2,"disk_size":"17.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pgzip","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0.02,"mem_mb":1.5,"disk_size":"18M"}]}}