(Edit: Avoid “premature” optimization advice. The recommendations for tooling in this answer are now outdated: PEP-0632.)
If it is at all possible, I’d suggest avoiding extension modules(C/cython) in the beginning. Get your all code written in Python, use a simple distutils
based configuration, run your tests using -m
(python -m mypkg.test.testall
, or whatever; import unittest
).
Once you get your project to a comfortable state, then start tackling some optimizations with cython and the extra project management that comes with that. distutils can build extension modules, so I’m not sure you’ll need make/scons..