direct.dist.commands

from direct.dist.commands import bdist_apps, build_apps, egg2bam, finalize_distribution_options

Extends setuptools with the build_apps and bdist_apps commands.

See the Distributing Panda3D Applications section of the programming manual for information on how to use these commands.

Inheritance diagram

Inheritance diagram of direct.dist.commands

class bdist_apps(dist, **kw)[source]

Bases: Command

DEFAULT_INSTALLERS = {'android': ['aab'], 'manylinux1_i686': ['gztar'], 'manylinux1_x86_64': ['gztar'], 'manylinux2010_i686': ['gztar'], 'manylinux2010_x86_64': ['gztar'], 'manylinux2014_aarch64': ['gztar'], 'manylinux2014_armv7l': ['gztar'], 'manylinux2014_i686': ['gztar'], 'manylinux2014_ppc64': ['gztar'], 'manylinux2014_ppc64le': ['gztar'], 'manylinux2014_s390x': ['gztar'], 'manylinux2014_x86_64': ['gztar'], 'manylinux_2_24_aarch64': ['gztar'], 'manylinux_2_24_armv7l': ['gztar'], 'manylinux_2_24_i686': ['gztar'], 'manylinux_2_24_ppc64': ['gztar'], 'manylinux_2_24_ppc64le': ['gztar'], 'manylinux_2_24_s390x': ['gztar'], 'manylinux_2_24_x86_64': ['gztar']}
DEFAULT_INSTALLER_FUNCS = {'aab': <function create_aab>, 'bztar': <function create_bztar>, 'gztar': <function create_gztar>, 'nsis': <function create_nsis>, 'xztar': <function create_xztar>, 'zip': <function create_zip>}
description = 'bundle built Panda3D applications into distributable forms'
finalize_options(self)[source]
get_archive_basedir(self)[source]
get_current_platform(self)[source]
initialize_options(self)[source]
run(self)[source]
user_options = [('build-base=', None, 'directory to build applications in'), ('requirements-path=', None, 'path to requirements.txt file for pip'), ('platforms=', 'p', 'a list of platforms to build for'), ('dist-dir=', 'd', 'directory to put final built distributions in'), ('skip-build', None, 'skip rebuilding everything (for testing/debugging)')]
class build_apps(dist, **kw)[source]

Bases: Command

add_dependency(self, name, target_dir, search_path, referenced_by)[source]

Searches for the given DLL on the search path. If it exists, copies it to the target_dir.

build_assets(self, platform, data_dir)[source]

Builds the data files for the given platform.

build_binaries(self, platform, binary_dir, data_dir=None)[source]

Builds the binary data for the given platform.

bundle_macos_app(self, builddir)[source]

Bundle built runtime into a .app for macOS

copy(self, source_path, target_path)[source]

Copies source_path to target_path.

source_path may be located inside a .whl file.

copy_dependencies(self, target_path, target_dir, search_path, referenced_by)[source]

Copies the dependencies of target_path into target_dir.

copy_with_dependencies(self, source_path, target_path, search_path)[source]

Copies source_path to target_path. It also scans source_path for any dependencies, which are located along the given search_path and copied to the same directory as target_path.

source_path may be located inside a .whl file.

default_file_handlers = {'.egg': <function egg2bam>}
description = 'build Panda3D applications'
download_wheels(self, platform)[source]

Downloads wheels for the given platform using pip. This includes panda3d wheels. These are special wheels that are expected to contain a deploy_libs directory containing the Python runtime libraries, which will be added to sys.path.

expand_path(self, path, platform)[source]

Substitutes variables in the given path string.

finalize_options(self)[source]
generate_android_manifest(self, path)[source]
initialize_options(self)[source]
run(self)[source]
update_pe_resources(self, appname, runtime)[source]

Update resources (e.g., icons) in windows PE file

user_options = [('build-base=', None, 'directory to build applications in'), ('requirements-path=', None, 'path to requirements.txt file for pip'), ('platforms=', 'p', 'a list of platforms to build for')]
egg2bam(_build_cmd, srcpath, dstpath)[source]
finalize_distribution_options(dist)[source]

Entry point for compatibility with setuptools>=61, see #1394.