The following are keywords cx_Freeze.setup() accepts, some of them are inherited from setuptools.setup(). They allow configuring the build process for a Python distribution or adding metadata via a script placed at the root of your project.

The keyword executables is required, while all of inherited keywords are optional; you do not have to supply them unless you need the associated cx_Freeze feature.

Metadata and configuration supplied via setup() is complementary to (and may be overwritten by) the information present in setup.cfg and pyproject.toml. Some important metadata, such as name and version, may assume a default degenerate value if not specified.


cx_Freeze inherits keywords, metadata and configuration from setuptools, but is a sotware layer above, to generate executables.

Users are strongly encouraged to use a declarative config either via setup.cfg or pyproject.toml.


When using declarative configs via pyproject.toml, only the basic metadata are recognized.


A list of cx_Freeze.Executable, a list of map (with the same key/value as Executable) or a list of strings (with only the script key of Executable). Required.


A string specifying the name of the package.


A string specifying the version number of the package.


A string describing the package in a single line.


A string providing a longer description of the package.


A string specifying the content type is used for the long_description (e.g. text/markdown)


A string specifying the author of the package.


A string specifying the email address of the package author.


A string specifying the name of the current maintainer, if different from the author. Note that if the maintainer is provided, setuptools will use it as the author in PKG-INFO.


A string specifying the email address of the current maintainer, if different from the author.


A string specifying the URL for the package homepage.


A string specifying the URL to download the package.


A dictionary providing the default options for the setup script.


A string specifying the license of the package.


A list of glob patterns for license related files that should be included. If neither license_file nor license_files is specified, this option defaults to LICEN[CS]E*, COPYING*, NOTICE*, and AUTHORS*.


A list of strings or a comma-separated string providing descriptive meta-data.


An arbitrary map of URL names to hyperlinks, allowing more extensible documentation of where various resources can be found than the simple url and download_url options provide.