-
Notifications
You must be signed in to change notification settings - Fork 107
Closed
Description
Problem description
This was added in #519:
Lines 261 to 277 in 696e582
| @classmethod | |
| @property | |
| def default_level(cls): | |
| """Returns the default compression level of the underlying zstd library.""" | |
| return ZSTD_defaultCLevel() | |
| @classmethod | |
| @property | |
| def min_level(cls): | |
| """Returns the minimum compression level of the underlying zstd library.""" | |
| return ZSTD_minCLevel() | |
| @classmethod | |
| @property | |
| def max_level(cls): | |
| """Returns the maximum compression level of the underlying zstd library.""" | |
| return ZSTD_maxCLevel() |
However, as of Python 3.11, using classmethod on property was deprecated, and has been removed in Python 3.13:
https://docs.python.org/3.13/library/functions.html#classmethod
Deprecated since version 3.11, removed in version 3.13: Class methods can no longer wrap other descriptors such as property().
This causes tests to fail on Python 3.13:
____________________________ test_native_functions _____________________________
def test_native_functions():
# Note, these assertions might need to be changed for new versions of zstd
> assert Zstd.default_level == 3
E AssertionError: assert <bound method default_level of <class 'numcodecs.zstd.Zstd'>> == 3
E + where <bound method default_level of <class 'numcodecs.zstd.Zstd'>> = Zstd.default_level
../../BUILDROOT/usr/lib64/python3.13/site-packages/numcodecs/tests/test_zstd.py:93: AssertionError
https://kojipkgs.fedoraproject.org/work/tasks/9111/120819111/build.log
Version and installation information
Please provide the following:
- Value of
numcodecs.__version__0.13.0 - Version of Python interpreter 3.13.0b3
- Operating system (Linux/Windows/Mac) Fedora Rawhide
- How NumCodecs was installed (e.g., "using pip into virtual environment", or "using conda") from source
Metadata
Metadata
Assignees
Labels
No labels