class_docstr: Wrapper that uses Cython
class_docstr_tok: ["Wrapper","that","uses","Cython"]
docstr: Instantiates a Cython code wrapper.
  
  The following optional parameters get passed to ``setuptools.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.
docstr_tok: ["Instantiates","a","Cython","code","wrapper",".","The","following","optional","parameters","get","passed","to","``","setuptools.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","."]
code: def __init__(self, *args, **kwargs):
      """Instantiates a Cython code wrapper.
  
      The following optional parameters get passed to ``setuptools.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.
  
      """
  
      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._cythonize_options
      )
  
      self._need_numpy = False
  
      super().__init__(*args, **kwargs)
  
imports: import sys
  import os
  import shutil
  import tempfile
  from subprocess import STDOUT, CalledProcessError, check_output
  from string import Template
  from warnings import warn
  from sympy.core.cache import cacheit
  from sympy.core.function import Lambda
  from sympy.core.relational import Eq
  from sympy.core.symbol import Dummy, Symbol
  from sympy.tensor.indexed import Idx, IndexedBase
  from sympy.utilities.codegen import make_routine, get_code_generator, OutputArgument, InOutArgument, InputArgument, CodeGenArgumentListError, Result, ResultBase, C99CodeGen
  from sympy.utilities.iterables import iterable
  from sympy.utilities.lambdify import implemented_function
  from sympy.utilities.decorator import doctest_depends_on
label_desc: Use image node_id 1 to create a new CythonCodeWrapper object from inherited base classes: CodeWrapper with example: obj = CythonCodeWrapper()