You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

lz4inv

Package Overview
Dependencies
Maintainers
0
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lz4inv

A Rust-backed Python module for decompressing data compressed with the modified LZ4 algorithm for an anime game.

0.2.0
pipPyPI
Maintainers
0

Lz4Inv

Lz4Inv is a Rust-backed Python module for decompressing data compressed with the modified LZ4 algorithm for an anime game. It leverages PyO3 to provide a high-performance decompression function directly from Python.

Installation

Prerequisites

  • Rust (edition 2021)
  • Python (version 3.9 or higher)
  • maturin for building the extension module

Build and Install

  • Clone the repository:

    git clone https://github.com/MooncellWiki/lz4inv.git
    cd lz4inv
    
  • Build the module using maturin:

    maturin develop --release
    
  • Install the package (if not using maturin develop):

    pip install .
    

Usage

Import the module in your Python code to decompress LZ4 compressed data.
The function accepts any object implementing Buffer protocol (for example bytes, bytearray, memoryview) as input for the compressed data.

import lz4inv

with open("compressed_data.bin", "rb") as f:
    compressed_data = f.read()

decompressed_size = 131072
decompressed_data = lz4inv.decompress_buffer(compressed_data, decompressed_size)

For Python versions before 3.11, use decompress() as the Buffer protocol doesn't have a stable ABI in those versions.
Note that decompress() specifically requires a bytes object as input.

import lz4inv

with open("compressed_data.bin", "rb") as f:
    compressed_data = f.read()

decompressed_size = 131072
decompressed_data = lz4inv.decompress(compressed_data, decompressed_size)

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • PyO3 for making Python/Rust interop simple.
  • The LZ4 compression library for inspiration.

Keywords

lz4

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts