setup#

Overview#

Classes#

CMakeExtension

Just a collection of attributes that describes an extension

build_ext

Abstract base class for defining command classes, the “worker bees”

ExtBuilder

Abstract base class for defining command classes, the “worker bees”

Function#

build(setup_kwargs)

This function is mandatory in order to build the extensions.

Attributes#

ext_modules

-

Classes#

class setup.CMakeExtension(name)#

Bases: distutils.core.Extension

Just a collection of attributes that describes an extension module and everything needed to build it (hopefully in a portable way, but there are hooks that let you be as unportable as you need).

Instance attributes:
namestring

the full name of the extension, including any packages – ie. not a filename or pathname, but Python dotted name

sources[string]

list of source filenames, relative to the distribution root (where the setup script lives), in Unix form (slash-separated) for portability. Source files may be C, C++, SWIG (.i), platform-specific resource files, or whatever else is recognized by the “build_ext” command as source for a Python extension.

include_dirs[string]

list of directories to search for C/C++ header files (in Unix form for portability)

define_macros[(namestring, valuestring|None)]

list of macros to define; each macro is defined using a 2-tuple, where ‘value’ is either the string to define it to or None to define it without a particular value (equivalent of “#define FOO” in source or -DFOO on Unix C compiler command line)

undef_macros[string]

list of macros to undefine explicitly

library_dirs[string]

list of directories to search for C/C++ libraries at link time

libraries[string]

list of library names (not filenames or paths) to link against

runtime_library_dirs[string]

list of directories to search for C/C++ libraries at run time (for shared extensions, this is when the extension is loaded)

extra_objects[string]

list of extra files to link with (eg. object files not implied by ‘sources’, static library that must be explicitly specified, binary resource files, etc.)

extra_compile_args[string]

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.

extra_link_args[string]

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’.

export_symbols[string]

list of symbols to be exported from a shared extension. Not used on all platforms, and not generally necessary for Python extensions, which typically export exactly one symbol: “init” + extension_name.

swig_opts[string]

any extra options to pass to SWIG if a source file has the .i extension.

depends[string]

list of files that the extension depends on

languagestring

extension language (i.e. “c”, “c++”, “objc”). Will be detected from the source extensions if not provided.

optionalboolean

specifies that a build failure in the extension should not abort the build process, but simply not install the failing extension.

class setup.build_ext(dist)#

Bases: setuptools.command.build_ext.build_ext

Abstract base class for defining command classes, the “worker bees” of the Distutils. A useful analogy for command classes is to think of them as subroutines with local variables called “options”. The options are “declared” in ‘initialize_options()’ and “defined” (given their final values, aka “finalized”) in ‘finalize_options()’, both of which must be defined by every command class. The distinction between the two is necessary because option values might come from the outside world (command line, config file, …), and any options dependent on other options must be computed after these outside influences have been processed – hence ‘finalize_options()’. The “body” of the subroutine, where it does all its work based on the values of its options, is the ‘run()’ method, which must also be implemented by every command class.

run()#

Build extensions in build directory, then copy if –inplace

build_cmake(ext)#
class setup.ExtBuilder(dist)#

Bases: build_ext

Abstract base class for defining command classes, the “worker bees” of the Distutils. A useful analogy for command classes is to think of them as subroutines with local variables called “options”. The options are “declared” in ‘initialize_options()’ and “defined” (given their final values, aka “finalized”) in ‘finalize_options()’, both of which must be defined by every command class. The distinction between the two is necessary because option values might come from the outside world (command line, config file, …), and any options dependent on other options must be computed after these outside influences have been processed – hence ‘finalize_options()’. The “body” of the subroutine, where it does all its work based on the values of its options, is the ‘run()’ method, which must also be implemented by every command class.

run()#

Build extensions in build directory, then copy if –inplace

build_extension(ext)#

Functions#

setup.build(setup_kwargs)#

This function is mandatory in order to build the extensions.

Attributes#

setup.ext_modules#