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 = {'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'], 'manylinux_2_28_aarch64': ['gztar'], 'manylinux_2_28_ppc64le': ['gztar'], 'manylinux_2_28_s390x': ['gztar'], 'manylinux_2_28_x86_64': ['gztar']}
create_nsis(self, basename, build_dir, is_64bit)[source]
create_tarball(self, basename, build_dir, tar_compression)[source]
create_zip(self, basename, build_dir)[source]
description = 'bundle built Panda3D applications into distributable forms'
finalize_options(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_runtimes(self, platform, use_wheels)[source]

Builds the distributions 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]
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.