https://github.com/cython/cython/wiki/FAQ#what-is-the-difference-between-a-pxd-and-pxi-file-when-should-either-be-used says a pxd file sould be used whenever possible... but that interfaces to C library have usually been written into pxi files, in particular because "(as they are not associated to a specific module)".
The current situation in Sage is mixed. For example have a look at the sage/libs/flint folder. Any thought about that? I'm writing some new finite field implementations wrapping FLINT implem and like to do some templating, but juggling between pxi and pxd files depending on the exact types used is painful. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.