@@ -87,25 +87,25 @@ def parse_blocksize(data: JSON) -> int:
8787class  BloscCodec (BytesBytesCodec ):
8888    is_fixed_size  =  False 
8989
90-     typesize : int   |   None 
90+     typesize : int 
9191    cname : BloscCname  =  BloscCname .zstd 
9292    clevel : int  =  5 
93-     shuffle : BloscShuffle   |   None   =   BloscShuffle . noshuffle 
93+     shuffle : BloscShuffle 
9494    blocksize : int  =  0 
9595
9696    def  __init__ (
9797        self ,
9898        * ,
99-         typesize : int   |   None   =   None ,
99+         typesize : int ,
100100        cname : BloscCname  |  str  =  BloscCname .zstd ,
101101        clevel : int  =  5 ,
102-         shuffle : BloscShuffle  |  str   |   None   =   None ,
102+         shuffle : BloscShuffle  |  str ,
103103        blocksize : int  =  0 ,
104104    ) ->  None :
105-         typesize_parsed  =  parse_typesize (typesize )  if   typesize   is   not   None   else   None 
105+         typesize_parsed  =  parse_typesize (typesize )
106106        cname_parsed  =  parse_enum (cname , BloscCname )
107107        clevel_parsed  =  parse_clevel (clevel )
108-         shuffle_parsed  =  parse_enum (shuffle , BloscShuffle )  if   shuffle   is   not   None   else   None 
108+         shuffle_parsed  =  parse_enum (shuffle , BloscShuffle )
109109        blocksize_parsed  =  parse_blocksize (blocksize )
110110
111111        object .__setattr__ (self , "typesize" , typesize_parsed )
@@ -120,10 +120,6 @@ def from_dict(cls, data: dict[str, JSON]) -> Self:
120120        return  cls (** configuration_parsed )  # type: ignore[arg-type] 
121121
122122    def  to_dict (self ) ->  dict [str , JSON ]:
123-         if  self .typesize  is  None :
124-             raise  ValueError ("`typesize` needs to be set for serialization." )
125-         if  self .shuffle  is  None :
126-             raise  ValueError ("`shuffle` needs to be set for serialization." )
127123        return  {
128124            "name" : "blosc" ,
129125            "configuration" : {
@@ -141,17 +137,11 @@ def evolve_from_array_spec(self, array_spec: ArraySpec) -> Self:
141137        if  new_codec .typesize  is  None :
142138            new_codec  =  replace (new_codec , typesize = dtype .itemsize )
143139        if  new_codec .shuffle  is  None :
144-             new_codec  =  replace (
145-                 new_codec ,
146-                 shuffle = (BloscShuffle .bitshuffle  if  dtype .itemsize  ==  1  else  BloscShuffle .shuffle ),
147-             )
148- 
140+             new_codec  =  replace (new_codec ,shuffle = (BloscShuffle .bitshuffle  if  dtype .itemsize  ==  1  else  BloscShuffle .shuffle ),)
149141        return  new_codec 
150142
151143    @cached_property  
152144    def  _blosc_codec (self ) ->  Blosc :
153-         if  self .shuffle  is  None :
154-             raise  ValueError ("`shuffle` needs to be set for decoding and encoding." )
155145        map_shuffle_str_to_int  =  {
156146            BloscShuffle .noshuffle : 0 ,
157147            BloscShuffle .shuffle : 1 ,
0 commit comments