Hello,
I was trying to understand the rationale behind the distribution instructions here:
https://cython.readthedocs.io/en/latest/src/reference/compilation.html#distributing-cython-modules , which seem to suggest that your source distribution should be shipped with both your cython artifacts and your generated source code.
The way I see it, there are 3 options for creating a source distribution package for a cython project:
1. distribute just the pyx/pxd and included (not generated) source files, source files are then generated by the cython build process
2. distribute only the generated and included source files, cython does not need to be invoked on the generated package
3. distribute everything, and give the user the choice of whether to invoke cython or not
What is the justification between the 3rd method being the recommended practice and what are the merits over the others?
My view (based on rather limited experience with cython) would be that 2) would be more appropriate. Given that the primary purpose (imo) of a source distribution is to allow it to be build on any platform, 2) does satisfy this requirement, and introduces the least dependencies on the build system to be able to build the package, as at this point it is just the source files that actually need to be built. Would it not make sense to ship these over the pyx/pxd files as the source distribution?
Thanks in advance,
Evgeny