numcodecs 0.16.0__cp311-cp311-win_amd64.whl → 0.16.1__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of numcodecs might be problematic. Click here for more details.

Files changed (28) hide show
  1. numcodecs/_shuffle.cp311-win_amd64.pyd +0 -0
  2. numcodecs/blosc.cp311-win_amd64.pyd +0 -0
  3. numcodecs/compat_ext.cp311-win_amd64.pyd +0 -0
  4. numcodecs/fletcher32.cp311-win_amd64.pyd +0 -0
  5. numcodecs/jenkins.cp311-win_amd64.pyd +0 -0
  6. numcodecs/lz4.cp311-win_amd64.pyd +0 -0
  7. numcodecs/tests/common.py +1 -1
  8. numcodecs/tests/test_blosc.py +19 -13
  9. numcodecs/tests/test_vlen_bytes.py +0 -4
  10. numcodecs/tests/test_zarr3.py +40 -1
  11. numcodecs/version.py +2 -2
  12. numcodecs/vlen.cp311-win_amd64.pyd +0 -0
  13. numcodecs/zarr3.py +72 -128
  14. numcodecs/zstd.cp311-win_amd64.pyd +0 -0
  15. {numcodecs-0.16.0.dist-info → numcodecs-0.16.1.dist-info}/METADATA +10 -3
  16. {numcodecs-0.16.0.dist-info → numcodecs-0.16.1.dist-info}/RECORD +28 -20
  17. {numcodecs-0.16.0.dist-info → numcodecs-0.16.1.dist-info}/WHEEL +1 -1
  18. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSE.txt +31 -0
  19. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/BITSHUFFLE.txt +21 -0
  20. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/FASTLZ.txt +20 -0
  21. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/LZ4.txt +25 -0
  22. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/SNAPPY.txt +28 -0
  23. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/STDINT.txt +29 -0
  24. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/ZLIB-NG.txt +17 -0
  25. numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/ZLIB.txt +22 -0
  26. {numcodecs-0.16.0.dist-info → numcodecs-0.16.1.dist-info}/entry_points.txt +0 -0
  27. {numcodecs-0.16.0.dist-info → numcodecs-0.16.1.dist-info}/licenses/LICENSE.txt +0 -0
  28. {numcodecs-0.16.0.dist-info → numcodecs-0.16.1.dist-info}/top_level.txt +0 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
numcodecs/tests/common.py CHANGED
@@ -202,7 +202,7 @@ def check_backwards_compatibility(codec_id, arrays, codecs, precision=None, pref
202
202
 
203
203
  for j, codec in enumerate(codecs):
204
204
  if codec is None:
205
- pytest.skip("codec has been removed")
205
+ continue
206
206
 
207
207
  # setup a directory to hold encoded data
208
208
  codec_dir = os.path.join(fixture_dir, f'codec.{j:02d}')
@@ -245,20 +245,20 @@ def test_err_encode_object_buffer():
245
245
  check_err_encode_object_buffer(Blosc())
246
246
 
247
247
 
248
- def test_decompression_error_handling():
249
- for codec in codecs:
250
- _skip_null(codec)
251
- with pytest.raises(RuntimeError):
252
- codec.decode(bytearray())
253
- with pytest.raises(RuntimeError):
254
- codec.decode(bytearray(0))
248
+ @pytest.mark.parametrize('codec', codecs)
249
+ def test_decompression_error_handling(codec):
250
+ _skip_null(codec)
251
+ with pytest.raises(RuntimeError):
252
+ codec.decode(bytearray())
253
+ with pytest.raises(RuntimeError):
254
+ codec.decode(bytearray(0))
255
255
 
256
256
 
257
- def test_max_buffer_size():
258
- for codec in codecs:
259
- _skip_null(codec)
260
- assert codec.max_buffer_size == 2**31 - 1
261
- check_max_buffer_size(codec)
257
+ @pytest.mark.parametrize('codec', codecs)
258
+ def test_max_buffer_size(codec):
259
+ _skip_null(codec)
260
+ assert codec.max_buffer_size == 2**31 - 1
261
+ check_max_buffer_size(codec)
262
262
 
263
263
 
264
264
  def test_typesize_explicit():
@@ -278,7 +278,13 @@ def test_typesize_less_than_1():
278
278
  Blosc(shuffle=Blosc.SHUFFLE, typesize=0)
279
279
  compressor = Blosc(shuffle=Blosc.SHUFFLE)
280
280
  # not really something that should be done in practice, but good for testing.
281
- compressor.typesize = 0
281
+ compressor._typesize = 0
282
282
  arr = np.arange(100)
283
283
  with pytest.raises(ValueError, match=r"Cannot use typesize"):
284
284
  compressor.encode(arr.tobytes())
285
+
286
+
287
+ def test_config_no_typesize():
288
+ codec = Blosc(shuffle=Blosc.SHUFFLE, typesize=5)
289
+ config = codec.get_config()
290
+ assert "typesize" not in config
@@ -1,4 +1,3 @@
1
- import sys
2
1
  import unittest
3
2
 
4
3
  import numpy as np
@@ -85,9 +84,6 @@ def test_decode_errors():
85
84
  codec.decode(enc, out=np.zeros(10, dtype='i4'))
86
85
 
87
86
 
88
- # TODO: fix this test on GitHub actions somehow...
89
- # See https://github.com/zarr-developers/numcodecs/issues/683
90
- @pytest.mark.skipif(sys.platform == "darwin", reason="Test is failing on macOS on GitHub actions.")
91
87
  def test_encode_none():
92
88
  a = np.array([b'foo', None, b'bar'], dtype=object)
93
89
  codec = VLenBytes()
@@ -1,10 +1,13 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import pickle
3
4
  from typing import TYPE_CHECKING
4
5
 
5
6
  import numpy as np
6
7
  import pytest
7
8
 
9
+ import numcodecs.bitround
10
+
8
11
  if TYPE_CHECKING: # pragma: no cover
9
12
  import zarr
10
13
  else:
@@ -260,7 +263,7 @@ def test_delta_astype(store: StorePath):
260
263
  dtype=data.dtype,
261
264
  fill_value=0,
262
265
  filters=[
263
- numcodecs.zarr3.Delta(dtype="i8", astype="i2"), # type: ignore[arg-type]
266
+ numcodecs.zarr3.Delta(dtype="i8", astype="i2"),
264
267
  ],
265
268
  )
266
269
 
@@ -277,3 +280,39 @@ def test_repr():
277
280
  def test_to_dict():
278
281
  codec = numcodecs.zarr3.LZ4(level=5)
279
282
  assert codec.to_dict() == {"name": "numcodecs.lz4", "configuration": {"level": 5}}
283
+
284
+
285
+ @pytest.mark.parametrize(
286
+ "codec_cls",
287
+ [
288
+ numcodecs.zarr3.Blosc,
289
+ numcodecs.zarr3.LZ4,
290
+ numcodecs.zarr3.Zstd,
291
+ numcodecs.zarr3.Zlib,
292
+ numcodecs.zarr3.GZip,
293
+ numcodecs.zarr3.BZ2,
294
+ numcodecs.zarr3.LZMA,
295
+ numcodecs.zarr3.Shuffle,
296
+ numcodecs.zarr3.BitRound,
297
+ numcodecs.zarr3.Delta,
298
+ numcodecs.zarr3.FixedScaleOffset,
299
+ numcodecs.zarr3.Quantize,
300
+ numcodecs.zarr3.PackBits,
301
+ numcodecs.zarr3.AsType,
302
+ numcodecs.zarr3.CRC32,
303
+ numcodecs.zarr3.CRC32C,
304
+ numcodecs.zarr3.Adler32,
305
+ numcodecs.zarr3.Fletcher32,
306
+ numcodecs.zarr3.JenkinsLookup3,
307
+ numcodecs.zarr3.PCodec,
308
+ numcodecs.zarr3.ZFPY,
309
+ ],
310
+ )
311
+ def test_codecs_pickleable(codec_cls):
312
+ codec = codec_cls()
313
+
314
+ expected = codec
315
+
316
+ p = pickle.dumps(codec)
317
+ actual = pickle.loads(p)
318
+ assert actual == expected
numcodecs/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.16.0'
21
- __version_tuple__ = version_tuple = (0, 16, 0)
20
+ __version__ = version = '0.16.1'
21
+ __version_tuple__ = version_tuple = (0, 16, 1)
Binary file
numcodecs/zarr3.py CHANGED
@@ -28,8 +28,8 @@ from __future__ import annotations
28
28
  import asyncio
29
29
  import math
30
30
  from dataclasses import dataclass, replace
31
- from functools import cached_property, partial
32
- from typing import Any, Self, TypeVar
31
+ from functools import cached_property
32
+ from typing import Any, Self
33
33
  from warnings import warn
34
34
 
35
35
  import numpy as np
@@ -79,6 +79,18 @@ class _NumcodecsCodec(Metadata):
79
79
  codec_name: str
80
80
  codec_config: dict[str, JSON]
81
81
 
82
+ def __init_subclass__(cls, *, codec_name: str | None = None, **kwargs):
83
+ """To be used only when creating the actual public-facing codec class."""
84
+ super().__init_subclass__(**kwargs)
85
+ if codec_name is not None:
86
+ namespace = codec_name
87
+
88
+ cls_name = f"{CODEC_PREFIX}{namespace}.{cls.__name__}"
89
+ cls.codec_name = f"{CODEC_PREFIX}{namespace}"
90
+ cls.__doc__ = f"""
91
+ See :class:`{cls_name}` for more details and parameters.
92
+ """
93
+
82
94
  def __init__(self, **codec_config: JSON) -> None:
83
95
  if not self.codec_name:
84
96
  raise ValueError(
@@ -180,159 +192,77 @@ class _NumcodecsArrayBytesCodec(_NumcodecsCodec, ArrayBytesCodec):
180
192
  return chunk_spec.prototype.buffer.from_bytes(out)
181
193
 
182
194
 
183
- T = TypeVar("T", bound=_NumcodecsCodec)
184
-
185
-
186
- def _add_docstring(cls: type[T], ref_class_name: str) -> type[T]:
187
- cls.__doc__ = f"""
188
- See :class:`{ref_class_name}` for more details and parameters.
189
- """
190
- return cls
191
-
192
-
193
- def _add_docstring_wrapper(ref_class_name: str) -> partial:
194
- return partial(_add_docstring, ref_class_name=ref_class_name)
195
-
196
-
197
- def _make_bytes_bytes_codec(codec_name: str, cls_name: str) -> type[_NumcodecsBytesBytesCodec]:
198
- # rename for class scope
199
- _codec_name = CODEC_PREFIX + codec_name
200
-
201
- class _Codec(_NumcodecsBytesBytesCodec):
202
- codec_name = _codec_name
203
-
204
- def __init__(self, **codec_config: JSON) -> None:
205
- super().__init__(**codec_config)
206
-
207
- _Codec.__name__ = cls_name
208
- return _Codec
209
-
210
-
211
- def _make_array_array_codec(codec_name: str, cls_name: str) -> type[_NumcodecsArrayArrayCodec]:
212
- # rename for class scope
213
- _codec_name = CODEC_PREFIX + codec_name
214
-
215
- class _Codec(_NumcodecsArrayArrayCodec):
216
- codec_name = _codec_name
217
-
218
- def __init__(self, **codec_config: JSON) -> None:
219
- super().__init__(**codec_config)
220
-
221
- _Codec.__name__ = cls_name
222
- return _Codec
223
-
224
-
225
- def _make_array_bytes_codec(codec_name: str, cls_name: str) -> type[_NumcodecsArrayBytesCodec]:
226
- # rename for class scope
227
- _codec_name = CODEC_PREFIX + codec_name
195
+ # bytes-to-bytes codecs
196
+ class Blosc(_NumcodecsBytesBytesCodec, codec_name="blosc"):
197
+ pass
228
198
 
229
- class _Codec(_NumcodecsArrayBytesCodec):
230
- codec_name = _codec_name
231
199
 
232
- def __init__(self, **codec_config: JSON) -> None:
233
- super().__init__(**codec_config)
200
+ class LZ4(_NumcodecsBytesBytesCodec, codec_name="lz4"):
201
+ pass
234
202
 
235
- _Codec.__name__ = cls_name
236
- return _Codec
237
203
 
204
+ class Zstd(_NumcodecsBytesBytesCodec, codec_name="zstd"):
205
+ pass
238
206
 
239
- def _make_checksum_codec(codec_name: str, cls_name: str) -> type[_NumcodecsBytesBytesCodec]:
240
- # rename for class scope
241
- _codec_name = CODEC_PREFIX + codec_name
242
207
 
243
- class _ChecksumCodec(_NumcodecsBytesBytesCodec):
244
- codec_name = _codec_name
208
+ class Zlib(_NumcodecsBytesBytesCodec, codec_name="zlib"):
209
+ pass
245
210
 
246
- def __init__(self, **codec_config: JSON) -> None:
247
- super().__init__(**codec_config)
248
211
 
249
- def compute_encoded_size(self, input_byte_length: int, chunk_spec: ArraySpec) -> int:
250
- return input_byte_length + 4 # pragma: no cover
212
+ class GZip(_NumcodecsBytesBytesCodec, codec_name="gzip"):
213
+ pass
251
214
 
252
- _ChecksumCodec.__name__ = cls_name
253
- return _ChecksumCodec
254
215
 
216
+ class BZ2(_NumcodecsBytesBytesCodec, codec_name="bz2"):
217
+ pass
255
218
 
256
- # bytes-to-bytes codecs
257
- Blosc = _add_docstring(_make_bytes_bytes_codec("blosc", "Blosc"), "numcodecs.blosc.Blosc")
258
- LZ4 = _add_docstring(_make_bytes_bytes_codec("lz4", "LZ4"), "numcodecs.lz4.LZ4")
259
- Zstd = _add_docstring(_make_bytes_bytes_codec("zstd", "Zstd"), "numcodecs.zstd.Zstd")
260
- Zlib = _add_docstring(_make_bytes_bytes_codec("zlib", "Zlib"), "numcodecs.zlib.Zlib")
261
- GZip = _add_docstring(_make_bytes_bytes_codec("gzip", "GZip"), "numcodecs.gzip.GZip")
262
- BZ2 = _add_docstring(_make_bytes_bytes_codec("bz2", "BZ2"), "numcodecs.bz2.BZ2")
263
- LZMA = _add_docstring(_make_bytes_bytes_codec("lzma", "LZMA"), "numcodecs.lzma.LZMA")
264
219
 
220
+ class LZMA(_NumcodecsBytesBytesCodec, codec_name="lzma"):
221
+ pass
265
222
 
266
- @_add_docstring_wrapper("numcodecs.shuffle.Shuffle")
267
- class Shuffle(_NumcodecsBytesBytesCodec):
268
- codec_name = f"{CODEC_PREFIX}shuffle"
269
-
270
- def __init__(self, **codec_config: JSON) -> None:
271
- super().__init__(**codec_config)
272
223
 
224
+ class Shuffle(_NumcodecsBytesBytesCodec, codec_name="shuffle"):
273
225
  def evolve_from_array_spec(self, array_spec: ArraySpec) -> Shuffle:
274
- if self.codec_config.get("elementsize", None) is None:
226
+ if self.codec_config.get("elementsize") is None:
275
227
  return Shuffle(**{**self.codec_config, "elementsize": array_spec.dtype.itemsize})
276
228
  return self # pragma: no cover
277
229
 
278
230
 
279
231
  # array-to-array codecs ("filters")
280
- @_add_docstring_wrapper("numcodecs.delta.Delta")
281
- class Delta(_NumcodecsArrayArrayCodec):
282
- codec_name = f"{CODEC_PREFIX}delta"
283
-
284
- def __init__(self, **codec_config: dict[str, JSON]) -> None:
285
- super().__init__(**codec_config)
286
-
232
+ class Delta(_NumcodecsArrayArrayCodec, codec_name="delta"):
287
233
  def resolve_metadata(self, chunk_spec: ArraySpec) -> ArraySpec:
288
234
  if astype := self.codec_config.get("astype"):
289
235
  return replace(chunk_spec, dtype=np.dtype(astype)) # type: ignore[call-overload]
290
236
  return chunk_spec
291
237
 
292
238
 
293
- BitRound = _add_docstring(
294
- _make_array_array_codec("bitround", "BitRound"), "numcodecs.bitround.BitRound"
295
- )
296
-
239
+ class BitRound(_NumcodecsArrayArrayCodec, codec_name="bitround"):
240
+ pass
297
241
 
298
- @_add_docstring_wrapper("numcodecs.fixedscaleoffset.FixedScaleOffset")
299
- class FixedScaleOffset(_NumcodecsArrayArrayCodec):
300
- codec_name = f"{CODEC_PREFIX}fixedscaleoffset"
301
-
302
- def __init__(self, **codec_config: JSON) -> None:
303
- super().__init__(**codec_config)
304
242
 
243
+ class FixedScaleOffset(_NumcodecsArrayArrayCodec, codec_name="fixedscaleoffset"):
305
244
  def resolve_metadata(self, chunk_spec: ArraySpec) -> ArraySpec:
306
245
  if astype := self.codec_config.get("astype"):
307
246
  return replace(chunk_spec, dtype=np.dtype(astype)) # type: ignore[call-overload]
308
247
  return chunk_spec
309
248
 
310
249
  def evolve_from_array_spec(self, array_spec: ArraySpec) -> FixedScaleOffset:
311
- if self.codec_config.get("dtype", None) is None:
250
+ if self.codec_config.get("dtype") is None:
312
251
  return FixedScaleOffset(**{**self.codec_config, "dtype": str(array_spec.dtype)})
313
252
  return self
314
253
 
315
254
 
316
- @_add_docstring_wrapper("numcodecs.quantize.Quantize")
317
- class Quantize(_NumcodecsArrayArrayCodec):
318
- codec_name = f"{CODEC_PREFIX}quantize"
319
-
255
+ class Quantize(_NumcodecsArrayArrayCodec, codec_name="quantize"):
320
256
  def __init__(self, **codec_config: JSON) -> None:
321
257
  super().__init__(**codec_config)
322
258
 
323
259
  def evolve_from_array_spec(self, array_spec: ArraySpec) -> Quantize:
324
- if self.codec_config.get("dtype", None) is None:
260
+ if self.codec_config.get("dtype") is None:
325
261
  return Quantize(**{**self.codec_config, "dtype": str(array_spec.dtype)})
326
262
  return self
327
263
 
328
264
 
329
- @_add_docstring_wrapper("numcodecs.packbits.PackBits")
330
- class PackBits(_NumcodecsArrayArrayCodec):
331
- codec_name = f"{CODEC_PREFIX}packbits"
332
-
333
- def __init__(self, **codec_config: JSON) -> None:
334
- super().__init__(**codec_config)
335
-
265
+ class PackBits(_NumcodecsArrayArrayCodec, codec_name="packbits"):
336
266
  def resolve_metadata(self, chunk_spec: ArraySpec) -> ArraySpec:
337
267
  return replace(
338
268
  chunk_spec,
@@ -345,36 +275,50 @@ class PackBits(_NumcodecsArrayArrayCodec):
345
275
  raise ValueError(f"Packbits filter requires bool dtype. Got {dtype}.")
346
276
 
347
277
 
348
- @_add_docstring_wrapper("numcodecs.astype.AsType")
349
- class AsType(_NumcodecsArrayArrayCodec):
350
- codec_name = f"{CODEC_PREFIX}astype"
351
-
352
- def __init__(self, **codec_config: JSON) -> None:
353
- super().__init__(**codec_config)
354
-
278
+ class AsType(_NumcodecsArrayArrayCodec, codec_name="astype"):
355
279
  def resolve_metadata(self, chunk_spec: ArraySpec) -> ArraySpec:
356
280
  return replace(chunk_spec, dtype=np.dtype(self.codec_config["encode_dtype"])) # type: ignore[arg-type]
357
281
 
358
282
  def evolve_from_array_spec(self, array_spec: ArraySpec) -> AsType:
359
- if self.codec_config.get("decode_dtype", None) is None:
283
+ if self.codec_config.get("decode_dtype") is None:
360
284
  return AsType(**{**self.codec_config, "decode_dtype": str(array_spec.dtype)})
361
285
  return self
362
286
 
363
287
 
364
288
  # bytes-to-bytes checksum codecs
365
- CRC32 = _add_docstring(_make_checksum_codec("crc32", "CRC32"), "numcodecs.checksum32.CRC32")
366
- CRC32C = _add_docstring(_make_checksum_codec("crc32c", "CRC32C"), "numcodecs.checksum32.CRC32C")
367
- Adler32 = _add_docstring(_make_checksum_codec("adler32", "Adler32"), "numcodecs.checksum32.Adler32")
368
- Fletcher32 = _add_docstring(
369
- _make_checksum_codec("fletcher32", "Fletcher32"), "numcodecs.fletcher32.Fletcher32"
370
- )
371
- JenkinsLookup3 = _add_docstring(
372
- _make_checksum_codec("jenkins_lookup3", "JenkinsLookup3"), "numcodecs.checksum32.JenkinsLookup3"
373
- )
289
+ class _NumcodecsChecksumCodec(_NumcodecsBytesBytesCodec):
290
+ def compute_encoded_size(self, input_byte_length: int, chunk_spec: ArraySpec) -> int:
291
+ return input_byte_length + 4 # pragma: no cover
292
+
293
+
294
+ class CRC32(_NumcodecsChecksumCodec, codec_name="crc32"):
295
+ pass
296
+
297
+
298
+ class CRC32C(_NumcodecsChecksumCodec, codec_name="crc32c"):
299
+ pass
300
+
301
+
302
+ class Adler32(_NumcodecsChecksumCodec, codec_name="adler32"):
303
+ pass
304
+
305
+
306
+ class Fletcher32(_NumcodecsChecksumCodec, codec_name="fletcher32"):
307
+ pass
308
+
309
+
310
+ class JenkinsLookup3(_NumcodecsChecksumCodec, codec_name="jenkins_lookup3"):
311
+ pass
312
+
374
313
 
375
314
  # array-to-bytes codecs
376
- PCodec = _add_docstring(_make_array_bytes_codec("pcodec", "PCodec"), "numcodecs.pcodec.PCodec")
377
- ZFPY = _add_docstring(_make_array_bytes_codec("zfpy", "ZFPY"), "numcodecs.zfpy.ZFPY")
315
+ class PCodec(_NumcodecsArrayBytesCodec, codec_name="pcodec"):
316
+ pass
317
+
318
+
319
+ class ZFPY(_NumcodecsArrayBytesCodec, codec_name="zfpy"):
320
+ pass
321
+
378
322
 
379
323
  __all__ = [
380
324
  "BZ2",
Binary file
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numcodecs
3
- Version: 0.16.0
3
+ Version: 0.16.1
4
4
  Summary: A Python package providing buffer compression and transformation codecs for use in data storage and communication applications.
5
5
  Maintainer-email: Alistair Miles <alimanfoo@googlemail.com>
6
- License: MIT
6
+ License-Expression: MIT
7
7
  Project-URL: Bug Tracker, https://github.com/zarr-developers/numcodecs/issues
8
8
  Project-URL: Changelog, https://numcodecs.readthedocs.io/en/stable/release.html
9
9
  Project-URL: Documentation, https://numcodecs.readthedocs.io/
@@ -12,7 +12,6 @@ Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Intended Audience :: Information Technology
14
14
  Classifier: Intended Audience :: Science/Research
15
- Classifier: License :: OSI Approved :: MIT License
16
15
  Classifier: Programming Language :: Python
17
16
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
17
  Classifier: Operating System :: Unix
@@ -21,6 +20,14 @@ Classifier: Programming Language :: Python :: 3 :: Only
21
20
  Requires-Python: >=3.11
22
21
  Description-Content-Type: text/x-rst
23
22
  License-File: LICENSE.txt
23
+ License-File: c-blosc/LICENSE.txt
24
+ License-File: c-blosc/LICENSES/BITSHUFFLE.txt
25
+ License-File: c-blosc/LICENSES/FASTLZ.txt
26
+ License-File: c-blosc/LICENSES/LZ4.txt
27
+ License-File: c-blosc/LICENSES/SNAPPY.txt
28
+ License-File: c-blosc/LICENSES/STDINT.txt
29
+ License-File: c-blosc/LICENSES/ZLIB-NG.txt
30
+ License-File: c-blosc/LICENSES/ZLIB.txt
24
31
  Requires-Dist: numpy>=1.24
25
32
  Requires-Dist: typing_extensions
26
33
  Provides-Extra: docs
@@ -1,23 +1,23 @@
1
1
  numcodecs/__init__.py,sha256=zcO3_tRbWzdbtZQniKvnleQ8U6wZcLtNLRXvzYjESAg,3250
2
- numcodecs/_shuffle.cp311-win_amd64.pyd,sha256=IIbAG1EnzWlQtYNWgSAuTtay8yf0fYvPRqMBoQLhx6c,133632
2
+ numcodecs/_shuffle.cp311-win_amd64.pyd,sha256=YlIaIDyt0FtsGHtieMdRCckivQ-Cfly1P1zM0njQW6Q,122368
3
3
  numcodecs/abc.py,sha256=WWOjzavsAAcAxu-POPfiojYFfl94u9xE4RWAcRdRCbw,4631
4
4
  numcodecs/astype.py,sha256=ZoI9ev-r2Q5Xw7NZN1xoZ9tYhq80XoeL-F15KfJhDIA,2171
5
5
  numcodecs/base64.py,sha256=Da-KRfgXZ5j5Dn5AjidclQp9BXcAdx_ZR_a60FzFPWQ,778
6
6
  numcodecs/bitround.py,sha256=m9gysWTzZH_MA0H7oI3dfBIZh66yxHM4gik8aq6xA_0,2925
7
- numcodecs/blosc.cp311-win_amd64.pyd,sha256=hVTRQhoLE1x4ow0qhlFyViy4BtMByOB1iQenqZJ-7Pk,583680
7
+ numcodecs/blosc.cp311-win_amd64.pyd,sha256=Rt9Bp1c9yyFDzI75_4wcgXzrMJYbbr9KpFI4iEqfFaM,570368
8
8
  numcodecs/bz2.py,sha256=bS0L4XqzJDw6pU4MUuEF8UgFOHw6mErnqCXZVg8TEiI,1219
9
9
  numcodecs/categorize.py,sha256=jwx8H_EXMEY3CSSWjYt5wzoduFwv-44v_Kjqxe-jo4Q,3046
10
10
  numcodecs/checksum32.py,sha256=FAA1N6agDIxE8OMcyusjqGLFy5vyxzsxnARsfhOXeTQ,5909
11
11
  numcodecs/compat.py,sha256=ghz0-UpxV0q_mAaiZLZv6BBhJNNLeLTDGirO4Oda_ZM,6711
12
- numcodecs/compat_ext.cp311-win_amd64.pyd,sha256=QEggOkqRBHVoKHL34awA19N4VkLEDhRVjLNayOARP1Q,23552
12
+ numcodecs/compat_ext.cp311-win_amd64.pyd,sha256=_1WGF1OO4ZKljy7AbKjREbBD6z_TFRJ06IV2plW16bc,23552
13
13
  numcodecs/delta.py,sha256=cSU6M1hT6q_ZNdyW3zkbcPsyviZsc9OJ5nZLBOpnwxc,2885
14
14
  numcodecs/errors.py,sha256=Acfi3-rFKs93QM3-fcS7vo2qGvocLXwWnA0HhuOwGqk,689
15
15
  numcodecs/fixedscaleoffset.py,sha256=mjIakyHT5cY38o7gE-9f99SjPJRVAxYkyOJ0h9OnyKE,4318
16
- numcodecs/fletcher32.cp311-win_amd64.pyd,sha256=hWPzHXjpddvJd7Sqj6xQYd_N2Gsq69tLiysQzhutvTE,155648
16
+ numcodecs/fletcher32.cp311-win_amd64.pyd,sha256=xjPK77Jz281HwVdLf4yNgA0cqIb1YKG9ywS3plTyuVg,142336
17
17
  numcodecs/gzip.py,sha256=w7TpS4sorX36J7L4Izs8BszU7ZH-Mks455Ai-QHWZrs,1486
18
- numcodecs/jenkins.cp311-win_amd64.pyd,sha256=2wq2H88QMe7pe8I0tTohkx2SbrRHHqXdEMgx7vbso7Q,144384
18
+ numcodecs/jenkins.cp311-win_amd64.pyd,sha256=gJU8YoYPviCCXx6DaSoNzWNM0e37RCEpMX4Bi1Q9avw,135168
19
19
  numcodecs/json.py,sha256=dFoZcpBSY3fU-4p4x1DjI3mtr-reRlsMSJ7Aiwy_sgI,3500
20
- numcodecs/lz4.cp311-win_amd64.pyd,sha256=lJigfZ0SsoOSU8u5_DyNCNwRwA4qBPTIMssu7ABTIC8,72192
20
+ numcodecs/lz4.cp311-win_amd64.pyd,sha256=JEoRVleQj72OXYkaIgMt5iWpnhdoEdEShEqW0kLqjO8,68096
21
21
  numcodecs/lzma.py,sha256=N01IBcCZKiMS0fPB75157inIhuZkVNFcW3Xf96mmWJ8,2329
22
22
  numcodecs/msgpacks.py,sha256=a6do5fvFqnSXOadxajtw-uq7UdcUsWUY-hTDv8HCx08,2705
23
23
  numcodecs/ndarray_like.py,sha256=M6n00SC1h_SgN0enXClkKMFeE4z-AewLAYVbq56Vl2A,1948
@@ -27,18 +27,18 @@ numcodecs/pickles.py,sha256=Yh8hCg-ETdLWM5MjCy5vPW8E8_3DCjyvOPoKtvbr1ZU,1345
27
27
  numcodecs/quantize.py,sha256=hHzsMgFtJGDHrYRjdFqNBJ2wit9I45y59Uqc5pUjIWQ,3114
28
28
  numcodecs/registry.py,sha256=IlPYY8RlVZgRid2j-S7SxnhCMq4y9cxQwQMGCy7lgbI,1938
29
29
  numcodecs/shuffle.py,sha256=ty-NJ1bIgsErwmTyJtspSgrrJ4PspQjp6Hb-U2M17hY,1636
30
- numcodecs/version.py,sha256=UI27vZYI4Odzb3grW5XGmxsuhe_RRgOAIP6TwGte-30,534
31
- numcodecs/vlen.cp311-win_amd64.pyd,sha256=xk1onROvxy5uBqMUOZUSqwbo2yVuk6mH9OVRkMG3bSM,201216
32
- numcodecs/zarr3.py,sha256=elEXBPv7uKWp-jSJadsEQtMGOy9Gk9Pu2JpQ-Qgo6eY,15076
30
+ numcodecs/version.py,sha256=Q-sQEcpO0WIsA4KgY99KmzTgmRvvelk-5dmyYTgdykY,534
31
+ numcodecs/vlen.cp311-win_amd64.pyd,sha256=d3VAFgO2Mm4d3PaCqmUBRqg1BFTdAmHT1bf-N1iKNdE,186368
32
+ numcodecs/zarr3.py,sha256=tkziYhdg427GAzEaeLnvgyL-uXAcvvFpYoaxN8aFoCM,12234
33
33
  numcodecs/zfpy.py,sha256=SP6zPdXwSrZzu_iuudoSZGBuE6IvXWdvJri1fgz-4nY,4013
34
34
  numcodecs/zlib.py,sha256=C5TO2qRPyG6SY25lmB9qeFh6yr4IRAqHz0v4RaPvygE,1091
35
- numcodecs/zstd.cp311-win_amd64.pyd,sha256=xNaf3qGTmL60eZafxpjw-ZhSjiMdErkVdNCAdkBBs3o,449536
35
+ numcodecs/zstd.cp311-win_amd64.pyd,sha256=P6ZuXEpTBXmPhcM4wbD5jqeklwABFb1uJtvzruLjxlk,444928
36
36
  numcodecs/tests/__init__.py,sha256=W7MDbDAXcjl7fVmolo3U_30rFkOCb6mWQ8vcByUpu8g,75
37
- numcodecs/tests/common.py,sha256=GzKQpkEaK9jzgDzPR6pEv440BnI2y55e3QggLIOVZ_c,9621
37
+ numcodecs/tests/common.py,sha256=oOBW3lYM9TKG7PQjeK_CKBtg2o1oA3pLA_8npHwV5vY,9592
38
38
  numcodecs/tests/test_astype.py,sha256=m-l8k4q8jSZrIqviASKxYsaPzzuBG_Y4tUNlIigYbco,2441
39
39
  numcodecs/tests/test_base64.py,sha256=znf-cMk2JBW3vjcZu7CpC2b9wIiIzBPwfmHX_WlkZ1o,2396
40
40
  numcodecs/tests/test_bitround.py,sha256=idosc7MlWLWoA93jFFPgfKk1WzazmaLqH3gzCsVV0F0,2430
41
- numcodecs/tests/test_blosc.py,sha256=8erufKBh4_qHgxGubWimzSy8Yt-IalrH0a1yp-BuDDc,9780
41
+ numcodecs/tests/test_blosc.py,sha256=TvnWfKImQ-XVm5Sz9dhg3MEskdAY37jYPsIVVR2VBOA,9953
42
42
  numcodecs/tests/test_bz2.py,sha256=iH9BPZ8wtXCEfq52RXOqQ9bmQsTMiy3uujIKNpi2Mqs,1955
43
43
  numcodecs/tests/test_categorize.py,sha256=wug4Im375r3nM1oTIrDVW5woZiZDCsp5uE1Fz6qwIkI,2843
44
44
  numcodecs/tests/test_checksum32.py,sha256=1ZbJrUXPFAPZdmKYso0u0lHBUBtdyA-mfiQdmXRqdqs,4755
@@ -62,18 +62,26 @@ numcodecs/tests/test_quantize.py,sha256=muD4zwQSa4XM4jPO3qXu8rMdoU4eHCpVfQ8z0G7Z
62
62
  numcodecs/tests/test_registry.py,sha256=Ar_Op6MIEm8MTxzBPgjtMrWXA5EhYm7JnM-Yab79zrY,1159
63
63
  numcodecs/tests/test_shuffle.py,sha256=25AOv67ip0EroQyufgWZXPYueA4p4HZcctwTTFeT5Q0,4825
64
64
  numcodecs/tests/test_vlen_array.py,sha256=sUwLaza31Yo0IMnmKCGykRPaB3ha7i0ImiCY9yvHS9o,2574
65
- numcodecs/tests/test_vlen_bytes.py,sha256=ni0Qv0A_lx8-dAzEJXrnUJyfLNXp7B2G274nKjpIY44,2794
65
+ numcodecs/tests/test_vlen_bytes.py,sha256=ujYHFkBn7EultxVkEepbmFriQfO_pJxfh7dEfTxCCco,2566
66
66
  numcodecs/tests/test_vlen_utf8.py,sha256=X0nBvLv1hVDHGz3pIRMP4rVs75lAkXGUb0cRcfZM1Ss,2565
67
- numcodecs/tests/test_zarr3.py,sha256=awcNOFFUmTZ0wer2G8gOIXl9kETWwkByRonH54XodJo,8762
67
+ numcodecs/tests/test_zarr3.py,sha256=72s8pRMtvZEw_6NQLDe3f-6cHORN3etHMFJkT4Kn2sQ,9732
68
68
  numcodecs/tests/test_zarr3_import.py,sha256=enI8IqSnTynihEQ2mh95UdTZ5Gb8m9Wock6gbg3iLYs,345
69
69
  numcodecs/tests/test_zfpy.py,sha256=lSkKcpGg437poMRQ88EDYdbQVIqKmF0Il-ASdlYkkIY,2866
70
70
  numcodecs/tests/test_zlib.py,sha256=SxgYIyH2bH_eIX7k-9kgPUOXCHEllGPoLSUSn0Qk5rg,2633
71
71
  numcodecs/tests/test_zstd.py,sha256=P-wHnm0wOuclHOoX7danVEvufxKNM3GwYBgHBchzILE,2702
72
72
  numcodecs/tests/package_with_entrypoint/__init__.py,sha256=j0h1AHePXH8ONfd-TMGwKsMW4gBqbgiGOuGP25S9hLE,223
73
- numcodecs-0.16.0.dist-info/licenses/LICENSE.txt,sha256=IxxTq7WTy9_G9AbShWjbBcg6x2G3pDlJEIBJN2o95ks,1145
74
- numcodecs-0.16.0.dist-info/METADATA,sha256=EwKFqWblhMctILiyevUlFyBxyVVIl4pvnYIiSMKoT4c,3029
75
- numcodecs-0.16.0.dist-info/WHEEL,sha256=_ZWIY2n7n6SpiuIFl1-RvcMp4Ty36T57FKf-7NzqZHM,101
76
- numcodecs-0.16.0.dist-info/entry_points.txt,sha256=3W3FHKrwE52X3fLq8KdioOtf93lh5KaoGV5t2D10DBI,919
77
- numcodecs-0.16.0.dist-info/top_level.txt,sha256=JkHllzt6IuVudg4Tk--wF-yfPPsdVOiMTag1tjGIihw,10
73
+ numcodecs-0.16.1.dist-info/licenses/LICENSE.txt,sha256=IxxTq7WTy9_G9AbShWjbBcg6x2G3pDlJEIBJN2o95ks,1145
74
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSE.txt,sha256=O7ymticiBIDDnp1Qz4k3YxL84kZcC9Anjw8LcRxPOi4,1675
75
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/BITSHUFFLE.txt,sha256=KlmZr2WeErTRwZ6evuOiOyon5Lzx3q_5r6Ia77DpIJQ,1169
76
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/FASTLZ.txt,sha256=FYqEiOTbader3aeXp85aD6aVA90BFKUDRJpEPu_8w-8,1155
77
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/LZ4.txt,sha256=rRc2s37unSWbyuYw_OWvM97RJrWSfYjQ3pcrcU9N6io,1337
78
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/SNAPPY.txt,sha256=J-aF3rkomek7rPuKYzRPUOrIUgGnoqoNhXndJ3q8QMI,1503
79
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/STDINT.txt,sha256=DjS3TKOVRT0V_QC6Bf4u9IQWvXgfwnLmvPxsFdUGRqM,1597
80
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/ZLIB-NG.txt,sha256=PqsweFGCCDpkeUrFcwoGvQ_PPc3ZcGNNqSSR0bdSJwk,910
81
+ numcodecs-0.16.1.dist-info/licenses/c-blosc/LICENSES/ZLIB.txt,sha256=GNvTfwqxdcN4d-kFP_hwp94oCaPpuWc7JpaqUAkmRjg,1024
82
+ numcodecs-0.16.1.dist-info/METADATA,sha256=aDxoAuL6CVsjhuF3ejRTFsHFEKvi_oSKK0NORq0aMfQ,3324
83
+ numcodecs-0.16.1.dist-info/WHEEL,sha256=w9Xlqjb4P__1xPosTTDG8Ieqhmo6FNdeoRaV5xSg6-o,101
84
+ numcodecs-0.16.1.dist-info/entry_points.txt,sha256=3W3FHKrwE52X3fLq8KdioOtf93lh5KaoGV5t2D10DBI,919
85
+ numcodecs-0.16.1.dist-info/top_level.txt,sha256=JkHllzt6IuVudg4Tk--wF-yfPPsdVOiMTag1tjGIihw,10
78
86
  numcodecs/tests/package_with_entrypoint-0.1.dist-info/entry_points.txt,sha256=COk3sfJsTt3T00bA2bcUMCuWEhwkQvf4lPHcBDk34qA,62
79
- numcodecs-0.16.0.dist-info/RECORD,,
87
+ numcodecs-0.16.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-win_amd64
5
5
 
@@ -0,0 +1,31 @@
1
+ BSD License
2
+
3
+ For Blosc - A blocking, shuffling and lossless compression library
4
+
5
+ Copyright (c) 2009-2018 Francesc Alted <francesc@blosc.org>
6
+ Copyright (c) 2019-present Blosc Development Team <blosc@blosc.org>
7
+
8
+ Redistribution and use in source and binary forms, with or without modification,
9
+ are permitted provided that the following conditions are met:
10
+
11
+ * Redistributions of source code must retain the above copyright notice, this
12
+ list of conditions and the following disclaimer.
13
+
14
+ * Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+
18
+ * Neither the name Francesc Alted nor the names of its contributors may be used
19
+ to endorse or promote products derived from this software without specific
20
+ prior written permission.
21
+
22
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
23
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
24
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
26
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
29
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,21 @@
1
+ Bitshuffle - Filter for improving compression of typed binary data.
2
+
3
+ Copyright (c) 2014 Kiyoshi Masui (kiyo@physics.ubc.ca)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,20 @@
1
+ FastLZ - Byte-aligned LZ77 compression library
2
+ Copyright (C) 2005-2020 Ariya Hidayat <ariya.hidayat@gmail.com>
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in
12
+ all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ THE SOFTWARE.
@@ -0,0 +1,25 @@
1
+
2
+ LZ4 Library
3
+ Copyright (c) 2011-2020, Yann Collet
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without modification,
7
+ are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice, this
13
+ list of conditions and the following disclaimer in the documentation and/or
14
+ other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
20
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,28 @@
1
+ Copyright 2011, Google Inc.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are
6
+ met:
7
+
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+ * Redistributions in binary form must reproduce the above
11
+ copyright notice, this list of conditions and the following disclaimer
12
+ in the documentation and/or other materials provided with the
13
+ distribution.
14
+ * Neither the name of Google Inc. nor the names of its
15
+ contributors may be used to endorse or promote products derived from
16
+ this software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,29 @@
1
+ ISO C9x compliant stdint.h for Microsoft Visual Studio
2
+ Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
3
+
4
+ Copyright (c) 2006-2013 Alexander Chemeris
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright
13
+ notice, this list of conditions and the following disclaimer in the
14
+ documentation and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the product nor the names of its contributors may
17
+ be used to endorse or promote products derived from this software
18
+ without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
21
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
23
+ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26
+ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,17 @@
1
+ (C) 1995-2013 Jean-loup Gailly and Mark Adler
2
+
3
+ This software is provided 'as-is', without any express or implied
4
+ warranty. In no event will the authors be held liable for any damages
5
+ arising from the use of this software.
6
+
7
+ Permission is granted to anyone to use this software for any purpose,
8
+ including commercial applications, and to alter it and redistribute it
9
+ freely, subject to the following restrictions:
10
+
11
+ 1. The origin of this software must not be misrepresented; you must not
12
+ claim that you wrote the original software. If you use this software
13
+ in a product, an acknowledgment in the product documentation would be
14
+ appreciated but is not required.
15
+ 2. Altered source versions must be plainly marked as such, and must not be
16
+ misrepresented as being the original software.
17
+ 3. This notice may not be removed or altered from any source distribution.
@@ -0,0 +1,22 @@
1
+ Copyright notice:
2
+
3
+ (C) 1995-2022 Jean-loup Gailly and Mark Adler
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+
21
+ Jean-loup Gailly Mark Adler
22
+ jloup@gzip.org madler@alumni.caltech.edu