2.3. Ahead-of-Time compilation¶
- class numba.pycc.CC(extension_name, source_module=None)¶
An object used to generate compiled extensions from Numba-compiled Python functions. extension_name is the name of the extension to be generated. source_module is the Python module containing the functions; if None, it is inferred by examining the call stack.
CC instances have the following attributes and methods:
- name¶
(read-only attribute) The name of the extension module to be generated.
- output_dir¶
(read-write attribute) The directory the extension module will be written into. By default it is the directory the source_module is located in.
- output_file¶
(read-write attribute) The name of the file the extension module will be written to. By default this follows the Python naming convention for the current platform.
- verbose¶
(read-write attribute) If true, print out information while compiling the extension. False by default.
- @export(exported_name, sig)¶
Mark the decorated function for compilation with the signature sig. The compiled function will be exposed as exported_name in the generated extension module.
All exported names within a given CC instance must be distinct, otherwise an exception is raised.
- compile()¶
Compile all exported functions and generate the extension module as specified by output_dir and output_file.
- distutils_extension(**kwargs)¶
Return a distutils.core.Extension instance allowing to integrate generation of the extension module in a conventional setup.py-driven build process. The optional kwargs let you pass optional parameters to the Extension constructor.
In this mode of operation, it is not necessary to call compile() yourself. Also, output_dir and output_file will be ignored.