You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per the discussion in #321, there was a preference for distributing the generated C files in the PyPI sdist so that Cython is not a build-time dependency.
However, as part of the changes enabling C99 complex support in #300, some statements such as the following were added to the Cython code:
These types of statements occur multiple places in both _dwt.pyx and _swt.pyx.
This means that the C code that will be generated will only include these lines if C99 support was enabled. This is problematic in terms of distributing the C code in the sdist: e.g. if the generated code supports C99, but the user's compiler does not!
Unless there is an alternative solution, I think this means we will need to not distribute Cython-generated C files and add Cython as a build dependency in the next release.
The text was updated successfully, but these errors were encountered:
Hmm, that's unfortunate. The alternative solution is to let the generated code keep that if branch in all cases, not sure how easy that is to do though. Removing the relevant bits of setup.py seems straightforward; in the .pyx files it would be inserting the ifdefs as C code rather than a Python if statement.
If it's not easy then changing to a build time dependency for Cython is also not the end of the world though. We just have to think about what versions of Cython to require: <= latest tested or just leave empty. The latter is nicer for most users (won't force a Cython downgrade in some cases), however new Cython releases may then break our existing releases.
Per the discussion in #321, there was a preference for distributing the generated C files in the PyPI sdist so that Cython is not a build-time dependency.
However, as part of the changes enabling C99 complex support in #300, some statements such as the following were added to the Cython code:
pywt/pywt/_extensions/_dwt.pyx
Line 55 in a3526d4
These types of statements occur multiple places in both
_dwt.pyx
and_swt.pyx
.This means that the C code that will be generated will only include these lines if C99 support was enabled. This is problematic in terms of distributing the C code in the
sdist
: e.g. if the generated code supports C99, but the user's compiler does not!Unless there is an alternative solution, I think this means we will need to not distribute Cython-generated C files and add Cython as a build dependency in the next release.
The text was updated successfully, but these errors were encountered: