Skip to content

Python implementation of the Lempel-Ziv and Huffman compression algorithms

Notifications You must be signed in to change notification settings

CasimirLaine/data-compressor-python

Repository files navigation

data-compressor-python

Python PyCharm linting: pylint Pylint pages-build-deployment

Python implementation of the Lempel-Ziv and Huffman compression algorithms.

Documentation

This project supports Python version 3.10+!

First steps

Build and fetch dependencies:

python setup.py

Run configurations

Run

To run the program:

python main.py -h --help -a <algorithm> --algorithm=<algorithm> -o <output_file> --output_file=<output_file> -f <file> --file=<file> -m <method> --method=<method> <input>

Refer to the user manual for more info.

Performance Benchmarks

To run performance benchmarks:

python performance.py

Static Analysis

To run static code analysis tool (pylint):

pylint src

Testing

To run unit tests:

pytest

To run unit tests in parallel:

pytest -n auto

Generate Test Coverage

To generate and view test coverage:

pytest
open docs/index.html

On Windows:

pytest
start docs/index.html