Skip to main content

Library for read compressed stream and write compressed chunks.

Project description

Light compressor

Пока пишу по-русски и как обычный комментарий, в последствии переделаю.

Суть библиотеки - обеспечить оптимальную скорость распаковки и упаковки сжатого потока данных из БД и файлов. Для моего проекта требуется максимально быстро обработать поток байт и передать в другой поток упакованные данные в сжатом формате. Проверил все готовые решения, скорость не устроила, поэтому поправил то что было как смог, стало быстрее. У стрим ридера нет и не может быть методов tell и seek, только прямое последовательное чтение из потока. Для моего проекта этого достаточно, поэтому делаю так. Форматы сжатия только LZ4 и ZSTD.

Для ридера при чтении из файла доступно автоматическое определение формата сжатия (проверка по сигнатуре LZ4, ZSTD или сжатие отсутствует)

from light_compressor import define_reader


fileobj = open("some_path_to_file.bin", "rb")
decompressed_stream = define_reader(fileobj)

Для чтения в потоке требуется явно передать метод сжатия

from light_compressor import define_reader, CompressionMethod


# Получение распакованного файлоподобного объекта из потока, сжатого в ZSTD
decompressed_stream = define_reader(fileobj, CompressionMethod.ZSTD)

Упаковка в режиме стрим

from light_compressor import define_writer, CompressionMethod

# Получение генератора упакованного массива байт, сжатого в ZSTD
compressed_stream = define_writer(bytes_data, CompressionMethod.ZSTD)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

light_compressor-0.0.1.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

light_compressor-0.0.1.0-cp310-cp310-win_amd64.whl (140.6 kB view details)

Uploaded CPython 3.10Windows x86-64

File details

Details for the file light_compressor-0.0.1.0.tar.gz.

File metadata

  • Download URL: light_compressor-0.0.1.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for light_compressor-0.0.1.0.tar.gz
Algorithm Hash digest
SHA256 672198bff3128b416aee799870fe76fc6cce64c9b512330eac43bc454b8f2ff3
MD5 0ac1258d0e675677ce039ef0a55a83a3
BLAKE2b-256 df0f5ec3c8ea05fccd14dc7946cd26183c56774100b5adb3d8632a1bc2046db0

See more details on using hashes here.

File details

Details for the file light_compressor-0.0.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for light_compressor-0.0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0f54300e84681feb50edfe18fc3f2330222fbffe801e4826eaff04da2a811404
MD5 927e1b91ced8f8a6026a655529b7aab1
BLAKE2b-256 c05820b3c7b0cc1f9f16d8431f752ee8fede2a71e2a9e73527d883bd4f247746

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page