cgn-cli

Crates.iocgn-cli
lib.rscgn-cli
version0.1.3
sourcesrc
created_at2024-02-13 14:16:47.008016
updated_at2024-09-28 11:55:28.834706
descriptionA command-line tool for optimally compressing chess games in PGN format.
homepage
repositoryhttps://github.com/JadenStrudwick/cgn-cli/
max_upload_size
id1138528
size56,512
Jaden Strudwick (JadenStrudwick)

documentation

README

CGN-CLI (Compressed Game Notation Command Line Interface)

CGN-CLI is a simple command line interface for the CGN (Compressed Game Notation) library I created. It allows you to compress and decompress PGN files using the CGN library. It is designed to be fast, efficient, and flexible. It supports WASM compilation via wasm-pack, and contains 4 different compression algorithms to choose from.

Algorithms (High to Low Compression Ratios --- Low to High Speed)

  1. opening-huffman - A Huffman encoding algorithm that uses the huffman-encoding crate to compress the PGN data, but with an additional optimization for compressing common opening moves.
  2. dynamic-huffman - A Huffman encoding algorithm that uses the huffman-encoding crate to compress the PGN data, but with a huffman tree that is updated dynamically as the data is compressed.
  3. huffman - A Huffman encoding algorithm that uses a huffman-encoding crate to compress the PGN data.
  4. bincode - A simple binary encoding algorithm that uses the bincode crate to serialize the PGN data into a binary format.

Installation

Ensure you have Rust installed on your system. Then run the following command:

cargo install cgn-cli

Getting Started

cgn-cli --help
Commit count: 27

cargo fmt