JuliaAstro / JuliaAstro/ASDF.jl

Adding LZ4ASDF format to ChunkCodecLibLz4?

Open
#72 2 comments 0 reactions 0 assignees View on GitHub

@icweaver is already working on this.

Since Aug 28, 2026.

  • #73 by @icweaver — open
Dominant language
Julia
Stars
23
Forks
9
Avg merge
17h 12m
Merged PRs (30d)
3

Description

This package implements its own custom LZ4 encoding and decoding. It would be nice to have this in ChunkCodecLibLz4 too. The current supported LZ4 formats in ChunkCodecLibLz4 are Numcodecs (for Zarr), HDF5, Frame, and Block, but it looks like ASDF has its own slightly different format.

IIUC this is defined in https://github.com/asdf-format/asdf/blob/14c40c83fc3cca7285b59be3976bd29e2ba35543/asdf/_compression.py#L65

I also found https://github.com/asdf-format/asdf-compression/blob/25ca4e8b1c42ed2c329ff3694601ec4dbf504f14/asdf_compression/lz4f/compressor.py#L5

Based on this, it looks like Lz4 frame should be using "lz4f" as the 4-byte key not "lz4\0" to be readable by python (but I haven't set up tests for this yet).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting ChunkCodecLibLz4 and compare its supported format keys with the ASDF and asdf-compression implementations linked in the issue. Add ASDF LZ4 compatibility and verify the format key and encoding behavior against Python; completion should include tests for reading and writing the format.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia, python
Domain
data
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.