wavpack-numcodecs 0.2.0__tar.gz → 0.2.1__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 (37) hide show
  1. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs.egg-info → wavpack-numcodecs-0.2.1}/PKG-INFO +9 -5
  2. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/README.md +6 -4
  3. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/pyproject.toml +14 -2
  4. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/setup.py +20 -6
  5. wavpack-numcodecs-0.2.1/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31/libwavpack.so +0 -0
  6. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64 → wavpack-numcodecs-0.2.1/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35}/libwavpack.so +0 -0
  7. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs → wavpack-numcodecs-0.2.1/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35}/libwavpack.so.1 +0 -0
  8. wavpack-numcodecs-0.2.1/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39/libwavpack.so +0 -0
  9. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1/src/wavpack_numcodecs.egg-info}/PKG-INFO +9 -5
  10. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs.egg-info/SOURCES.txt +5 -3
  11. wavpack-numcodecs-0.2.1/src/wavpack_numcodecs.egg-info/requires.txt +12 -0
  12. wavpack-numcodecs-0.2.0/src/wavpack_numcodecs.egg-info/requires.txt +0 -3
  13. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/LICENSE +0 -0
  14. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/MANIFEST.in +0 -0
  15. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/requirements.txt +0 -0
  16. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/setup.cfg +0 -0
  17. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/__init__.py +0 -0
  18. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/compat_ext.c +0 -0
  19. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/compat_ext.pxd +0 -0
  20. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/compat_ext.pyx +0 -0
  21. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/globals.py +0 -0
  22. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/include/wavpack/wavpack.h +0 -0
  23. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64 → wavpack-numcodecs-0.2.1/src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35}/libwavpack.so +0 -0
  24. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.dll +0 -0
  25. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.dll +0 -0
  26. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.dll +0 -0
  27. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.dll +0 -0
  28. {wavpack-numcodecs-0.2.0/src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64 → wavpack-numcodecs-0.2.1/src/wavpack_numcodecs}/libwavpack.so.1 +0 -0
  29. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/src/decoder.c +0 -0
  30. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/src/encoder.c +0 -0
  31. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/wavpack.c +0 -0
  32. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs/wavpack.pyx +0 -0
  33. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs.egg-info/dependency_links.txt +0 -0
  34. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs.egg-info/entry_points.txt +0 -0
  35. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/src/wavpack_numcodecs.egg-info/top_level.txt +0 -0
  36. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/tests/test_imports.py +0 -0
  37. {wavpack-numcodecs-0.2.0 → wavpack-numcodecs-0.2.1}/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.1
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)
@@ -77,7 +79,7 @@ installed.
77
79
 
78
80
  # Developmers guide
79
81
 
80
- ## How to upgrade WavPack installation
82
+ ## How to upgrade WavPack installation and make a new release
81
83
 
82
84
  To upgrade the WavPack installation, you need to:
83
85
 
@@ -85,6 +87,8 @@ To upgrade the WavPack installation, you need to:
85
87
  2. Extract the content of the downloaded file.
86
88
  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
89
  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.
90
+ 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.
91
+ 6. Make a PR with the changes and merge it.
92
+ 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.
93
+ 8. Merge the automated PRs to update the Linux binaries.
94
+ 9. Update the version of the package in the `pyproject.toml` file and tag the repo to automatically make a new release.
@@ -63,7 +63,7 @@ installed.
63
63
 
64
64
  # Developmers guide
65
65
 
66
- ## How to upgrade WavPack installation
66
+ ## How to upgrade WavPack installation and make a new release
67
67
 
68
68
  To upgrade the WavPack installation, you need to:
69
69
 
@@ -71,6 +71,8 @@ To upgrade the WavPack installation, you need to:
71
71
  2. Extract the content of the downloaded file.
72
72
  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
73
  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.
74
+ 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.
75
+ 6. Make a PR with the changes and merge it.
76
+ 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.
77
+ 8. Merge the automated PRs to update the Linux binaries.
78
+ 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.1"
4
4
  description = "Numcodecs implementation of WavPack audio codec."
5
5
  authors = [
6
6
  {name = "Alessio Buccino", email = "alessiop.buccino@gmail.com"},
@@ -20,11 +20,23 @@ 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"
@@ -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.1
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)
@@ -77,7 +79,7 @@ installed.
77
79
 
78
80
  # Developmers guide
79
81
 
80
- ## How to upgrade WavPack installation
82
+ ## How to upgrade WavPack installation and make a new release
81
83
 
82
84
  To upgrade the WavPack installation, you need to:
83
85
 
@@ -85,6 +87,8 @@ To upgrade the WavPack installation, you need to:
85
87
  2. Extract the content of the downloaded file.
86
88
  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
89
  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.
90
+ 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.
91
+ 6. Make a PR with the changes and merge it.
92
+ 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.
93
+ 8. Merge the automated PRs to update the Linux binaries.
94
+ 9. Update the version of the package in the `pyproject.toml` file and tag the repo to automatically make a new release.
@@ -19,11 +19,13 @@ src/wavpack_numcodecs.egg-info/entry_points.txt
19
19
  src/wavpack_numcodecs.egg-info/requires.txt
20
20
  src/wavpack_numcodecs.egg-info/top_level.txt
21
21
  src/wavpack_numcodecs/include/wavpack/wavpack.h
22
- src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64/libwavpack.so
22
+ src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35/libwavpack.so
23
23
  src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.dll
24
24
  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
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
28
30
  src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.dll
29
31
  src/wavpack_numcodecs/src/decoder.c
@@ -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,3 +0,0 @@
1
- numpy
2
- numcodecs
3
- packaging