Skip to content

abstraction leakage in codec registration #3339

Description

@d-v-b

the codec classes are added to the registry in the same module where they are defined, e.g.

from zarr.registry import register_codec


class FooCodec():
   ...

register_codec("foo", FooCodec)

This is problematic because it prevents the codec registration / resolution logic from importing anything from the codecs, because this will cause circular imports. I think we can use the organization of the data type registry as a model for improving this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions