wavpack-numcodecs 0.2.0__tar.gz → 0.2.2__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.
Files changed (41) hide show
  1. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs.egg-info → wavpack-numcodecs-0.2.2}/PKG-INFO +11 -5
  2. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/README.md +8 -4
  3. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/pyproject.toml +21 -3
  4. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/setup.py +20 -6
  5. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.lib +0 -0
  6. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.lib +0 -0
  7. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31/libwavpack.so +0 -0
  8. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64 → wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35}/libwavpack.so +0 -0
  9. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs → wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35}/libwavpack.so.1 +0 -0
  10. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39/libwavpack.so +0 -0
  11. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.lib +0 -0
  12. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.lib +0 -0
  13. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2/src/wavpack_numcodecs.egg-info}/PKG-INFO +11 -5
  14. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs.egg-info/SOURCES.txt +9 -5
  15. wavpack-numcodecs-0.2.2/src/wavpack_numcodecs.egg-info/requires.txt +12 -0
  16. wavpack-numcodecs-0.2.0/MANIFEST.in +0 -8
  17. wavpack-numcodecs-0.2.0/requirements.txt +0 -3
  18. wavpack-numcodecs-0.2.0/src/wavpack_numcodecs.egg-info/requires.txt +0 -3
  19. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/LICENSE +0 -0
  20. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/setup.cfg +0 -0
  21. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/__init__.py +0 -0
  22. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/compat_ext.c +0 -0
  23. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/compat_ext.pxd +0 -0
  24. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/compat_ext.pyx +0 -0
  25. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/globals.py +0 -0
  26. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/include/wavpack/wavpack.h +0 -0
  27. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64 → wavpack-numcodecs-0.2.2/src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35}/libwavpack.so +0 -0
  28. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.dll +0 -0
  29. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.dll +0 -0
  30. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.dll +0 -0
  31. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.dll +0 -0
  32. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64 → wavpack-numcodecs-0.2.2/src/wavpack_numcodecs}/libwavpack.so.1 +0 -0
  33. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/src/decoder.c +0 -0
  34. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/src/encoder.c +0 -0
  35. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/wavpack.c +0 -0
  36. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs/wavpack.pyx +0 -0
  37. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs.egg-info/dependency_links.txt +0 -0
  38. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs.egg-info/entry_points.txt +0 -0
  39. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/src/wavpack_numcodecs.egg-info/top_level.txt +0 -0
  40. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/tests/test_imports.py +0 -0
  41. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.2}/tests/test_wavpack_codec.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wavpack-numcodecs
3
- Version: 0.2.0
3
+ Version: 0.2.2
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,6 +10,8 @@ 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
13
15
  License-File: LICENSE
14
16
 
15
17
  [![PyPI version](https://badge.fury.io/py/wavpack-numcodecs.svg)](https://badge.fury.io/py/wavpack-numcodecs) ![tests](https://github.com/AllenNeuralDynamics/wavpack-numcodecs/actions/workflows/python-package-cython.yml/badge.svg)
@@ -37,6 +39,8 @@ For Linux and Windows, the package comes with pre-built binaries of the most
37
39
 
38
40
  On Linux, if an existing `wavpack` installation is found, the package will use it. Otherwise, it will use the pre-built binaries available in the `wavpack_numcodecs/libraries` folder.
39
41
 
42
+ On Windows, you need to have the "Microsoft C++ Build Tools" installed. You can download it and install it from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
43
+
40
44
  ## Installation
41
45
 
42
46
  Install via `pip`:
@@ -77,7 +81,7 @@ installed.
77
81
 
78
82
  # Developmers guide
79
83
 
80
- ## How to upgrade WavPack installation
84
+ ## How to upgrade WavPack installation and make a new release
81
85
 
82
86
  To upgrade the WavPack installation, you need to:
83
87
 
@@ -85,6 +89,8 @@ To upgrade the WavPack installation, you need to:
85
89
  2. Extract the content of the downloaded file.
86
90
  3. Create a new folder in the `src/wavpack_numcodecs/libraries` folder with the name of the version of the WavPack you are installing.
87
91
  4. Add the Windows .dll and .lib files to the `windows-x86_32` and `windows-x86_64` folders, respectievely.
88
- 5. Build the Linux shared library and copy the `.so` file to the `linux-x86_64` folder.
89
- 6. Set the `LATET_WAVPACK_VERSION` variable in the `setup.py` to match the version of the WavPack you are installing.
90
- 7. Update the version of the CI workflows in the `.github/workflows/` folder.
92
+ 5. Update the version of the CI workflows in the `.github/wavpack_latest_version.txt` file and set the `LATEST_WAVPACK_VERSION` variable in the `setup.py` to match the version of the WavPack you are installing.
93
+ 6. Make a PR with the changes and merge it.
94
+ 7. Manually trigger the `Build wavpack binaries` workflow in the Actions tab of the repository. This will automatically build the binaries for different Linux versions and make PRs with the changes to the `main` branch.
95
+ 8. Merge the automated PRs to update the Linux binaries.
96
+ 9. Update the version of the package in the `pyproject.toml` file and tag the repo to automatically make a new release.
@@ -23,6 +23,8 @@ For Linux and Windows, the package comes with pre-built binaries of the most
23
23
 
24
24
  On Linux, if an existing `wavpack` installation is found, the package will use it. Otherwise, it will use the pre-built binaries available in the `wavpack_numcodecs/libraries` folder.
25
25
 
26
+ On Windows, you need to have the "Microsoft C++ Build Tools" installed. You can download it and install it from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
27
+
26
28
  ## Installation
27
29
 
28
30
  Install via `pip`:
@@ -63,7 +65,7 @@ installed.
63
65
 
64
66
  # Developmers guide
65
67
 
66
- ## How to upgrade WavPack installation
68
+ ## How to upgrade WavPack installation and make a new release
67
69
 
68
70
  To upgrade the WavPack installation, you need to:
69
71
 
@@ -71,6 +73,8 @@ To upgrade the WavPack installation, you need to:
71
73
  2. Extract the content of the downloaded file.
72
74
  3. Create a new folder in the `src/wavpack_numcodecs/libraries` folder with the name of the version of the WavPack you are installing.
73
75
  4. Add the Windows .dll and .lib files to the `windows-x86_32` and `windows-x86_64` folders, respectievely.
74
- 5. Build the Linux shared library and copy the `.so` file to the `linux-x86_64` folder.
75
- 6. Set the `LATET_WAVPACK_VERSION` variable in the `setup.py` to match the version of the WavPack you are installing.
76
- 7. Update the version of the CI workflows in the `.github/workflows/` folder.
76
+ 5. Update the version of the CI workflows in the `.github/wavpack_latest_version.txt` file and set the `LATEST_WAVPACK_VERSION` variable in the `setup.py` to match the version of the WavPack you are installing.
77
+ 6. Make a PR with the changes and merge it.
78
+ 7. Manually trigger the `Build wavpack binaries` workflow in the Actions tab of the repository. This will automatically build the binaries for different Linux versions and make PRs with the changes to the `main` branch.
79
+ 8. Merge the automated PRs to update the Linux binaries.
80
+ 9. Update the version of the package in the `pyproject.toml` file and tag the repo to automatically make a new release.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "wavpack-numcodecs"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "Numcodecs implementation of WavPack audio codec."
5
5
  authors = [
6
6
  {name = "Alessio Buccino", email = "alessiop.buccino@gmail.com"},
@@ -20,18 +20,30 @@ dependencies = [
20
20
  "packaging"
21
21
  ]
22
22
 
23
+ [project.optional-dependencies]
24
+ test = [
25
+ "pytest",
26
+ "zarr",
27
+ "Cython"
28
+ ]
29
+
30
+ test_no_cython = [
31
+ "pytest",
32
+ "zarr"
33
+ ]
34
+
35
+
23
36
  [project.urls]
24
37
  "Homepage" = "https://github.com/AllenNeuralDynamics/wavpack-numcodecs"
25
38
 
26
39
 
27
-
28
40
  [build-system]
29
41
  requires = ["setuptools>=62.0"]
30
42
  build-backend = "setuptools.build_meta"
31
43
 
32
44
  [tool.setuptools]
33
45
  include-package-data = true
34
- package-data = {"wavpack_numcodecs" = ["**/*.pyx", "**/*.pxd", "**/*.c", "**/*.h", "**/*.so", "**/*.so.*", "**/*.dll"]}
46
+ package-data = {"wavpack_numcodecs" = ["**/*.pyx", "**/*.pxd", "**/*.c", "**/*.h", "**/*.so", "**/*.so.*", "**/*.dll", "**/*.lib"]}
35
47
 
36
48
  [tool.setuptools.exclude-package-data]
37
49
  wavpack_numcodecs = ["**/tests/test_*"]
@@ -44,3 +56,9 @@ exclude = ["wavpack_numcodecs.*.tests"]
44
56
 
45
57
  [tool.black]
46
58
  line-length = 120
59
+
60
+ [tool.pytest.ini_options]
61
+ markers = [
62
+ "numcodecs",
63
+ "zarr"
64
+ ]
@@ -1,7 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  import platform
3
3
  import shutil
4
- import os
5
4
  from pathlib import Path
6
5
  from subprocess import check_output
7
6
 
@@ -33,15 +32,30 @@ def get_build_extensions():
33
32
  runtime_library_dirs = ["/usr/local/lib/", "/usr/bin/"]
34
33
  else:
35
34
  print("Using shipped libraries")
36
- extra_link_args = [f"-L{SRC_FOLDER}/libraries/{LATEST_WAVPACK_VERSION}/linux-x86_64"]
35
+ wavpack_libraries_folder = Path(f"{SRC_FOLDER}/libraries/{LATEST_WAVPACK_VERSION}")
36
+ available_glibc_builds = [
37
+ p.name for p in wavpack_libraries_folder.iterdir() if p.is_dir() and "linux" in p.name
38
+ ]
39
+ available_glibc_versions = [
40
+ p[p.find("glibc") + len("glibc") :] for p in available_glibc_builds
41
+ ]
42
+
43
+ glibc_version = platform.libc_ver()[1]
44
+ if glibc_version not in available_glibc_versions:
45
+ raise RuntimeError(
46
+ f"Could not find a matching glibc version for the shipped libraries. "
47
+ f"Available builds: {available_glibc_versions}"
48
+ )
49
+ distr_folder = f"linux-x86_64-glibc{glibc_version}"
50
+
51
+ extra_link_args = [f"-L{wavpack_libraries_folder}/{distr_folder}"]
37
52
  runtime_library_dirs = [
38
- "$ORIGIN/libraries/{LATEST_WAVPACK_VERSION}/linux-x86_64",
39
- f"{SRC_FOLDER}/libraries/{LATEST_WAVPACK_VERSION}/linux-x86_64"
53
+ f"$ORIGIN/libraries/{LATEST_WAVPACK_VERSION}/{distr_folder}",
40
54
  ]
41
55
  # hack
42
56
  shutil.copy(
43
- f"{SRC_FOLDER}/libraries/{LATEST_WAVPACK_VERSION}/linux-x86_64/libwavpack.so",
44
- f"{SRC_FOLDER}/libraries/{LATEST_WAVPACK_VERSION}/linux-x86_64/libwavpack.so.1",
57
+ f"{wavpack_libraries_folder}/{distr_folder}/libwavpack.so",
58
+ f"{wavpack_libraries_folder}/{distr_folder}/libwavpack.so.1",
45
59
  )
46
60
  elif platform.system() == "Darwin":
47
61
  libraries = ["wavpack"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wavpack-numcodecs
3
- Version: 0.2.0
3
+ Version: 0.2.2
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,6 +10,8 @@ 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
13
15
  License-File: LICENSE
14
16
 
15
17
  [![PyPI version](https://badge.fury.io/py/wavpack-numcodecs.svg)](https://badge.fury.io/py/wavpack-numcodecs) ![tests](https://github.com/AllenNeuralDynamics/wavpack-numcodecs/actions/workflows/python-package-cython.yml/badge.svg)
@@ -37,6 +39,8 @@ For Linux and Windows, the package comes with pre-built binaries of the most
37
39
 
38
40
  On Linux, if an existing `wavpack` installation is found, the package will use it. Otherwise, it will use the pre-built binaries available in the `wavpack_numcodecs/libraries` folder.
39
41
 
42
+ On Windows, you need to have the "Microsoft C++ Build Tools" installed. You can download it and install it from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
43
+
40
44
  ## Installation
41
45
 
42
46
  Install via `pip`:
@@ -77,7 +81,7 @@ installed.
77
81
 
78
82
  # Developmers guide
79
83
 
80
- ## How to upgrade WavPack installation
84
+ ## How to upgrade WavPack installation and make a new release
81
85
 
82
86
  To upgrade the WavPack installation, you need to:
83
87
 
@@ -85,6 +89,8 @@ To upgrade the WavPack installation, you need to:
85
89
  2. Extract the content of the downloaded file.
86
90
  3. Create a new folder in the `src/wavpack_numcodecs/libraries` folder with the name of the version of the WavPack you are installing.
87
91
  4. Add the Windows .dll and .lib files to the `windows-x86_32` and `windows-x86_64` folders, respectievely.
88
- 5. Build the Linux shared library and copy the `.so` file to the `linux-x86_64` folder.
89
- 6. Set the `LATET_WAVPACK_VERSION` variable in the `setup.py` to match the version of the WavPack you are installing.
90
- 7. Update the version of the CI workflows in the `.github/workflows/` folder.
92
+ 5. Update the version of the CI workflows in the `.github/wavpack_latest_version.txt` file and set the `LATEST_WAVPACK_VERSION` variable in the `setup.py` to match the version of the WavPack you are installing.
93
+ 6. Make a PR with the changes and merge it.
94
+ 7. Manually trigger the `Build wavpack binaries` workflow in the Actions tab of the repository. This will automatically build the binaries for different Linux versions and make PRs with the changes to the `main` branch.
95
+ 8. Merge the automated PRs to update the Linux binaries.
96
+ 9. Update the version of the package in the `pyproject.toml` file and tag the repo to automatically make a new release.
@@ -1,8 +1,6 @@
1
1
  LICENSE
2
- MANIFEST.in
3
2
  README.md
4
3
  pyproject.toml
5
- requirements.txt
6
4
  setup.py
7
5
  src/wavpack_numcodecs/__init__.py
8
6
  src/wavpack_numcodecs/compat_ext.c
@@ -19,13 +17,19 @@ src/wavpack_numcodecs.egg-info/entry_points.txt
19
17
  src/wavpack_numcodecs.egg-info/requires.txt
20
18
  src/wavpack_numcodecs.egg-info/top_level.txt
21
19
  src/wavpack_numcodecs/include/wavpack/wavpack.h
22
- src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64/libwavpack.so
20
+ src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35/libwavpack.so
23
21
  src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.dll
22
+ src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.lib
24
23
  src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.dll
25
- src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64/libwavpack.so
26
- src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64/libwavpack.so.1
24
+ src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.lib
25
+ src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31/libwavpack.so
26
+ src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35/libwavpack.so
27
+ src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35/libwavpack.so.1
28
+ src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39/libwavpack.so
27
29
  src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.dll
30
+ src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.lib
28
31
  src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.dll
32
+ src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.lib
29
33
  src/wavpack_numcodecs/src/decoder.c
30
34
  src/wavpack_numcodecs/src/encoder.c
31
35
  tests/test_imports.py
@@ -0,0 +1,12 @@
1
+ numpy
2
+ numcodecs
3
+ packaging
4
+
5
+ [test]
6
+ pytest
7
+ zarr
8
+ Cython
9
+
10
+ [test_no_cython]
11
+ pytest
12
+ zarr
@@ -1,8 +0,0 @@
1
- include requirements.txt
2
- recursive-include wavpack_numcodecs *.c
3
- recursive-include wavpack_numcodecs *.pyx
4
- recursive-include wavpack_numcodecs *.pxd
5
- recursive-include wavpack_numcodecs *.lib
6
- recursive-include wavpack_numcodecs *.dll
7
- recursive-include wavpack_numcodecs/include *.h
8
- recursive-include wavpack_numcodecs/libraries *
@@ -1,3 +0,0 @@
1
- numpy
2
- numcodecs
3
- packaging
@@ -1,3 +0,0 @@
1
- numpy
2
- numcodecs
3
- packaging