{"id":13399728,"url":"https://github.com/kaitai-io/kaitai_compress","last_synced_at":"2025-07-10T01:37:07.316Z","repository":{"id":47477879,"uuid":"141039688","full_name":"kaitai-io/kaitai_compress","owner":"kaitai-io","description":"Kaitai Struct: data compression algorithms processing routines","archived":false,"fork":false,"pushed_at":"2022-06-01T15:35:42.000Z","size":4627,"stargazers_count":9,"open_issues_count":10,"forks_count":4,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-07-31T19:22:06.353Z","etag":null,"topics":["kaitai-struct","kaitai-struct-processing","python","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaitai-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-15T15:52:34.000Z","updated_at":"2023-09-25T14:04:39.000Z","dependencies_parsed_at":"2022-09-01T10:30:25.630Z","dependency_job_id":null,"html_url":"https://github.com/kaitai-io/kaitai_compress","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kaitai-io/kaitai_compress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaitai-io%2Fkaitai_compress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaitai-io%2Fkaitai_compress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaitai-io%2Fkaitai_compress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaitai-io%2Fkaitai_compress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaitai-io","download_url":"https://codeload.github.com/kaitai-io/kaitai_compress/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaitai-io%2Fkaitai_compress/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264513197,"owners_count":23620515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kaitai-struct","kaitai-struct-processing","python","ruby"],"created_at":"2024-07-30T19:00:41.987Z","updated_at":"2025-07-10T01:37:07.256Z","avatar_url":"https://github.com/kaitai-io.png","language":"Shell","funding_links":[],"categories":["Misc"],"sub_categories":["CI"],"readme":"# Kaitai Struct: compression processing libraries\n\nThis package provides custom processing routines to deal with\ncompressed binary data. Implementations are provided for:\n\n* JavaScript\n* Python\n* Ruby\n\nNote that most implementations are actually wrappers which route calls\nto well-known implementations for that languages.\n\n## Usage\n\nTo use these routines, one should add processing instruction into\n.ksy file and then add relevant language-specific implementations\ninto one's project.\n\n### In .ksy file\n\nTo use it, just invoke the following in your .ksy:\n\n```\nprocess: kaitai.compress.PROCESS_NAME(ARGUMENTS)\n```\n\nwhere `PROCESS_NAME` and `ARGUMENTS` should be as described in the table below.\n\nFully working example:\n\n```yaml\nmeta:\n  id: example_lz4\nseq:\n  - id: buf\n    size: 50\n    process: kaitai.compress.lz4\n```\n\n### In JavaScript / Node\n\nAdd [javascript/](https://github.com/kaitai-io/kaitai_compress/tree/master/javascript) to one's `NODE_PATH`.\n\n### In Python\n\nAdd [python/](https://github.com/kaitai-io/kaitai_compress/tree/master/python) to one's `PYTHONPATH`.\n\n### In Ruby\n\nAdd [ruby/lib/](https://github.com/kaitai-io/kaitai_compress/tree/master/ruby/lib/) to one's `$LOAD_PATH`.\n\n## Supported algorithms\n\n| Algorithm | Process name | Arguments | Conforming | Test file extension |\n| - | - | - | - | - |\n| [Brotli](https://en.wikipedia.org/wiki/Brotli) | `brotli` | None | [RFC 7932](https://datatracker.ietf.org/doc/html/rfc7932) | br |\n| [LZ4](https://en.wikipedia.org/wiki/LZ4_(compression_algorithm)) | `lz4` | None | [LZ4 block specification](https://lz4.github.io/lz4/lz4_Block_format.md) | lz4 |\n| [LZMA](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm) | `lzma_raw` | None | Raw LZMA stream | lzma_raw |\n| [LZMA](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm) | `lzma_lzma` | None | Legacy .lzma file format (AKA alone) | lzma |\n| [LZMA](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm) | `lzma_xz` | None | .xz file format | xz |\n| [DEFLATE](https://en.wikipedia.org/wiki/DEFLATE) (AKA zlib) | `zlib` | None | [RFC 1951](https://tools.ietf.org/html/rfc1951) | zlib |\n| [zstd](https://zstd.net) (AKA zstandard) | `zstd` | None | [Spec \u0026 ref implementation](http://facebook.github.io/zstd/zstd_manual.html) | zst |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaitai-io%2Fkaitai_compress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaitai-io%2Fkaitai_compress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaitai-io%2Fkaitai_compress/lists"}