[from #79]
Currently, we cythonize the .pyx sources to .c files at package install time, and then include those .c files in the uploaded sdist. That causes install-time issues for users working with newer versions of Python that have backwards incompatible internal API changes; a new version of Cython can compensate for those changes, but C code generated with an older version of Cython will fail.
We should consider either requiring that Cython be present at install time, or perhaps just using Cython if it's available and falling back to the C code if not. (Of those two solutions, I'd prefer the former as being simpler, and having fewer possible failure modes.)