First Stable Release
π aiogzip v1.0.0 - First Stable Release
We're excited to announce the first production-ready release of aiogzip, a high-performance asynchronous library for reading and writing gzip-compressed files!
β¨ Highlights
- π High Performance: 2.5x faster than standard
gzipfor text operations - β‘ Truly Asynchronous: Built with
asyncioandaiofilesfor non-blocking I/O - π Drop-in Replacement: Full compatibility with
gzip.open()API includingseek(),tell(),peek(), andreadinto() - π¦ Reproducible Archives: Control gzip
mtimeand embedded filenames for deterministic builds - π― Type-Safe: Distinct
AsyncGzipBinaryFileandAsyncGzipTextFileclasses with full type hints - π CSV Ready: Seamless integration with
aiocsvfor async CSV processing - ποΈ tarfile Compatible: Verified against tarfile-style access patterns
π What's Included
Core Features
- Full async support for seek(), tell(), peek(), readinto()
- Gzip header metadata control (mtime, original_filename)
- Text and binary mode operations with proper encoding/decoding
- Multi-member gzip archive support
- Comprehensive error handling with exception chaining
Quality & Documentation
- 209 tests with 85.13% coverage
- Python 3.8β3.13 support
- Fully typed with
py.typedmarker - Comprehensive documentation with examples
- Security policy and vulnerability reporting process
- Production/Stable development status
π¦ Installation
pip install aiogzip
For CSV support:
pip install aiogzip[csv]
π Quick Start
import asyncio
from aiogzip import AsyncGzipFile
async def main():
# Write compressed data
async with AsyncGzipFile("file.gz", "wb") as f:
await f.write(b"Hello, async world!")
# Read compressed data
async with AsyncGzipFile("file.gz", "rb") as f:
data = await f.read()
print(data)
asyncio.run(main())
π Documentation
- https://geoff-davis.github.io/aiogzip/
- https://geoff-davis.github.io/aiogzip/examples/
- https://geoff-davis.github.io/aiogzip/performance/
- https://geoff-davis.github.io/aiogzip/api/
π Security
See https://github.com/geoff-davis/aiogzip/blob/main/SECURITY.md for our security policy and how to report vulnerabilities.
π License
MIT License - see https://github.com/geoff-davis/aiogzip/blob/main/LICENSE for details.