In Cython you can use Python modules/functions/variables as you normally would, dynamically and without declaring them. To integrate with C code you do need headers and type declarations. Other tools (ctypes, cffi) can load libraries dynamically, but I think that has its own tradeoffs.