Skip to content

[LibLzma] Add XZ format support#86

Merged
nhz2 merged 4 commits intomainfrom
xz
Dec 18, 2025
Merged

[LibLzma] Add XZ format support#86
nhz2 merged 4 commits intomainfrom
xz

Conversation

@nhz2
Copy link
Copy Markdown
Member

@nhz2 nhz2 commented Dec 17, 2025

This PR adds a new ChunkCodecLibLzma package with support for basic XZ format encoding and decoding using the liblzma C library https://tukaani.org/xz/

Fixes #50

@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 82.73381% with 24 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.73%. Comparing base (c0b02e4) to head (e288ddf).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
LibLzma/src/encode.jl 74.41% 11 Missing ⚠️
LibLzma/src/decode.jl 91.25% 7 Missing ⚠️
LibLzma/src/liblzma.jl 57.14% 6 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (c0b02e4) and HEAD (e288ddf). Click for more details.

HEAD has 54 uploads less than BASE
Flag BASE (c0b02e4) HEAD (e288ddf)
60 6
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #86      +/-   ##
==========================================
- Coverage   88.70%   82.73%   -5.98%     
==========================================
  Files          38        4      -34     
  Lines        1948      139    -1809     
==========================================
- Hits         1728      115    -1613     
+ Misses        220       24     -196     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds XZ format support by introducing a new ChunkCodecLibLzma package that wraps the liblzma C library. This extends the ChunkCodec ecosystem with another popular compression format commonly used for distributing software packages and data archives.

Key changes:

  • Implements XZ codec with encoding/decoding support using liblzma via XZ_jll
  • Adds comprehensive test suite covering preset options, integrity checks, stream concatenation, and padding
  • Integrates the new package into the workspace and test infrastructure

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
LibLzma/src/ChunkCodecLibLzma.jl Main module definition following standard codec package structure with exports and ChunkCodecCore re-exports
LibLzma/src/encode.jl XZ encoding implementation using lzma_easy_buffer_encode with configurable presets and integrity checks
LibLzma/src/decode.jl XZ decoding implementation with streaming support for concatenated/padded data using lzma_stream_decoder
LibLzma/src/liblzma.jl Julia bindings for liblzma C API including constants, error codes, and memory management functions
LibLzma/test/runtests.jl Comprehensive test suite covering default options, presets, checks, concatenation, padding, and error handling
LibLzma/test/Project.toml Test dependencies configuration
LibLzma/Project.toml Package metadata with ChunkCodecCore and XZ_jll dependencies
LibLzma/README.md User documentation with example usage
LibLzma/LICENSE MIT license for the package
LibLzma/CHANGELOG.md Release notes tracking initial release
Project.toml Added LibLzma to workspace projects list
test/Project.toml Added LibLzma dependency and path reference for integration tests
test/jet.jl Added ChunkCodecLibLzma to JET static analysis testing
test/imagecodecs-compat.jl Added XZ codec to Python imagecodecs compatibility tests
test/CondaPkg.toml Updated imagecodecs version to 2025.11.11 for LZMA support
.github/workflows/CI.yml Added LibLzma CI workflow configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread LibLzma/README.md Outdated
Comment thread LibLzma/test/runtests.jl
Comment thread LibLzma/src/encode.jl Outdated
@nhz2 nhz2 requested a review from Copilot December 17, 2025 20:52
@nhz2 nhz2 marked this pull request as ready for review December 17, 2025 20:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread LibLzma/src/liblzma.jl
Comment thread LibLzma/src/encode.jl
Comment thread LibLzma/test/runtests.jl
@nhz2 nhz2 merged commit 2d49d0f into main Dec 18, 2025
13 of 15 checks passed
@nhz2 nhz2 deleted the xz branch December 18, 2025 03:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support xz

2 participants