Files
aufbau2csv/venv3_12/Lib/site-packages/cx_Freeze/__init__.py

96 lines
2.9 KiB
Python

"""Create standalone executables from Python scripts, with the same performance
and is cross-platform.
"""
from __future__ import annotations
import sys
import setuptools
from cx_Freeze.command.build_exe import build_exe
from cx_Freeze.command.install import Install as install
from cx_Freeze.command.install_exe import install_exe
from cx_Freeze.executable import Executable, validate_executables
from cx_Freeze.finder import Module, ModuleFinder
from cx_Freeze.freezer import ConstantsModule, Freezer
__all__ = [
"build_exe",
"install",
"install_exe",
"setup",
"ConstantsModule",
"Executable",
"Freezer",
"Module",
"ModuleFinder",
"__version__",
]
if sys.platform == "win32":
from cx_Freeze.command.bdist_msi import bdist_msi
__all__ += ["bdist_msi"]
elif sys.platform == "darwin":
from cx_Freeze.command.bdist_dmg import bdist_dmg
from cx_Freeze.command.bdist_mac import bdist_mac
__all__ += ["bdist_dmg", "bdist_mac"]
else:
from cx_Freeze.command.bdist_appimage import bdist_appimage
from cx_Freeze.command.bdist_deb import bdist_deb
from cx_Freeze.command.bdist_rpm import bdist_rpm
__all__ += ["bdist_appimage", "bdist_deb", "bdist_rpm"]
__version__ = "7.2.4"
def setup(**attrs) -> setuptools.Distribution: # noqa: D103
cmdclass = attrs.setdefault("cmdclass", {})
if sys.platform == "win32":
cmdclass.setdefault("bdist_msi", bdist_msi)
elif sys.platform == "darwin":
cmdclass.setdefault("bdist_dmg", bdist_dmg)
cmdclass.setdefault("bdist_mac", bdist_mac)
else:
cmdclass.setdefault("bdist_appimage", bdist_appimage)
cmdclass.setdefault("bdist_deb", bdist_deb)
cmdclass.setdefault("bdist_rpm", bdist_rpm)
cmdclass.setdefault("build_exe", build_exe)
cmdclass.setdefault("install", install)
cmdclass.setdefault("install_exe", install_exe)
attrs.setdefault("executables", [])
return setuptools.setup(**attrs)
setup.__doc__ = setuptools.setup.__doc__
def plugin_install(dist: setuptools.Distribution) -> None:
"""Use a setuptools extension to customize Distribution options."""
if getattr(dist, "executables", None) is None:
return
validate_executables(dist, "executables", dist.executables)
# Disable package discovery (setuptools >= 61) and/or misuse of packages
dist.py_modules = []
dist.packages = []
# Add/update commands (provisional)
cmdclass = dist.cmdclass
cmdclass.setdefault("build_exe", build_exe)
cmdclass.setdefault("install", install)
cmdclass.setdefault("install_exe", install_exe)
# Add build_exe as subcommand of setuptools build (plugin)
build = dist.get_command_obj("build")
build.user_options.insert(
1,
("build-exe=", None, "[REMOVED]"),
)
build.sub_commands = [*build.sub_commands, ("build_exe", None)]
build.build_exe = None