<p dir="auto">When sticking heads together with some other python folks, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ogrisel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ogrisel">@ogrisel</a> and me recently found out that there is easy work-arounds so as to not check in the generated C code.<br>
The idea is that the distributed source package has the generated code, but the repository doesn't.<br>
When a dev wants to build, he needs cython (which I think is reasonable) and it will call cythonize.<br>
when doing <code class="notranslate">cdist</code> however, the C code is generated and will be shipped.</p>
<p dir="auto">Here is an example from <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shoyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shoyer">@shoyer</a>:<br>
<a href="https://github.com/shoyer/cyordereddict/blob/master/setup.py#L44">https://github.com/shoyer/cyordereddict/blob/master/setup.py#L44</a></p>
<p dir="auto">Basically if you're doing a release, add the C files, otherwise cythonize the pyx files.</p>
<p dir="auto">We should only generate C files for releases, and not distribute them with the repo, as scipy does.<br>
It's pretty easy to find out whether you are doing an dev build and cythonize or just build the c files that are shipped with the release.</p>