Socket
Book a DemoInstallSign in
Socket

xpress9

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xpress9

Python bindings for the Xpress9 compression library

pipPyPI
Version
0.3.8
Maintainers
1

Xpress9-python

Xpress9-python is a lightweight wrapper for the Xpress9 compression library by Microsoft. This project provides a C extension along with a Cython wrapper, enabling efficient compression and decompression in Python.

Features

  • Compression: Compress data using the Xpress9 encoder.
  • Decompression: Decompress data using the Xpress9 decoder.
  • High Performance: Optimized with compiler flags and optional OpenMP for multi-threading.
  • Cross-Platform: Supports Windows, macOS, and Linux.

Requirements

  • Python 3.8 or higher
  • Cython (>= 0.29.0)
  • setuptools (>= 42)
  • wheel
  • A C compiler (e.g., gcc, clang, or MSVC)
  • OpenMP (optional, for enhanced performance on Linux/Windows)

Installation

Clone the repository and build the extension:

git clone https://github.com/Hugoberry/xpress9-python
cd xpress9
python setup.py build_ext --inplace

Alternatively, if the package is available on PyPI, install it with pip:

pip install xpress9

Usage

Below is a simple example demonstrating how to initialize the library, compress data, and then decompress it:

from xpress9 import Xpress9

# Initialize the wrapper
x = Xpress9()
print("Xpress9 initialized successfully!")

# Create some sample, compressible data (e.g., repetitive string)
original_data = b"Hello, world! " * 64
print(f"Original data size: {len(original_data)} bytes")

# Specify the maximum compressed size (adjust as needed)
max_compressed_size = len(original_data)

# Compress the data
compressed_data = x.compress(original_data, max_compressed_size)
print(f"Compressed data size: {len(compressed_data)} bytes")

# Decompress the data back to its original size
decompressed_data = x.decompress(compressed_data, len(original_data))
print(f"Decompressed data size: {len(decompressed_data)} bytes")

# Verify the integrity of the round-trip
if decompressed_data == original_data:
    print("Data round-trip successful!")
else:
    print("Data mismatch!")

License

This project is licensed under the MIT License.

Acknowledgments

  • The underlying Xpress9 compression library is developed by Microsoft and licensed under the MIT License.

Keywords

compression

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