minizipper


Nameminizipper JSON
Version 0.0.2 PyPI version JSON
download
home_pagehttps://github.com/a1401358759/minizipper
SummaryCreate password-encrypted zip files, supports extraction on all platforms
upload_time2025-07-22 01:37:53
maintainerNone
docs_urlNone
authoryxuefeng
requires_python>=3.8
licenseNone
keywords zip encryption password security cross-platform
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MiniZipper

A Python library for creating zip files, supporting both standard zip and password-encrypted zip, ensuring that generated zip files can be extracted normally on Windows, macOS, Linux and other platforms.

## Features

- ✅ **Cross-platform compatibility**: Generated zip files can be extracted normally on all major operating systems
- ✅ **Multiple encryption algorithms**: Supports 5 different encryption algorithm choices
- ✅ **Easy to use**: Simple API, create encrypted zip with just a few lines of code
- ✅ **No external dependencies**: Uses only Python standard library, no additional packages required
- ✅ **Command line tool**: Provides convenient command line interface
- ✅ **Batch processing**: Supports single file, directory or batch file compression
- ✅ **Context manager support**: Automatic cleanup of sensitive data with `with` statements

## Supported Encryption Algorithms

| Algorithm | Identifier | Description | Security Level |
|-----------|------------|-------------|----------------|
| XOR | `xor` | Simple XOR encryption (default) | Basic |
| HMAC-SHA256 | `hmac_sha256` | HMAC-SHA256 based encryption | High |
| AES-Like | `aes_like` | AES-like multi-round encryption | Medium-High |
| Double XOR | `double_xor` | Double XOR encryption | Medium |
| Custom Hash | `custom_hash` | Multi-hash algorithm combination encryption | Medium-High |

## Installation

```bash
pip install minizipper
```

Or install from source:

```bash
git clone https://github.com/a1401358759/minizipper.git
cd minizipper
pip install -e .
```

## Quick Start

### Basic Usage

```python
from minizipper import SecureZipper, EncryptionAlgorithm

# Create zipper instance
zipper = SecureZipper()

# Create standard zip file
zipper.create_zip("my_file.txt", "output.zip")

# Create encrypted zip file (using default XOR algorithm)
zipper.setpassword("mypassword123")
zipper.create_zip("my_file.txt", "encrypted.zip")

# Use specific encryption algorithm
zipper.setpassword("mypassword123", EncryptionAlgorithm.HMAC_SHA256)
zipper.create_zip("my_file.txt", "secure.zip")
```

### Compress Directory

```python
from minizipper import SecureZipper

zipper = SecureZipper()

# Compress entire directory
zipper.create_zip("my_directory", "archive.zip")

# Include hidden files
zipper.create_zip("my_directory", "archive.zip", include_hidden=True)
```

### Batch File Compression

```python
from minizipper import SecureZipper

zipper = SecureZipper()

# Compress multiple files
files = ["file1.txt", "file2.txt", "file3.txt"]
zipper.create_zip_from_files(files, "multiple_files.zip")

# Specify base directory
zipper.create_zip_from_files(files, "multiple_files.zip", base_dir="/path/to/base")
```

### Extract Files

```python
from minizipper import SecureZipper

zipper = SecureZipper()

# Extract standard zip file
zipper.extract_zip("archive.zip", "extracted_folder")

# Extract encrypted zip file
zipper.setpassword("mypassword123")
zipper.extract_zip("encrypted.zip", "extracted_folder")
```

## Command Line Tool

### Basic Usage

```bash
# Compress single file
python -m minizipper.cli -s my_file.txt -o output.zip

# Compress directory
python -m minizipper.cli -s my_directory -o archive.zip

# Compress multiple files
python -m minizipper.cli -f file1.txt file2.txt file3.txt -o multiple.zip
```

### Encryption Features

```bash
# Use default algorithm (XOR) encryption
python -m minizipper.cli -s my_file.txt -o encrypted.zip --password mypass123

# Use specific algorithm encryption
python -m minizipper.cli -s my_file.txt -o secure.zip --password mypass123 --algorithm hmac_sha256

# View all available algorithms
python -m minizipper.cli --list-algorithms
```

### Extraction Features

```bash
# Extract standard zip file
python -m minizipper.cli -o archive.zip --extract extracted_folder

# Extract encrypted zip file
python -m minizipper.cli -o encrypted.zip --extract extracted_folder --password mypass123
```

### Advanced Options

```bash
# Include hidden files
python -m minizipper.cli -s my_directory -o archive.zip --include-hidden

# Set compression level
python -m minizipper.cli -s my_file.txt -o output.zip --compression-level 9

# Test zip file
python -m minizipper.cli -s my_file.txt -o test.zip --test

# Verbose output
python -m minizipper.cli -s my_file.txt -o output.zip -v
```

## API Reference

### SecureZipper Class

#### Constructor

```python
SecureZipper(compression_level: int = 6)
```

- `compression_level`: Compression level (0-9), default is 6

#### Context Manager Support

SecureZipper supports context managers and can be used with `with` statements:

```python
# Using context manager (recommended)
with SecureZipper() as zipper:
    zipper.setpassword("mypassword123", EncryptionAlgorithm.HMAC_SHA256)
    zipper.create_zip("source_folder", "encrypted.zip")
    # Automatic cleanup of sensitive data

# Traditional way
zipper = SecureZipper()
zipper.setpassword("mypassword123")
zipper.create_zip("source_folder", "encrypted.zip")
# Manual cleanup required
```

**Context Manager Benefits:**
- Automatic cleanup of sensitive data
- Exception handling and logging
- Cleaner, more readable code
- Resource management

#### Main Methods

##### setpassword()

```python
setpassword(password: str, algorithm: EncryptionAlgorithm = EncryptionAlgorithm.XOR)
```

Set encryption password and algorithm.

- `password`: Encryption password, if None or empty string, encryption is disabled
- `algorithm`: Encryption algorithm, default is XOR

##### create_zip()

```python
create_zip(
    source_path: Union[str, Path],
    output_path: Union[str, Path],
    include_hidden: bool = False
) -> str
```

Create zip file.

- `source_path`: Path to file or directory to compress
- `output_path`: Output zip file path
- `include_hidden`: Whether to include hidden files
- Returns: Created zip file path

##### create_zip_from_files()

```python
create_zip_from_files(
    file_paths: List[Union[str, Path]],
    output_path: Union[str, Path],
    base_dir: Optional[Union[str, Path]] = None
) -> str
```

Create zip file from multiple files.

- `file_paths`: List of file paths to compress
- `output_path`: Output zip file path
- `base_dir`: Base directory for calculating relative paths
- Returns: Created zip file path

##### extract_zip()

```python
extract_zip(
    zip_path: Union[str, Path],
    extract_path: Union[str, Path]
) -> bool
```

Extract zip file.

- `zip_path`: Zip file path
- `extract_path`: Extraction target path
- Returns: Whether extraction was successful

##### test_zip_extraction()

```python
test_zip_extraction(zip_path: Union[str, Path]) -> bool
```

Test if zip file can be extracted normally.

- `zip_path`: Zip file path
- Returns: Whether it can be extracted normally

## Encryption Algorithm Details

### 1. XOR (xor)
- **Principle**: Simple XOR operation with key
- **Features**: Fast, lightweight
- **Use cases**: Basic protection needs

### 2. HMAC-SHA256 (hmac_sha256)
- **Principle**: HMAC-SHA256 hash-based encryption
- **Features**: High security, salt-based
- **Use cases**: High security requirements

### 3. AES-Like (aes_like)
- **Principle**: Simulated AES multi-round encryption
- **Features**: Medium-high security
- **Use cases**: Balance between security and performance

### 4. Double XOR (double_xor)
- **Principle**: Two rounds of XOR encryption
- **Features**: Enhanced XOR security
- **Use cases**: Medium security requirements

### 5. Custom Hash (custom_hash)
- **Principle**: Combination of MD5, SHA1, SHA256 hash algorithms
- **Features**: Multi-hash protection
- **Use cases**: Scenarios requiring multi-layer protection

## Examples

### Example 1: Basic File Compression

```python
from minizipper import SecureZipper

# Create zipper
zipper = SecureZipper()

# Compress single file
zipper.create_zip("document.txt", "document.zip")
print("File compression completed!")
```

### Example 2: Directory Compression

```python
from minizipper import SecureZipper

zipper = SecureZipper()

# Compress entire project directory
zipper.create_zip("my_project", "project_backup.zip", include_hidden=True)
print("Project backup completed!")
```

### Example 3: Encrypted Compression

```python
from minizipper import SecureZipper, EncryptionAlgorithm

zipper = SecureZipper()

# Use HMAC-SHA256 algorithm encryption
zipper.setpassword("secure_password_123", EncryptionAlgorithm.HMAC_SHA256)
zipper.create_zip("sensitive_data", "encrypted_backup.zip")
print("Sensitive data encrypted backup completed!")
```

### Example 4: Batch File Processing

```python
from minizipper import SecureZipper

zipper = SecureZipper()

# Batch compress multiple files
files = [
    "report1.pdf",
    "report2.pdf",
    "data.csv",
    "config.json"
]

zipper.create_zip_from_files(files, "reports.zip")
print("Batch file compression completed!")
```

### Example 5: Extract and Verify

```python
from minizipper import SecureZipper

zipper = SecureZipper()

# Test zip file integrity
if zipper.test_zip_extraction("archive.zip"):
    print("Zip file is intact, starting extraction...")

    # Extract file
    if zipper.extract_zip("archive.zip", "extracted_files"):
        print("Extraction successful!")
    else:
        print("Extraction failed!")
else:
    print("Zip file is corrupted!")
```

### Example 6: Context Manager Usage

```python
from minizipper import SecureZipper, EncryptionAlgorithm

# Using context manager (recommended)
with SecureZipper() as zipper:
    zipper.setpassword("mypassword123", EncryptionAlgorithm.HMAC_SHA256)
    zipper.create_zip("source_folder", "encrypted.zip")
    # Automatic cleanup of sensitive data

print("Context manager automatically cleaned up sensitive data")
```

## Notes

1. **Password Security**: Please use strong passwords, avoid using simple passwords
2. **Algorithm Selection**: Choose appropriate encryption algorithm based on security requirements
3. **File Size**: Encryption will increase file size, especially HMAC algorithm
4. **Compatibility**: Encrypted zip files can only be extracted using this library
5. **Backup**: Please backup important files to avoid password loss

## Contributing

Welcome to submit Issues and Pull Requests!

## License

MIT License

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/a1401358759/minizipper",
    "name": "minizipper",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "zip encryption password security cross-platform",
    "author": "yxuefeng",
    "author_email": "a1401358759@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/0f/99/cf25aae89114980b463787055ade19bd99c093808ed707ac96c8dba3d05e/minizipper-0.0.2.tar.gz",
    "platform": null,
    "description": "# MiniZipper\n\nA Python library for creating zip files, supporting both standard zip and password-encrypted zip, ensuring that generated zip files can be extracted normally on Windows, macOS, Linux and other platforms.\n\n## Features\n\n- \u2705 **Cross-platform compatibility**: Generated zip files can be extracted normally on all major operating systems\n- \u2705 **Multiple encryption algorithms**: Supports 5 different encryption algorithm choices\n- \u2705 **Easy to use**: Simple API, create encrypted zip with just a few lines of code\n- \u2705 **No external dependencies**: Uses only Python standard library, no additional packages required\n- \u2705 **Command line tool**: Provides convenient command line interface\n- \u2705 **Batch processing**: Supports single file, directory or batch file compression\n- \u2705 **Context manager support**: Automatic cleanup of sensitive data with `with` statements\n\n## Supported Encryption Algorithms\n\n| Algorithm | Identifier | Description | Security Level |\n|-----------|------------|-------------|----------------|\n| XOR | `xor` | Simple XOR encryption (default) | Basic |\n| HMAC-SHA256 | `hmac_sha256` | HMAC-SHA256 based encryption | High |\n| AES-Like | `aes_like` | AES-like multi-round encryption | Medium-High |\n| Double XOR | `double_xor` | Double XOR encryption | Medium |\n| Custom Hash | `custom_hash` | Multi-hash algorithm combination encryption | Medium-High |\n\n## Installation\n\n```bash\npip install minizipper\n```\n\nOr install from source:\n\n```bash\ngit clone https://github.com/a1401358759/minizipper.git\ncd minizipper\npip install -e .\n```\n\n## Quick Start\n\n### Basic Usage\n\n```python\nfrom minizipper import SecureZipper, EncryptionAlgorithm\n\n# Create zipper instance\nzipper = SecureZipper()\n\n# Create standard zip file\nzipper.create_zip(\"my_file.txt\", \"output.zip\")\n\n# Create encrypted zip file (using default XOR algorithm)\nzipper.setpassword(\"mypassword123\")\nzipper.create_zip(\"my_file.txt\", \"encrypted.zip\")\n\n# Use specific encryption algorithm\nzipper.setpassword(\"mypassword123\", EncryptionAlgorithm.HMAC_SHA256)\nzipper.create_zip(\"my_file.txt\", \"secure.zip\")\n```\n\n### Compress Directory\n\n```python\nfrom minizipper import SecureZipper\n\nzipper = SecureZipper()\n\n# Compress entire directory\nzipper.create_zip(\"my_directory\", \"archive.zip\")\n\n# Include hidden files\nzipper.create_zip(\"my_directory\", \"archive.zip\", include_hidden=True)\n```\n\n### Batch File Compression\n\n```python\nfrom minizipper import SecureZipper\n\nzipper = SecureZipper()\n\n# Compress multiple files\nfiles = [\"file1.txt\", \"file2.txt\", \"file3.txt\"]\nzipper.create_zip_from_files(files, \"multiple_files.zip\")\n\n# Specify base directory\nzipper.create_zip_from_files(files, \"multiple_files.zip\", base_dir=\"/path/to/base\")\n```\n\n### Extract Files\n\n```python\nfrom minizipper import SecureZipper\n\nzipper = SecureZipper()\n\n# Extract standard zip file\nzipper.extract_zip(\"archive.zip\", \"extracted_folder\")\n\n# Extract encrypted zip file\nzipper.setpassword(\"mypassword123\")\nzipper.extract_zip(\"encrypted.zip\", \"extracted_folder\")\n```\n\n## Command Line Tool\n\n### Basic Usage\n\n```bash\n# Compress single file\npython -m minizipper.cli -s my_file.txt -o output.zip\n\n# Compress directory\npython -m minizipper.cli -s my_directory -o archive.zip\n\n# Compress multiple files\npython -m minizipper.cli -f file1.txt file2.txt file3.txt -o multiple.zip\n```\n\n### Encryption Features\n\n```bash\n# Use default algorithm (XOR) encryption\npython -m minizipper.cli -s my_file.txt -o encrypted.zip --password mypass123\n\n# Use specific algorithm encryption\npython -m minizipper.cli -s my_file.txt -o secure.zip --password mypass123 --algorithm hmac_sha256\n\n# View all available algorithms\npython -m minizipper.cli --list-algorithms\n```\n\n### Extraction Features\n\n```bash\n# Extract standard zip file\npython -m minizipper.cli -o archive.zip --extract extracted_folder\n\n# Extract encrypted zip file\npython -m minizipper.cli -o encrypted.zip --extract extracted_folder --password mypass123\n```\n\n### Advanced Options\n\n```bash\n# Include hidden files\npython -m minizipper.cli -s my_directory -o archive.zip --include-hidden\n\n# Set compression level\npython -m minizipper.cli -s my_file.txt -o output.zip --compression-level 9\n\n# Test zip file\npython -m minizipper.cli -s my_file.txt -o test.zip --test\n\n# Verbose output\npython -m minizipper.cli -s my_file.txt -o output.zip -v\n```\n\n## API Reference\n\n### SecureZipper Class\n\n#### Constructor\n\n```python\nSecureZipper(compression_level: int = 6)\n```\n\n- `compression_level`: Compression level (0-9), default is 6\n\n#### Context Manager Support\n\nSecureZipper supports context managers and can be used with `with` statements:\n\n```python\n# Using context manager (recommended)\nwith SecureZipper() as zipper:\n    zipper.setpassword(\"mypassword123\", EncryptionAlgorithm.HMAC_SHA256)\n    zipper.create_zip(\"source_folder\", \"encrypted.zip\")\n    # Automatic cleanup of sensitive data\n\n# Traditional way\nzipper = SecureZipper()\nzipper.setpassword(\"mypassword123\")\nzipper.create_zip(\"source_folder\", \"encrypted.zip\")\n# Manual cleanup required\n```\n\n**Context Manager Benefits:**\n- Automatic cleanup of sensitive data\n- Exception handling and logging\n- Cleaner, more readable code\n- Resource management\n\n#### Main Methods\n\n##### setpassword()\n\n```python\nsetpassword(password: str, algorithm: EncryptionAlgorithm = EncryptionAlgorithm.XOR)\n```\n\nSet encryption password and algorithm.\n\n- `password`: Encryption password, if None or empty string, encryption is disabled\n- `algorithm`: Encryption algorithm, default is XOR\n\n##### create_zip()\n\n```python\ncreate_zip(\n    source_path: Union[str, Path],\n    output_path: Union[str, Path],\n    include_hidden: bool = False\n) -> str\n```\n\nCreate zip file.\n\n- `source_path`: Path to file or directory to compress\n- `output_path`: Output zip file path\n- `include_hidden`: Whether to include hidden files\n- Returns: Created zip file path\n\n##### create_zip_from_files()\n\n```python\ncreate_zip_from_files(\n    file_paths: List[Union[str, Path]],\n    output_path: Union[str, Path],\n    base_dir: Optional[Union[str, Path]] = None\n) -> str\n```\n\nCreate zip file from multiple files.\n\n- `file_paths`: List of file paths to compress\n- `output_path`: Output zip file path\n- `base_dir`: Base directory for calculating relative paths\n- Returns: Created zip file path\n\n##### extract_zip()\n\n```python\nextract_zip(\n    zip_path: Union[str, Path],\n    extract_path: Union[str, Path]\n) -> bool\n```\n\nExtract zip file.\n\n- `zip_path`: Zip file path\n- `extract_path`: Extraction target path\n- Returns: Whether extraction was successful\n\n##### test_zip_extraction()\n\n```python\ntest_zip_extraction(zip_path: Union[str, Path]) -> bool\n```\n\nTest if zip file can be extracted normally.\n\n- `zip_path`: Zip file path\n- Returns: Whether it can be extracted normally\n\n## Encryption Algorithm Details\n\n### 1. XOR (xor)\n- **Principle**: Simple XOR operation with key\n- **Features**: Fast, lightweight\n- **Use cases**: Basic protection needs\n\n### 2. HMAC-SHA256 (hmac_sha256)\n- **Principle**: HMAC-SHA256 hash-based encryption\n- **Features**: High security, salt-based\n- **Use cases**: High security requirements\n\n### 3. AES-Like (aes_like)\n- **Principle**: Simulated AES multi-round encryption\n- **Features**: Medium-high security\n- **Use cases**: Balance between security and performance\n\n### 4. Double XOR (double_xor)\n- **Principle**: Two rounds of XOR encryption\n- **Features**: Enhanced XOR security\n- **Use cases**: Medium security requirements\n\n### 5. Custom Hash (custom_hash)\n- **Principle**: Combination of MD5, SHA1, SHA256 hash algorithms\n- **Features**: Multi-hash protection\n- **Use cases**: Scenarios requiring multi-layer protection\n\n## Examples\n\n### Example 1: Basic File Compression\n\n```python\nfrom minizipper import SecureZipper\n\n# Create zipper\nzipper = SecureZipper()\n\n# Compress single file\nzipper.create_zip(\"document.txt\", \"document.zip\")\nprint(\"File compression completed!\")\n```\n\n### Example 2: Directory Compression\n\n```python\nfrom minizipper import SecureZipper\n\nzipper = SecureZipper()\n\n# Compress entire project directory\nzipper.create_zip(\"my_project\", \"project_backup.zip\", include_hidden=True)\nprint(\"Project backup completed!\")\n```\n\n### Example 3: Encrypted Compression\n\n```python\nfrom minizipper import SecureZipper, EncryptionAlgorithm\n\nzipper = SecureZipper()\n\n# Use HMAC-SHA256 algorithm encryption\nzipper.setpassword(\"secure_password_123\", EncryptionAlgorithm.HMAC_SHA256)\nzipper.create_zip(\"sensitive_data\", \"encrypted_backup.zip\")\nprint(\"Sensitive data encrypted backup completed!\")\n```\n\n### Example 4: Batch File Processing\n\n```python\nfrom minizipper import SecureZipper\n\nzipper = SecureZipper()\n\n# Batch compress multiple files\nfiles = [\n    \"report1.pdf\",\n    \"report2.pdf\",\n    \"data.csv\",\n    \"config.json\"\n]\n\nzipper.create_zip_from_files(files, \"reports.zip\")\nprint(\"Batch file compression completed!\")\n```\n\n### Example 5: Extract and Verify\n\n```python\nfrom minizipper import SecureZipper\n\nzipper = SecureZipper()\n\n# Test zip file integrity\nif zipper.test_zip_extraction(\"archive.zip\"):\n    print(\"Zip file is intact, starting extraction...\")\n\n    # Extract file\n    if zipper.extract_zip(\"archive.zip\", \"extracted_files\"):\n        print(\"Extraction successful!\")\n    else:\n        print(\"Extraction failed!\")\nelse:\n    print(\"Zip file is corrupted!\")\n```\n\n### Example 6: Context Manager Usage\n\n```python\nfrom minizipper import SecureZipper, EncryptionAlgorithm\n\n# Using context manager (recommended)\nwith SecureZipper() as zipper:\n    zipper.setpassword(\"mypassword123\", EncryptionAlgorithm.HMAC_SHA256)\n    zipper.create_zip(\"source_folder\", \"encrypted.zip\")\n    # Automatic cleanup of sensitive data\n\nprint(\"Context manager automatically cleaned up sensitive data\")\n```\n\n## Notes\n\n1. **Password Security**: Please use strong passwords, avoid using simple passwords\n2. **Algorithm Selection**: Choose appropriate encryption algorithm based on security requirements\n3. **File Size**: Encryption will increase file size, especially HMAC algorithm\n4. **Compatibility**: Encrypted zip files can only be extracted using this library\n5. **Backup**: Please backup important files to avoid password loss\n\n## Contributing\n\nWelcome to submit Issues and Pull Requests!\n\n## License\n\nMIT License\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Create password-encrypted zip files, supports extraction on all platforms",
    "version": "0.0.2",
    "project_urls": {
        "Bug Reports": "https://github.com/a1401358759/minizipper/issues",
        "Documentation": "https://github.com/a1401358759/minizipper#readme",
        "Homepage": "https://github.com/a1401358759/minizipper",
        "Source": "https://github.com/a1401358759/minizipper"
    },
    "split_keywords": [
        "zip",
        "encryption",
        "password",
        "security",
        "cross-platform"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a33fa4df74abb21e99dec4b7413d6f3d10aef17aa8645bd30e29ed3c0b268570",
                "md5": "d93a80bbd800d6d4c2386c0ed4e12ab3",
                "sha256": "6bf7c4f2b1924b34f9a06f56e91b21bb72320945014643d750d52509075d7715"
            },
            "downloads": -1,
            "filename": "minizipper-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d93a80bbd800d6d4c2386c0ed4e12ab3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 15210,
            "upload_time": "2025-07-22T01:37:52",
            "upload_time_iso_8601": "2025-07-22T01:37:52.267499Z",
            "url": "https://files.pythonhosted.org/packages/a3/3f/a4df74abb21e99dec4b7413d6f3d10aef17aa8645bd30e29ed3c0b268570/minizipper-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f99cf25aae89114980b463787055ade19bd99c093808ed707ac96c8dba3d05e",
                "md5": "5ea36c6b5ae20d00bdd943fa2c88d8d8",
                "sha256": "bcc7a29659f75bb3e8d43f56ed0e72056cbee8682a387cd032d9f3fc993f172b"
            },
            "downloads": -1,
            "filename": "minizipper-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "5ea36c6b5ae20d00bdd943fa2c88d8d8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 16593,
            "upload_time": "2025-07-22T01:37:53",
            "upload_time_iso_8601": "2025-07-22T01:37:53.643160Z",
            "url": "https://files.pythonhosted.org/packages/0f/99/cf25aae89114980b463787055ade19bd99c093808ed707ac96c8dba3d05e/minizipper-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-22 01:37:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "a1401358759",
    "github_project": "minizipper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "minizipper"
}
        
Elapsed time: 1.44299s