wavpack-numcodecs 0.2.3__tar.gz → 0.3.0__tar.gz
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.
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/PKG-INFO +24 -7
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/README.md +11 -3
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/pyproject.toml +6 -5
- wavpack_numcodecs-0.3.0/src/wavpack_numcodecs/__init__.py +36 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/compat_ext.c +3021 -2419
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/wavpack.c +6437 -3952
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/wavpack.pyx +0 -3
- wavpack_numcodecs-0.3.0/src/wavpack_numcodecs/wavpackv3.py +93 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs.egg-info/PKG-INFO +24 -7
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs.egg-info/SOURCES.txt +1 -0
- wavpack_numcodecs-0.3.0/src/wavpack_numcodecs.egg-info/entry_points.txt +5 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs.egg-info/requires.txt +2 -2
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/tests/test_imports.py +2 -2
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/tests/test_wavpack_codec.py +106 -10
- wavpack-numcodecs-0.2.3/src/wavpack_numcodecs/__init__.py +0 -13
- wavpack-numcodecs-0.2.3/src/wavpack_numcodecs.egg-info/entry_points.txt +0 -2
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/LICENSE +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/setup.cfg +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/setup.py +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/compat_ext.pxd +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/compat_ext.pyx +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/globals.py +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/include/wavpack/wavpack.h +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35/libwavpack.so +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.dll +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.lib +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.dll +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.lib +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31/libwavpack.so +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35/libwavpack.so +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39/libwavpack.so +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.dll +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.lib +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.dll +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.lib +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/linux-x86_64-glibc2.35/libwavpack.so +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/linux-x86_64-glibc2.39/libwavpack.so +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/linux-x86_64-glibc2.39/libwavpack.so.1 +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/windows-x86_32/wavpackdll.dll +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/windows-x86_32/wavpackdll.lib +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/windows-x86_64/wavpackdll.dll +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libraries/5.8.0/windows-x86_64/wavpackdll.lib +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/libwavpack.so.1 +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/src/decoder.c +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs/src/encoder.c +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs.egg-info/dependency_links.txt +0 -0
- {wavpack-numcodecs-0.2.3 → wavpack_numcodecs-0.3.0}/src/wavpack_numcodecs.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: wavpack-numcodecs
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Numcodecs implementation of WavPack audio codec.
|
|
5
5
|
Author-email: Alessio Buccino <alessiop.buccino@gmail.com>, David Bryant <david@wavpack.com>
|
|
6
6
|
License: MIT
|
|
@@ -10,9 +10,18 @@ Classifier: Programming Language :: Python :: 3
|
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Operating System :: OS Independent
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
|
-
Provides-Extra: test
|
|
14
|
-
Provides-Extra: test_no_cython
|
|
15
13
|
License-File: LICENSE
|
|
14
|
+
Requires-Dist: numpy
|
|
15
|
+
Requires-Dist: numcodecs
|
|
16
|
+
Requires-Dist: packaging
|
|
17
|
+
Provides-Extra: test
|
|
18
|
+
Requires-Dist: pytest; extra == "test"
|
|
19
|
+
Requires-Dist: zarr; extra == "test"
|
|
20
|
+
Requires-Dist: Cython; extra == "test"
|
|
21
|
+
Provides-Extra: test-no-cython
|
|
22
|
+
Requires-Dist: pytest; extra == "test-no-cython"
|
|
23
|
+
Requires-Dist: zarr; extra == "test-no-cython"
|
|
24
|
+
Dynamic: license-file
|
|
16
25
|
|
|
17
26
|
[](https://badge.fury.io/py/wavpack-numcodecs) 
|
|
18
27
|
|
|
@@ -84,16 +93,24 @@ data = ... # any numpy array
|
|
|
84
93
|
# instantiate WavPack compressor
|
|
85
94
|
wv_compressor = WavPack(level=2, bps=None)
|
|
86
95
|
|
|
87
|
-
|
|
96
|
+
# v2
|
|
97
|
+
group = zarr.group()
|
|
98
|
+
z = group.create_dataset(name="wv_dset", data=data, compressor=wv_compressor)
|
|
99
|
+
|
|
100
|
+
# v3
|
|
101
|
+
zarr.config.set({"default_zarr_version": 3})
|
|
102
|
+
group = zarr.group()
|
|
103
|
+
z = group.create_array(name="wv_dset3", data=data, serializer=wv_compressor)
|
|
88
104
|
|
|
89
105
|
data_read = z[:]
|
|
90
106
|
```
|
|
91
107
|
Available `**kwargs` can be browsed with: `WavPack?`
|
|
92
108
|
|
|
93
|
-
**
|
|
94
|
-
In order to reload in zarr an array saved with the `WavPack`, you just need to have the `wavpack_numcodecs` package
|
|
109
|
+
> **_NOTE 1:_** In order to reload in zarr an array saved with the `WavPack`, you just need to have the `wavpack_numcodecs` package
|
|
95
110
|
installed.
|
|
96
111
|
|
|
112
|
+
> **_NOTE 2:_** The Zarr v3 implementation is an `ArrayBytesCodec`. The `zarr.create_array` function only supports `ArrayArrayCodec` objects for `filters` and `BytesBytesCodecs` for `compressors`. Hence, we need to use the `WavPack` codec as a `serializer`, which is expected to be an `ArrayBytesCodec` object.
|
|
113
|
+
|
|
97
114
|
# Developmers guide
|
|
98
115
|
|
|
99
116
|
## How to upgrade WavPack installation and make a new release
|
|
@@ -68,16 +68,24 @@ data = ... # any numpy array
|
|
|
68
68
|
# instantiate WavPack compressor
|
|
69
69
|
wv_compressor = WavPack(level=2, bps=None)
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
# v2
|
|
72
|
+
group = zarr.group()
|
|
73
|
+
z = group.create_dataset(name="wv_dset", data=data, compressor=wv_compressor)
|
|
74
|
+
|
|
75
|
+
# v3
|
|
76
|
+
zarr.config.set({"default_zarr_version": 3})
|
|
77
|
+
group = zarr.group()
|
|
78
|
+
z = group.create_array(name="wv_dset3", data=data, serializer=wv_compressor)
|
|
72
79
|
|
|
73
80
|
data_read = z[:]
|
|
74
81
|
```
|
|
75
82
|
Available `**kwargs` can be browsed with: `WavPack?`
|
|
76
83
|
|
|
77
|
-
**
|
|
78
|
-
In order to reload in zarr an array saved with the `WavPack`, you just need to have the `wavpack_numcodecs` package
|
|
84
|
+
> **_NOTE 1:_** In order to reload in zarr an array saved with the `WavPack`, you just need to have the `wavpack_numcodecs` package
|
|
79
85
|
installed.
|
|
80
86
|
|
|
87
|
+
> **_NOTE 2:_** The Zarr v3 implementation is an `ArrayBytesCodec`. The `zarr.create_array` function only supports `ArrayArrayCodec` objects for `filters` and `BytesBytesCodecs` for `compressors`. Hence, we need to use the `WavPack` codec as a `serializer`, which is expected to be an `ArrayBytesCodec` object.
|
|
88
|
+
|
|
81
89
|
# Developmers guide
|
|
82
90
|
|
|
83
91
|
## How to upgrade WavPack installation and make a new release
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "wavpack-numcodecs"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.3.0"
|
|
4
4
|
description = "Numcodecs implementation of WavPack audio codec."
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Alessio Buccino", email = "alessiop.buccino@gmail.com"},
|
|
@@ -23,21 +23,22 @@ dependencies = [
|
|
|
23
23
|
[project.optional-dependencies]
|
|
24
24
|
test = [
|
|
25
25
|
"pytest",
|
|
26
|
-
"zarr
|
|
26
|
+
"zarr",
|
|
27
27
|
"Cython"
|
|
28
28
|
]
|
|
29
29
|
|
|
30
30
|
test_no_cython = [
|
|
31
31
|
"pytest",
|
|
32
|
-
"zarr
|
|
32
|
+
"zarr"
|
|
33
33
|
]
|
|
34
34
|
|
|
35
|
-
|
|
36
35
|
[project.urls]
|
|
37
36
|
"Homepage" = "https://github.com/AllenNeuralDynamics/wavpack-numcodecs"
|
|
38
37
|
|
|
39
38
|
[project.entry-points."numcodecs.codecs"]
|
|
40
|
-
wavpack = "wavpack_numcodecs:WavPack"
|
|
39
|
+
wavpack = "wavpack_numcodecs.wavpack:WavPack"
|
|
40
|
+
[project.entry-points."zarr.codecs"]
|
|
41
|
+
wavpack = "wavpack_numcodecs.wavpackv3:WavPack"
|
|
41
42
|
|
|
42
43
|
[build-system]
|
|
43
44
|
requires = ["setuptools>=62.0"]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import importlib.metadata
|
|
2
|
+
import importlib.util
|
|
3
|
+
import numcodecs
|
|
4
|
+
from packaging.version import parse
|
|
5
|
+
|
|
6
|
+
from wavpack_numcodecs.wavpack import wavpack_version
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
HAVE_ZARR = importlib.util.find_spec("zarr") is not None
|
|
10
|
+
|
|
11
|
+
USE_ZARR_V3 = False
|
|
12
|
+
if HAVE_ZARR:
|
|
13
|
+
import zarr
|
|
14
|
+
|
|
15
|
+
if parse(zarr.__version__) >= parse("3.0.0"):
|
|
16
|
+
USE_ZARR_V3 = True
|
|
17
|
+
|
|
18
|
+
if USE_ZARR_V3:
|
|
19
|
+
from zarr.registry import register_codec
|
|
20
|
+
from wavpack_numcodecs.wavpackv3 import WavPack
|
|
21
|
+
else:
|
|
22
|
+
from numcodecs import register_codec
|
|
23
|
+
from wavpack_numcodecs.wavpack import WavPack
|
|
24
|
+
|
|
25
|
+
register_codec("wavpack", WavPack)
|
|
26
|
+
|
|
27
|
+
from .globals import (
|
|
28
|
+
get_num_decoding_threads,
|
|
29
|
+
get_num_encoding_threads,
|
|
30
|
+
reset_num_decoding_threads,
|
|
31
|
+
reset_num_encoding_threads,
|
|
32
|
+
set_num_decoding_threads,
|
|
33
|
+
set_num_encoding_threads,
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
__version__ = importlib.metadata.version("wavpack_numcodecs")
|