'Instantiates a Cython code wrapper.
The following optional parameters get passed to ``distutils.Extension``
for building the Python extension module. Read its documentation to
learn more.
Parameters
include_dirs : [list of strings]
A list of directories to search for C/C++ header files (in Unix
form for portability).
library_dirs : [list of strings]
A list of directories to search for C/C++ libraries at link time.
libraries : [list of strings]
A list of library names (not filenames or paths) to link against.
extra_compile_args : [list of strings]
Any extra platform- and compiler-specific information to use when
compiling the source files in \'sources\'.  For platforms and
compilers where "command line" makes sense, this is typically a
list of command-line arguments, but for other platforms it could be
anything. Note that the attribute ``std_compile_flag`` will be
appended to this list.
extra_link_args : [list of strings]
Any extra platform- and compiler-specific information to use when
linking object files together to create the extension (or to create
a new static Python interpreter). Similar interpretation as for
\'extra_compile_args\'.
cythonize_options : [dictionary]
Keyword arguments passed on to cythonize.'

def __init__(self, *args, **kwargs):

    self._include_dirs = kwargs.pop('include_dirs', [])
    self._library_dirs = kwargs.pop('library_dirs', [])
    self._libraries = kwargs.pop('libraries', [])
    self._extra_compile_args = kwargs.pop('extra_compile_args', [])
    self._extra_compile_args.append(self.std_compile_flag)
    self._extra_link_args = kwargs.pop('extra_link_args', [])
    self._cythonize_options = kwargs.pop('cythonize_options', {})
    self._need_numpy = False
    super(CythonCodeWrapper, self).__init__(*args, **kwargs)
