zippity-0.2.0 has been yanked.
Zippity
Library for asynchronously creating a ZIP file on the fly.
Features
- Async, using tokio.
- ZIP is created on the fly, can be directly streamed somewhere, does not need to be stored in RAM or on disk
- Supports Zip64 (files > 4GB).
- File size is known in advance
- Output is driven from outside (implements
[tokio::io::AsyncRead]) - Allows seeking in the file (implements
[tokio::io::AsyncSeek]) - Supports files on the filesystem as entries.
- Supports tokio_uring
- Supports integration with Actix Web (see
[Reader::into_responder()]) - Entry metadata
Non-features
These are not planned to be implemented.
- Compression: The zip only uses store method.
- Encryption
- Zip reading
Example
use SeekFrom;
use ;
block_on
Current state
Consider this a beta version. The library is mostly finished, with lot of polish missing for version 1.0.0.
Crate features
| Name | Description | Default |
|---|---|---|
tokio-file |
Adds support for TokioFileEntry being used as a entry data through Tokio file. |
yes |
bytes |
Implement EntryData for bytes::Bytes, and provide method into_bytes_stream() for Reader. |
no |
actix-web |
Addsactix_web::Reponder implementation to zippity::Reader |
no |
proptest |
Add module zippity::proptest, with strategies, and proptest::arbitrary::Arbitrary implementation for Reader. |
no |