Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 47 additions & 2 deletions multicodec/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,68 @@
known_codes,
)

# Exceptions
from .exceptions import (
CodecError,
DecodeError,
EncodeError,
MulticodecError,
UnknownCodecError,
)

# Original multicodec functions
from .multicodec import add_prefix, extract_prefix, get_codec, get_prefix, is_codec, remove_prefix

# Serialization support
from .serialization import (
Codec,
JSONCodec,
RawCodec,
decode,
encode,
get_registered_codec,
is_codec_registered,
json_codec,
list_registered_codecs,
raw_codec,
register_codec,
unregister_codec,
)

__all__ = [
"RESERVED_END",
# Constants
"RESERVED_END",
"RESERVED_START",
# Code type
"Code",
# Serialization base classes
"Codec",
"CodecError",
"DecodeError",
"EncodeError",
# Built-in codecs
"JSONCodec",
# Exceptions
"MulticodecError",
"RawCodec",
"UnknownCodecError",
# Original functions
"add_prefix",
"decode",
# Serialization functions
"encode",
"extract_prefix",
"get_codec",
"get_prefix",
"get_registered_codec",
"is_codec",
"is_codec_registered",
"is_reserved",
# Functions
"json_codec",
"known_codes",
"list_registered_codecs",
"raw_codec",
"register_codec",
"remove_prefix",
"unregister_codec",
]
45 changes: 45 additions & 0 deletions multicodec/exceptions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""
Exception classes for multicodec.

This module defines the exception hierarchy for multicodec operations,
providing specific error types for different failure modes.
"""


class MulticodecError(Exception):
"""Base exception for all multicodec-related errors."""

pass


class CodecError(MulticodecError):
"""Base exception for codec-related errors."""

pass


class EncodeError(CodecError):
"""Raised when encoding fails."""

pass


class DecodeError(CodecError):
"""Raised when decoding fails."""

pass


class UnknownCodecError(CodecError):
"""Raised when an unknown codec is requested."""

pass


__all__ = [
"CodecError",
"DecodeError",
"EncodeError",
"MulticodecError",
"UnknownCodecError",
]
Loading