Skip to content

Commit 0a8d9e2

Browse files
committed
Disable PCodec if dependencies are unavailable
1 parent 145f57c commit 0a8d9e2

File tree

2 files changed

+4
-9
lines changed

2 files changed

+4
-9
lines changed

numcodecs/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@
144144

145145
register_codec(Fletcher32)
146146

147-
from numcodecs.pcodec import PCodec
147+
with suppress(ImportError):
148+
from numcodecs.pcodec import PCodec
148149

149-
register_codec(PCodec)
150+
register_codec(PCodec)

numcodecs/pcodec.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
from numcodecs.abc import Codec
44
from numcodecs.compat import ensure_contiguous_ndarray
55

6-
try:
7-
from pcodec import ChunkConfig, ModeSpec, PagingSpec, standalone
8-
except ImportError: # pragma: no cover
9-
standalone = None
6+
from pcodec import ChunkConfig, ModeSpec, PagingSpec, standalone
107

118

129
DEFAULT_MAX_PAGE_N = 262144
@@ -49,9 +46,6 @@ def __init__(
4946
# TODO one day, add support for the Try* mode specs
5047
mode_spec: Literal['auto', 'classic'] = 'auto',
5148
):
52-
if standalone is None: # pragma: no cover
53-
raise ImportError("pcodec must be installed to use the PCodec codec.")
54-
5549
# note that we use `level` instead of `compression_level` to
5650
# match other codecs
5751
self.level = level

0 commit comments

Comments
 (0)