Skip to content

Missing support for dictionary compression (unstable, non-public API) #256

Open

Description

@yihuang

missing binding to the LZ4F_compressFrame_usingCDict.

Activity

  1. jmerdich commented on Dec 14, 2022

    @jmerdich

    I'm looking into implementing this but hit an upstream roadblock: lz4/lz4#791. The frame dictionary APIs are still considered unstable (despite their age) and are only available with statically linked copies of lz4. Today, python-lz4 supports both but prefers the dynamically-linked system copy of lz4 if available.

    We can fail at runtime still if we are using a dynamically linked copy, but how lz4 was built into the package is pretty opaque to the user.

  2. jonathanunderwood commented on Dec 14, 2022

    @jonathanunderwood
    Member

    Yup - we won't be adding this to the python bindings until the API is stable and public.

  3. jmerdich commented on Dec 14, 2022

    @jmerdich

    @jonathanunderwood-- do you think having this as experimental only and forcing static links for experimental builds is a good middle ground? This seems like it only isn't stable because there hasn't been a major lz4 release in the last three years.

  4. jonathanunderwood commented on Dec 14, 2022

    @jonathanunderwood
    Member

    @jonathanunderwood-- do you think having this as experimental only and forcing static links for experimental builds is a good middle ground? This seems like it only isn't stable because there hasn't been a major lz4 release in the last three years.

    I'd consider it if someone submitted a PR and the added complexity in setup.py etc wasn't high and the submitter was prepared to stick around and support it. I have very limited bandwidth to support this package, and this really isn't a high priority compared to the other stuff that is outstanding (fixing/rewriting the frame bindings, Aarch64 builds, type hinting). But honestly, before that, I'd need to see convincing numbers demonstrating it's actually worth it.

  5. jonathanunderwood commented on Dec 14, 2022

    @jonathanunderwood
    Member

    Note also issue #236 means we'll be making changes to setup.py and how compilers and flags are set up.

  6. changed the title [-]Don't support dictionary compression[/-] [+]Missing support for dictionary compression (unstable, non-public API)[/+] on Dec 31, 2022
  7. danielhrisca commented on Jul 22, 2024

    @danielhrisca

    Looks like dictionaries are now fully enabled in the LZ4 https://github.com/lz4/lz4/releases/tag/v1.10.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions