Previously, to maintain backward compatibility with Python 2, we set
'language_level' to sys.version_info.major, so the value would be 2
when building with Python 2, and 3 with Python 3. Now that Python 2
support has been dropped, we can hardwire it to "3".
This change also removes the comment about switching to
`language_level=3str` in the future. According to the Cython 3.1+
documentation,
> language_level=3 is now the default. language_level=3str has become a
> legacy alias.
see https://cython.readthedocs.io/en/3.1.x/src/changes.html.
For context, in Cython < 3.1, language_level=3 and language_level=3str
had different meanings:
- 3 = unprefixed strings are unicode
- 3str = unprefixed strings follow Python version (bytes in Py2, unicode
in Py3)
Since we no longer support Python 2, this distinction is irrelevant and
the comment can be safely removed.
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
**ext_args
)
],
- compiler_directives={'language_level': sys.version_info.major},
build_dir=os.environ.get("CYTHON_BUILD_DIR", None),
**cythonize_args
),
+# cython: language_level=3
# cython: embedsignature=True
#
# Shared object for librbdpy
+# cython: language_level=3
# cython: embedsignature=True, binding=True
"""
This module is a thin wrapper around librados.
**ext_args
)
],
- # use "3str" when Cython 3.0 is available
- compiler_directives={'language_level': sys.version_info.major},
compile_time_env=cython_constants,
build_dir=os.environ.get("CYTHON_BUILD_DIR", None),
),
+# cython: language_level=3
# cython: embedsignature=True
"""
This module is a thin wrapper around librbd.
sys.exit(1)
cmdclass = {}
-compiler_directives={'language_level': sys.version_info.major}
+compiler_directives = {}
try:
from Cython.Build import cythonize
from Cython.Distutils import build_ext
+# cython: language_level=3
"""
This module is a thin wrapper around rgw_file.
"""
**ext_args
)
],
- compiler_directives={'language_level': sys.version_info.major},
build_dir=os.environ.get("CYTHON_BUILD_DIR", None),
**cythonize_args
),